0

Rename NoInterfaceObject to LegacyNoInterfaceObject.

This CL renames Web IDL |NoInterfaceObject| to |LegacyNoInterfaceObject|
to make its usage more clear.

Bug: 1072773
Change-Id: I41c604c3c9d1d6777717a4c32cd1294cad7f8ec6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2368622
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Commit-Queue: Zhuoyu Qian <zhuoyu.qian@samsung.com>
Cr-Commit-Position: refs/heads/master@{#803326}
This commit is contained in:
Zhuoyu Qian
2020-09-01 00:26:42 +00:00
committed by Commit Bot
parent 54d154ebd8
commit f5eccec110
122 changed files with 173 additions and 171 deletions
third_party/blink
perf_tests
parser
resources
renderer
bindings
core
modules
filesystem
font_access
gamepad
native_file_system
peerconnection
quota
speech
webdatabase
webgl
web_tests

@ -9206,7 +9206,7 @@ interface <dfn id=propertynodelist>PropertyNodeList</dfn> : <a href=#nodelist>No
particular to transfer ownership of unsharable or expensive
resources across worker boundaries.</p>
<pre class=idl>[NoInterfaceObject]
<pre class=idl>[LegacyNoInterfaceObject]
interface <dfn id=transferable>Transferable</dfn> { };</pre>
<div class=impl>
@ -10263,7 +10263,7 @@ interface <dfn id=htmldocument>HTMLDocument</dfn> {
factory method must also implement the
<code><a href=#xmldocumentloader>XMLDocumentLoader</a></code> interface:</p>
<pre class=idl>[NoInterfaceObject]
<pre class=idl>[LegacyNoInterfaceObject]
interface <dfn id=xmldocumentloader>XMLDocumentLoader</dfn> {
<!--SYNCLOAD attribute boolean <span title="dom-XMLDocumentLoader-async">async</span>;
--> boolean <a href=#dom-xmldocumentloader-load title=dom-XMLDocumentLoader-load>load</a>(DOMString url);
@ -68270,7 +68270,7 @@ NETWORK:
<h4 id=browser-state><span class=secno>6.6.10 </span>Browser state</h4>
<pre class=idl>[NoInterfaceObject]
<pre class=idl>[LegacyNoInterfaceObject]
interface <dfn id=navigatoronline>NavigatorOnLine</dfn> {
readonly attribute boolean <a href=#dom-navigator-online title=dom-navigator-onLine>onLine</a>;
};</pre>
@ -69429,7 +69429,7 @@ currently this is unnecessary: http://www.w3.org/Bugs/Public/show_bug.cgi?id=119
scripting language being used. It is represented in IDL as
follows:</p>
<pre class=idl>[Callback=FunctionOnly, NoInterfaceObject]
<pre class=idl>[Callback=FunctionOnly, LegacyNoInterfaceObject]
interface <dfn id=function>Function</dfn> {
any <a href=#dom-function-call title=dom-function-call>call</a>(any... arguments);
};</pre>
@ -69648,7 +69648,7 @@ interface <dfn id=function>Function</dfn> {
<!-- v2: actual binary support -->
<pre class=idl>[NoInterfaceObject]
<pre class=idl>[LegacyNoInterfaceObject]
interface <dfn id=windowbase64>WindowBase64</dfn> {
DOMString <a href=#dom-windowbase64-btoa title=dom-windowbase64-btoa>btoa</a>(DOMString btoa);
DOMString <a href=#dom-windowbase64-atob title=dom-windowbase64-atob>atob</a>(DOMString atob);
@ -69882,7 +69882,7 @@ interface <dfn id=windowbase64>WindowBase64</dfn> {
and <code title=dom-windowtimers-setInterval><a href=#dom-windowtimers-setinterval>setInterval()</a></code>
methods allow authors to schedule timer-based callbacks.</p>
<pre class=idl>[NoInterfaceObject]
<pre class=idl>[LegacyNoInterfaceObject]
interface <dfn id=windowtimers>WindowTimers</dfn> {
long <a href=#dom-windowtimers-settimeout title=dom-windowtimers-setTimeout>setTimeout</a>(Function handler, optional float timeout, any... args);
long <a href=#dom-windowtimers-settimeout title=dom-windowtimers-setTimeout>setTimeout</a>([AllowAny] DOMString handler, optional float timeout, any... args);
@ -70569,7 +70569,7 @@ setTimeout({ toString: function () {
</div>
<pre class=idl>[NoInterfaceObject] interface <dfn id=windowmodal>WindowModal</dfn> {
<pre class=idl>[LegacyNoInterfaceObject] interface <dfn id=windowmodal>WindowModal</dfn> {
readonly attribute any <a href=#dom-windowmodal-dialogarguments title=dom-WindowModal-dialogArguments>dialogArguments</a>;
attribute DOMString <a href=#dom-windowmodal-returnvalue title=dom-WindowModal-returnValue>returnValue</a>;
};</pre>
@ -70680,7 +70680,7 @@ setTimeout({ toString: function () {
<h5 id=client-identification><span class=secno>7.5.1.1 </span>Client identification</h5>
<pre class=idl>[NoInterfaceObject]
<pre class=idl>[LegacyNoInterfaceObject]
interface <dfn id=navigatorid>NavigatorID</dfn> {<!--
readonly attribute DOMString <span title="dom-navigator-appCodeName">appCodeName</span>;-->
readonly attribute DOMString <a href=#dom-navigator-appname title=dom-navigator-appName>appName</a>;
@ -70765,7 +70765,7 @@ interface <dfn id=navigatorid>NavigatorID</dfn> {<!--
<h5 id=custom-handlers><span class=secno>7.5.1.2 </span>Custom scheme and content handlers</h5>
<pre class=idl>[NoInterfaceObject]
<pre class=idl>[LegacyNoInterfaceObject]
interface <dfn id=navigatorcontentutils>NavigatorContentUtils</dfn> {
// content handler registration
void <a href=#dom-navigator-registerprotocolhandler title=dom-navigator-registerProtocolHandler>registerProtocolHandler</a>(DOMString scheme, DOMString url, DOMString title);
@ -71348,7 +71348,7 @@ interface <dfn id=navigatorcontentutils>NavigatorContentUtils</dfn> {
<h5 id=manually-releasing-the-storage-mutex><span class=secno>7.5.1.5 </span>Manually releasing the storage mutex</h5>
<pre class=idl>[NoInterfaceObject]
<pre class=idl>[LegacyNoInterfaceObject]
interface <dfn id=navigatorstorageutils>NavigatorStorageUtils</dfn> {
void <a href=#dom-navigator-yieldforstorageupdates title=dom-navigator-yieldForStorageUpdates>yieldForStorageUpdates</a>();
};</pre>
@ -73564,13 +73564,13 @@ DND-v3: <span>Blob</span> <span title="dom-DataTransferItem-getAsBlob">getAsBlo
DND-v4: void <span title="dom-DataTransferItem-getAsObject">getAsObject</span>(<span>FunctionObjectCallback</span> callback);-->
};
[Callback=FunctionOnly, NoInterfaceObject]
[Callback=FunctionOnly, LegacyNoInterfaceObject]
interface <dfn id=functionstringcallback>FunctionStringCallback</dfn> {
void <span title=dom-FunctionStringCallback-handleEvent>handleEvent</span>(DOMString data);
};<!--
// DND-v4:
[Callback=FunctionOnly, NoInterfaceObject]
[Callback=FunctionOnly, LegacyNoInterfaceObject]
interface <dfn>FunctionObjectCallback</dfn> {
void <span title="dom-FunctionObjectCallback-handleEvent">handleEvent</span>(DOMString data);
};--></pre>
@ -75140,18 +75140,18 @@ dictionary <dfn id=drageventinit>DragEventInit</dfn> : <a href=#mouseeventinit>M
<h3 id=obtaining-local-multimedia-content><span class=secno>9.2 </span>Obtaining local multimedia content</h3>
<pre class=idl>[NoInterfaceObject]
<pre class=idl>[LegacyNoInterfaceObject]
interface <dfn id=navigatorusermedia>NavigatorUserMedia</dfn> {
void <a href=#dom-navigator-getusermedia title=dom-navigator-getUserMedia>getUserMedia</a>(DOMString options, <a href=#navigatorusermediasuccesscallback>NavigatorUserMediaSuccessCallback</a>? successCallback, optional <a href=#navigatorusermediaerrorcallback>NavigatorUserMediaErrorCallback</a>? errorCallback);
};
<a href=#navigator>Navigator</a> implements <a href=#navigatorusermedia>NavigatorUserMedia</a>;
[Callback=FunctionOnly, NoInterfaceObject]
[Callback=FunctionOnly, LegacyNoInterfaceObject]
interface <dfn id=navigatorusermediasuccesscallback>NavigatorUserMediaSuccessCallback</dfn> {
void <span title=dom-NavigatorUserMediaSuccessCallback-handleEvent>handleEvent</span>(<a href=#localmediastream>LocalMediaStream</a> stream);
};
[NoInterfaceObject]<!-- this is based on PositionError in geolocation -->
[LegacyNoInterfaceObject]<!-- this is based on PositionError in geolocation -->
interface <dfn id=navigatorusermediaerror>NavigatorUserMediaError</dfn> {
const unsigned short <a href=#dom-navigatorusermediaerror-permission_denied title=dom-NavigatorUserMediaError-PERMISSION_DENIED>PERMISSION_DENIED</a> = 1;<!--
const unsigned short <span title="dom-NavigatorUserMediaError-UNAVAILABLE">UNAVAILABLE</span> = 2;
@ -75160,7 +75160,7 @@ interface <dfn id=navigatorusermediaerror>NavigatorUserMediaError</dfn> {
readonly attribute DOMString <span title="dom-NavigatorUserMediaError-message">message</span>;-->
};
[Callback=FunctionOnly, NoInterfaceObject]
[Callback=FunctionOnly, LegacyNoInterfaceObject]
interface <dfn id=navigatorusermediaerrorcallback>NavigatorUserMediaErrorCallback</dfn> {
void <span title=dom-NavigatorUserMediaSuccessCallback-handleEvent>handleEvent</span>(<a href=#navigatorusermediaerror>NavigatorUserMediaError</a> error);
};</pre>
@ -76086,7 +76086,7 @@ interface <dfn id=mediastreamtrack>MediaStreamTrack</dfn> {
void <a href=#dom-mediastreamrecorder-getrecordeddata title=dom-MediaStreamRecorder-getRecordedData>getRecordedData</a>(<a href=#blobcallback>BlobCallback</a>? callback);
};
[Callback=FunctionOnly, NoInterfaceObject]
[Callback=FunctionOnly, LegacyNoInterfaceObject]
interface <dfn id=blobcallback>BlobCallback</dfn> {
void <span title=dom-BlobCallback-handleEvent>handleEvent</span>(<a href=#blob>Blob</a> blob);
};</pre>
@ -76380,7 +76380,7 @@ interface <dfn id=peerconnection>PeerConnection</dfn> : <a href=#eventtarget>Eve
[TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onremovestream title=handler-PeerConnection-onremovestream>onremovestream</a>;
};
[Callback=FunctionOnly, NoInterfaceObject]
[Callback=FunctionOnly, LegacyNoInterfaceObject]
interface <dfn id=signalingcallback>SignalingCallback</dfn> {
void <span title=dom-SignalingCallback-handleEvent>handleEvent</span>(DOMString message, <a href=#peerconnection>PeerConnection</a> source);
};</pre>
@ -78641,7 +78641,7 @@ worker.port.postMessage({ foo: 'structured'; bar: ['data', 'also', 'possible']})
<h5 id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface><span class=secno>10.2.1.2 </span>Dedicated workers and the <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> interface</h5>
<pre class=idl>[Supplemental, NoInterfaceObject]
<pre class=idl>[Supplemental, LegacyNoInterfaceObject]
interface <dfn id=dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</dfn> : <a href=#workerglobalscope>WorkerGlobalScope</a> {
void <a href=#dom-dedicatedworkerglobalscope-postmessage title=dom-DedicatedWorkerGlobalScope-postMessage>postMessage</a>(any message, optional sequence&lt;<a href=#transferable>Transferable</a>&gt; transfer);<!--
<span>MessagePort</span> <span title="dom-DedicatedWorkerGlobalScope-startConversation">startConversation</span>(any message);-->
@ -78682,7 +78682,7 @@ interface <dfn id=dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</dfn> :
<h5 id=shared-workers-and-the-sharedworkerglobalscope-interface><span class=secno>10.2.1.3 </span>Shared workers and the <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> interface</h5>
<pre class=idl>[Supplemental, NoInterfaceObject]
<pre class=idl>[Supplemental, LegacyNoInterfaceObject]
interface <dfn id=sharedworkerglobalscope>SharedWorkerGlobalScope</dfn> : <a href=#workerglobalscope>WorkerGlobalScope</a> {
readonly attribute DOMString <a href=#dom-sharedworkerglobalscope-name title=dom-SharedWorkerGlobalScope-name>name</a>;
readonly attribute <a href=#applicationcache>ApplicationCache</a> <a href=#dom-sharedworkerglobalscope-applicationcache title=dom-SharedWorkerGlobalScope-applicationCache>applicationCache</a>;
@ -79180,7 +79180,7 @@ dictionary <dfn id=erroreventinit>ErrorEventInit</dfn> : <a href=#eventinit>Even
<h5 id=the-abstractworker-abstract-interface><span class=secno>10.2.7.1 </span>The <code><a href=#abstractworker>AbstractWorker</a></code> abstract interface</h5>
<pre class=idl>[Supplemental, NoInterfaceObject]
<pre class=idl>[Supplemental, LegacyNoInterfaceObject]
interface <dfn id=abstractworker>AbstractWorker</dfn> : <a href=#eventtarget>EventTarget</a> {
[TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-abstractworker-onerror title=handler-AbstractWorker-onerror>onerror</a>;
<!-- v2-onclose [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-AbstractWorker-onclose">onclose</span>; -->
@ -79560,7 +79560,7 @@ interface <dfn id=sharedworker>SharedWorker</dfn> : <a href=#abstractworker>Abst
<h3 id=apis-available-to-workers><span class=secno>10.3 </span>APIs available to workers</h3>
<pre class=idl>[NoInterfaceObject]
<pre class=idl>[LegacyNoInterfaceObject]
interface <dfn id=workerutils>WorkerUtils</dfn> {
void <a href=#dom-workerglobalscope-importscripts title=dom-WorkerGlobalScope-importScripts>importScripts</a>(DOMString... urls);
readonly attribute <a href=#workernavigator>WorkerNavigator</a> <a href=#dom-worker-navigator title=dom-worker-navigator>navigator</a>;
@ -79719,7 +79719,7 @@ interface <dfn id=workerutils>WorkerUtils</dfn> {
</ul><p class=note>These requirements do not override the requirements
defined by the Web IDL specification, in particular concerning the
visibility of interfaces annotated with the <code title="">[NoInterfaceObject]</code> extended attribute.</p>
visibility of interfaces annotated with the <code title="">[LegacyNoInterfaceObject]</code> extended attribute.</p>
<h4 id=worker-locations><span class=secno>10.3.4 </span>Worker locations</h4>
@ -82370,7 +82370,7 @@ interface <dfn id=messagechannel>MessageChannel</dfn> {
<h4 id=the-sessionstorage-attribute><span class=secno>12.2.2 </span>The <code title=dom-sessionStorage><a href=#dom-sessionstorage>sessionStorage</a></code> attribute</h4>
<pre class=idl>[NoInterfaceObject]
<pre class=idl>[LegacyNoInterfaceObject]
interface <dfn id=windowsessionstorage>WindowSessionStorage</dfn> {
readonly attribute <a href=#storage-0>Storage</a> <a href=#dom-sessionstorage title=dom-sessionStorage>sessionStorage</a>;
};
@ -82445,7 +82445,7 @@ interface <dfn id=windowsessionstorage>WindowSessionStorage</dfn> {
<h4 id=the-localstorage-attribute><span class=secno>12.2.3 </span>The <code title=dom-localStorage><a href=#dom-localstorage>localStorage</a></code> attribute</h4>
<pre class=idl>[NoInterfaceObject]
<pre class=idl>[LegacyNoInterfaceObject]
interface <dfn id=windowlocalstorage>WindowLocalStorage</dfn> {
readonly attribute <a href=#storage-0>Storage</a> <a href=#dom-localstorage title=dom-localStorage>localStorage</a>;
};

@ -248,11 +248,11 @@ Calling the `[EnforceRange]` version of `setColorEnforced()` with an out of rang
Standard: [Exposed](http://heycam.github.io/webidl/#Exposed)
Summary: Indicates on which global object or objects (e.g., Window, WorkerGlobalScope) the interface property is generated, i.e., in which global scope or scopes an interface exists. This is primarily of interest for the constructor, i.e., the [interface object Call method](https://heycam.github.io/webidl/#es-interface-call). If `[Exposed]` is not present or overridden by a standard extended attribute `[NoInterfaceObject]` (the value of the property on the global object corresponding to the interface is called the **interface object**), which results in no interface property being generated.
Summary: Indicates on which global object or objects (e.g., Window, WorkerGlobalScope) the interface property is generated, i.e., in which global scope or scopes an interface exists. This is primarily of interest for the constructor, i.e., the [interface object Call method](https://heycam.github.io/webidl/#es-interface-call). If `[Exposed]` is not present or overridden by a standard extended attribute `[LegacyNoInterfaceObject]` (the value of the property on the global object corresponding to the interface is called the **interface object**), which results in no interface property being generated.
As with `[NoInterfaceObject]` does not affect generated code for the interface itself, only the code for the corresponding global object. A partial interface is generated at build time, containing an attribute for each interface property on that global object.
As with `[LegacyNoInterfaceObject]` does not affect generated code for the interface itself, only the code for the corresponding global object. A partial interface is generated at build time, containing an attribute for each interface property on that global object.
All non-callback interfaces without `[NoInterfaceObject]` have a corresponding interface property on the global object. Note that in the Web IDL spec, callback interfaces with constants also have interface properties, but in Blink callback interfaces only have methods (no constants or attributes), so this is not applicable. `[Exposed]` can be used with different values to indicate on which global object or objects the property should be generated. Valid values are:
All non-callback interfaces without `[LegacyNoInterfaceObject]` have a corresponding interface property on the global object. Note that in the Web IDL spec, callback interfaces with constants also have interface properties, but in Blink callback interfaces only have methods (no constants or attributes), so this is not applicable. `[Exposed]` can be used with different values to indicate on which global object or objects the property should be generated. Valid values are:
* `Window`
* [Worker](http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#the-workerglobalscope-common-interface)
@ -264,7 +264,7 @@ For reference, see [ECMAScript 5.1: 15.1 The Global Object](http://www.ecma-inte
It is possible to have the global constructor generated on several interfaces by listing them, e.g. `[Exposed=(Window,WorkerGlobalScope)]`.
Usage: `[Exposed]` can be specified on interfaces that do not have the `[NoInterfaceObject]` extended attribute.
Usage: `[Exposed]` can be specified on interfaces that do not have the `[LegacyNoInterfaceObject]` extended attribute.
```webidl
[
@ -300,7 +300,7 @@ Standard: [HTMLConstructor](https://html.spec.whatwg.org/C/#html-element-constru
Summary: HTML Elements have special constructor behavior. Interface object of given interface with the `[HTMLConstructor]` attribute will have specific behavior when called.
Usage: Must take no arguments, and must not appear on anything other than an interface. It must appear once on an interface, and the interface cannot be annotated with `[Constructor]` or `[NoInterfaceObject]` extended attributes. It must not be used on a callback interface.
Usage: Must take no arguments, and must not appear on anything other than an interface. It must appear once on an interface, and the interface cannot be annotated with `[Constructor]` or `[LegacyNoInterfaceObject]` extended attributes. It must not be used on a callback interface.
### [LenientSetter] _(a)_
@ -377,32 +377,32 @@ Summary: Signals that a method that returns an object type always returns a new
When a method returns an interface type, this extended attribute generates a test in debug mode to ensure that no wrapper object for the returned DOM object exists yet. Also see `[DoNotTestNewObject]`. When a method returns a Promise, this extended attribute currently does nothing.
### [NoInterfaceObject] _(i)_
### [LegacyNoInterfaceObject] _(i)_
Standard: [NoInterfaceObject](https://heycam.github.io/webidl/#NoInterfaceObject)
Standard: [LegacyNoInterfaceObject](https://heycam.github.io/webidl/#NoInterfaceObject)
Summary: If the `[NoInterfaceObject]` extended attribute appears on an interface, it indicates that an interface object will not exist for the interface in the ECMAScript binding. See also the standard `[Exposed=xxx]` extended attribute; these two do _not_ change the generated code for the interface itself.
Summary: If the `[LegacyNoInterfaceObject]` extended attribute appears on an interface, it indicates that an interface object will not exist for the interface in the ECMAScript binding. See also the standard `[Exposed=xxx]` extended attribute; these two do _not_ change the generated code for the interface itself.
Note that every interface has a corresponding property on the ECMAScript global object, _except:_
* callback interfaces with no constants, and
* non-callback interface with the `[NoInterfaceObject]` extended attribute,
* non-callback interface with the `[LegacyNoInterfaceObject]` extended attribute,
Usage: `[NoInterfaceObject]` can be specified on interfaces.
Usage: `[LegacyNoInterfaceObject]` can be specified on interfaces.
```webidl
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface XXX {
...
};
```
Note that `[NoInterfaceObject]` **MUST** be specified on testing interfaces, as follows:
Note that `[LegacyNoInterfaceObject]` **MUST** be specified on testing interfaces, as follows:
```webidl
[
NoInterfaceObject // testing interfaces do not appear on global objects
LegacyNoInterfaceObject // testing interfaces do not appear on global objects
] interface TestingInterfaceX {
...
};

@ -65,6 +65,7 @@ HTMLConstructor
ImmutablePrototype
ImplementedAs=*
LegacyLenientThis
LegacyNoInterfaceObject
LegacyOverrideBuiltins
LegacyTreatAsPartialInterface
LegacyTreatNonObjectAsNull
@ -83,7 +84,6 @@ MeasureAs=*
NamedConstructor=*
NamedConstructor_CallWith=Document
NamedConstructor_RaisesException
NoInterfaceObject
NotEnumerable
PartialInterfaceImplementedAs=*
PermissiveDictionaryConversion

@ -4880,8 +4880,9 @@ def _make_property_entries_and_callback_defs(
for_world=world,
v8_callback_type=CodeGenContext.
V8_ACCESSOR_NAME_GETTER_CALLBACK)
elif "NoInterfaceObject" in exposed_construct.extended_attributes:
return # Skip due to [NoInterfaceObject].
elif ("LegacyNoInterfaceObject" in
exposed_construct.extended_attributes):
return # Skip due to [LegacyNoInterfaceObject].
else:
cgc = cg_context.make_copy(
exposed_construct=exposed_construct,
@ -5030,9 +5031,9 @@ def _make_install_prototype_object(cg_context):
nodes.extend([
TextNode("""\
// [Unscopable]
// 3.6.3. Interface prototype object
// 3.7.3. Interface prototype object
// https://heycam.github.io/webidl/#interface-prototype-object
// step 8. If interface has any member declared with the [Unscopable]
// step 10. If interface has any member declared with the [Unscopable]
// extended attribute, then:\
"""),
ListNode([
@ -5050,14 +5051,14 @@ bindings::InstallUnscopablePropertyNames(
"""),
])
if "NoInterfaceObject" in class_like.extended_attributes:
if "LegacyNoInterfaceObject" in class_like.extended_attributes:
nodes.append(
TextNode("""\
// [NoInterfaceObject]
// 3.6.3. Interface prototype object
// [LegacyNoInterfaceObject]
// 3.7.3. Interface prototype object
// https://heycam.github.io/webidl/#interface-prototype-object
// step 12. If the [NoInterfaceObject] extended attribute was not specified
// on interface, then:
// step 13. If the [LegacyNoInterfaceObject] extended attribute was not
// specified on interface, then:
//
// V8 defines "constructor" property on the prototype object by default.
${prototype_object}->Delete(

@ -83,12 +83,12 @@ def record_global_constructors(idl_filename):
interface_name = get_first_interface_name_from_idl(idl_file_contents)
# An interface property is produced for every non-callback interface
# that does not have [NoInterfaceObject].
# that does not have [LegacyNoInterfaceObject].
# http://heycam.github.io/webidl/#es-interfaces
if (not should_generate_impl_file_from_idl(idl_file_contents)
or is_non_legacy_callback_interface_from_idl(idl_file_contents)
or is_interface_mixin_from_idl(idl_file_contents)
or 'NoInterfaceObject' in extended_attributes):
or 'LegacyNoInterfaceObject' in extended_attributes):
return
exposed_arguments = get_interface_exposed_arguments(idl_file_contents)

@ -421,10 +421,11 @@ def interface_context(interface, interfaces, component_info):
# https://html.spec.whatwg.org/C/#html-element-constructors
if has_html_constructor:
if ('Constructor' in extended_attributes
or 'NoInterfaceObject' in extended_attributes):
raise Exception('[HTMLConstructor] cannot be specified with '
'[Constructor] or [NoInterfaceObject], or on '
'a mixin : %s' % interface.name)
or 'LegacyNoInterfaceObject' in extended_attributes):
raise Exception(
'[HTMLConstructor] cannot be specified with '
'[Constructor] or [LegacyNoInterfaceObject], or on '
'a mixin : %s' % interface.name)
includes.add('bindings/core/v8/v8_html_constructor.h')
# [NamedConstructor]

@ -33,9 +33,9 @@
enum FontFaceSetLoadStatus { "loading", "loaded" };
// TODO(foolip): This interface should have a constructor and thus not have
// [NoInterfaceObject]
// [LegacyNoInterfaceObject]
[
NoInterfaceObject,
LegacyNoInterfaceObject,
Exposed=(Window,Worker)
] interface FontFaceSet : EventTarget {
setlike<FontFace>;

@ -32,7 +32,7 @@
// TODO(foolip): Remove this interface. https://crbug.com/692839
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface StyleMedia {
[MeasureAs=StyleMediaType] readonly attribute DOMString type;
[MeasureAs=StyleMediaMatchMedium] boolean matchMedium(optional DOMString mediaquery = "undefined");

@ -5,7 +5,7 @@
// http://people.mozilla.org/~jorendorff/es6-draft.html#sec-iterator-interface
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface Iterator {
[CallWith=ScriptState, RaisesException] any next(optional any value);
};

@ -31,7 +31,7 @@
// constructable by web content at all, and so does not provide the usual
// EventInit pattern for Event construction.
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface ResourceProgressEvent : ProgressEvent {
readonly attribute DOMString url;
};

@ -5,7 +5,7 @@
// https://html.spec.whatwg.org/#cross-origin-opener-policies
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface CoopAccessViolationReportBody : ReportBody {
readonly attribute DOMString? sourceFile;
readonly attribute unsigned long? lineNumber;

@ -5,7 +5,7 @@
// https://www.w3.org/TR/CSP3/#cspviolationreportbody
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface CSPViolationReportBody : ReportBody {
readonly attribute USVString documentURL;
readonly attribute USVString? referrer;

@ -5,7 +5,7 @@
// https://wicg.github.io/reporting/#deprecation-report
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface DeprecationReportBody : ReportBody {
readonly attribute DOMString id;
[CallWith=ScriptState] readonly attribute object? anticipatedRemoval;

@ -5,7 +5,7 @@
// https://w3c.github.io/webappsec-feature-policy/document-policy.html#reporting
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface DocumentPolicyViolationReportBody : ReportBody {
readonly attribute DOMString featureId;
readonly attribute DOMString? sourceFile;

@ -5,7 +5,7 @@
// https://wicg.github.io/feature-policy/#reporting
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface FeaturePolicyViolationReportBody : ReportBody {
readonly attribute DOMString featureId;
readonly attribute DOMString? sourceFile;

@ -5,7 +5,7 @@
// https://wicg.github.io/reporting/#intervention-report
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface InterventionReportBody : ReportBody {
readonly attribute DOMString id;
readonly attribute DOMString message;

@ -5,7 +5,7 @@
// https://github.com/WICG/reporting/blob/master/EXPLAINER.md#reportingobserver---observing-reports-from-javascript
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface Report {
readonly attribute DOMString type;
readonly attribute DOMString url;

@ -5,7 +5,7 @@
// https://github.com/WICG/reporting/blob/master/EXPLAINER.md#reportingobserver---observing-reports-from-javascript
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface ReportBody {
[CallWith=ScriptState] object toJSON();
};

@ -5,7 +5,7 @@
// https://w3c.github.io/reporting/#test-report
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface TestReportBody : ReportBody {
readonly attribute DOMString message;
[CallWith=ScriptState] object toJSON();

@ -31,7 +31,7 @@
*/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface DevToolsHost {
float zoomFactor();

@ -29,7 +29,7 @@
*/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface InspectorOverlayHost {
void send(DOMString command);
};

@ -6,7 +6,7 @@
// implementation and it's not exposed to the Web. WebPagePopupImpl class
// enables this interface by provideContextFeaturesTo().
[
NoInterfaceObject,
LegacyNoInterfaceObject,
RuntimeEnabled=PagePopup
] interface ColorPagePopupController : PagePopupController {
void openEyeDropper();

@ -32,7 +32,7 @@
// implementations, and it's not exposed to the Web. WebPagePopupImpl class
// enables this interface by provideContextFeaturesTo().
[
NoInterfaceObject,
LegacyNoInterfaceObject,
RuntimeEnabled=PagePopup
] interface PagePopupController {
void setValueAndClosePopup(long numberValue, DOMString stringValue);

@ -7,7 +7,7 @@
// UnderlyingSinkBase, and a JavaScript object can then be generated
// automatically for use in initializing a WritableStream.
[
NoInterfaceObject
LegacyNoInterfaceObject
]
interface UnderlyingSinkBase {
[CallWith=ScriptState, RaisesException] Promise<void> start(any controller);

@ -8,7 +8,7 @@
// automatically for use in initializing a ReadableStream.
[
NoInterfaceObject
LegacyNoInterfaceObject
]
interface UnderlyingSourceBase {
[CallWith=ScriptState, ImplementedAs=startWrapper] Promise<void> start(any stream);

@ -32,7 +32,7 @@
// https://groups.google.com/a/chromium.org/d/msg/blink-dev/g5YRCGpC9vs/b4OJz71NmPwJ
[
Exposed=Window, NoInterfaceObject
Exposed=Window, LegacyNoInterfaceObject
] interface MemoryInfo {
[Measure] readonly attribute unsigned long long totalJSHeapSize;
[Measure] readonly attribute unsigned long long usedJSHeapSize;

@ -6,7 +6,7 @@
[
ImplementedAs=DOMArrayBuffer,
NoInterfaceObject
LegacyNoInterfaceObject
] interface ArrayBuffer {
readonly attribute unsigned long byteLength;
};

@ -6,7 +6,7 @@
[
ImplementedAs=DOMArrayBufferView,
NoInterfaceObject
LegacyNoInterfaceObject
] interface ArrayBufferView {
readonly attribute ArrayBuffer buffer;
readonly attribute unsigned long byteOffset;

@ -6,6 +6,6 @@
[
ImplementedAs=DOMBigInt64Array,
NoInterfaceObject
LegacyNoInterfaceObject
] interface BigInt64Array : ArrayBufferView {
};

@ -6,6 +6,6 @@
[
ImplementedAs=DOMBigUint64Array,
NoInterfaceObject
LegacyNoInterfaceObject
] interface BigUint64Array : ArrayBufferView {
};

@ -6,6 +6,6 @@
[
ImplementedAs=DOMFloat32Array,
NoInterfaceObject
LegacyNoInterfaceObject
] interface Float32Array : ArrayBufferView {
};

@ -6,6 +6,6 @@
[
ImplementedAs=DOMFloat64Array,
NoInterfaceObject
LegacyNoInterfaceObject
] interface Float64Array : ArrayBufferView {
};

@ -6,6 +6,6 @@
[
ImplementedAs=DOMInt16Array,
NoInterfaceObject
LegacyNoInterfaceObject
] interface Int16Array : ArrayBufferView {
};

@ -6,6 +6,6 @@
[
ImplementedAs=DOMInt32Array,
NoInterfaceObject
LegacyNoInterfaceObject
] interface Int32Array : ArrayBufferView {
};

@ -6,6 +6,6 @@
[
ImplementedAs=DOMInt8Array,
NoInterfaceObject
LegacyNoInterfaceObject
] interface Int8Array : ArrayBufferView {
};

@ -5,7 +5,7 @@
// Draft spec: https://github.com/lars-t-hansen/ecmascript_sharedmem
[
ImplementedAs=DOMSharedArrayBuffer,
NoInterfaceObject,
LegacyNoInterfaceObject,
RuntimeEnabled=SharedArrayBuffer
] interface SharedArrayBuffer {
readonly attribute unsigned long byteLength;

@ -6,6 +6,6 @@
[
ImplementedAs=DOMUint16Array,
NoInterfaceObject
LegacyNoInterfaceObject
] interface Uint16Array : ArrayBufferView {
};

@ -6,6 +6,6 @@
[
ImplementedAs=DOMUint32Array,
NoInterfaceObject
LegacyNoInterfaceObject
] interface Uint32Array : ArrayBufferView {
};

@ -6,6 +6,6 @@
[
ImplementedAs=DOMUint8Array,
NoInterfaceObject
LegacyNoInterfaceObject
] interface Uint8Array : ArrayBufferView {
};

@ -6,6 +6,6 @@
[
ImplementedAs=DOMUint8ClampedArray,
NoInterfaceObject
LegacyNoInterfaceObject
] interface Uint8ClampedArray : ArrayBufferView {
};

@ -26,7 +26,7 @@
// is what Gecko does. crbug.com/345529
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface XPathNSResolver {
DOMString? lookupNamespaceURI(optional DOMString prefix = "undefined");
};

@ -30,7 +30,7 @@
// https://wicg.github.io/entries-api/#api-directoryentry
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface DirectoryEntry : Entry {
DirectoryReader createReader();

@ -30,7 +30,7 @@
// https://www.w3.org/TR/2012/WD-file-system-api-20120417/#idl-def-DirectoryEntrySync
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface DirectoryEntrySync : EntrySync {
DirectoryReaderSync createReader();
[RaisesException] FileEntrySync getFile(DOMString? path, FileSystemFlags flags);

@ -30,7 +30,7 @@
// https://www.w3.org/TR/2012/WD-file-system-api-20120417/#idl-def-DirectoryReader
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface DirectoryReader {
// TODO(crbug.com/841185): |errorCallback| is not nullable in the spec.
[MeasureAs=DeprecatedFileSystemRead]

@ -30,7 +30,7 @@
// https://www.w3.org/TR/2012/WD-file-system-api-20120417/#idl-def-DirectoryReaderSync
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface DirectoryReaderSync {
[RaisesException] sequence<EntrySync> readEntries();
};

@ -32,7 +32,7 @@
// https://www.w3.org/TR/2012/WD-file-system-api-20120417/#idl-def-FileSystem
[
ActiveScriptWrappable,
NoInterfaceObject
LegacyNoInterfaceObject
] interface DOMFileSystem {
readonly attribute DOMString name;
readonly attribute DirectoryEntry root;

@ -30,7 +30,7 @@
// https://www.w3.org/TR/2012/WD-file-system-api-20120417/#idl-def-FileSystemSync
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface DOMFileSystemSync {
readonly attribute DOMString name;
readonly attribute DirectoryEntrySync root;

@ -30,7 +30,7 @@
// https://www.w3.org/TR/2012/WD-file-system-api-20120417/#idl-def-Entry
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface Entry {
readonly attribute boolean isFile;
readonly attribute boolean isDirectory;

@ -30,7 +30,7 @@
// https://www.w3.org/TR/2012/WD-file-system-api-20120417/#idl-def-EntrySync
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface EntrySync {
readonly attribute boolean isFile;
readonly attribute boolean isDirectory;

@ -30,7 +30,7 @@
// https://www.w3.org/TR/2012/WD-file-system-api-20120417/#idl-def-FileEntry
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface FileEntry : Entry {
// TODO(crbug.com/841185): |errorCallback| is not nullable in the spec.
void createWriter(FileWriterCallback successCallback,

@ -30,7 +30,7 @@
// https://www.w3.org/TR/2012/WD-file-system-api-20120417/#idl-def-FileEntrySync
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface FileEntrySync : EntrySync {
[RaisesException] File file();
[RaisesException] FileWriterSync createWriter();

@ -32,7 +32,7 @@
// https://www.w3.org/TR/2012/WD-file-writer-api-20120417/#idl-def-FileWriter
[
ActiveScriptWrappable,
NoInterfaceObject
LegacyNoInterfaceObject
] interface FileWriter : EventTarget {
// ready states
const unsigned short INIT = 0;

@ -30,7 +30,7 @@
// https://www.w3.org/TR/2012/WD-file-writer-api-20120417/#idl-def-FileWriterSync
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface FileWriterSync {
// synchronous write/modify methods
[RaisesException] void write(Blob data);

@ -30,7 +30,7 @@
// https://www.w3.org/TR/2012/WD-file-system-api-20120417/#idl-def-Metadata
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface Metadata {
[CallWith=ScriptState, Measure] readonly attribute object modificationTime;
readonly attribute unsigned long long size;

@ -8,7 +8,7 @@
// https://www.ecma-international.org/ecma-262/9.0/index.html#sec-asynciterator-interface
[
SecureContext,
NoInterfaceObject,
LegacyNoInterfaceObject,
RuntimeEnabled=FontAccess
] interface FontIterator {
[CallWith=ScriptState] Promise<any> next();

@ -24,7 +24,7 @@
*/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface GamepadList {
readonly attribute unsigned long length;
Gamepad item(optional unsigned long index = 0);

@ -6,7 +6,7 @@
// https://github.com/WICG/writable-files/blob/master/EXPLAINER.md
// https://www.ecma-international.org/ecma-262/9.0/index.html#sec-asynciterator-interface
[
NoInterfaceObject,
LegacyNoInterfaceObject,
ActiveScriptWrappable,
RuntimeEnabled=NativeFileSystem
] interface NativeFileSystemDirectoryIterator {

@ -24,7 +24,7 @@
*/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface RTCLegacyStatsReport {
[CallWith=ScriptState, Measure] readonly attribute object timestamp;
readonly attribute DOMString id;

@ -24,7 +24,7 @@
*/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface RTCStatsResponse {
sequence<RTCLegacyStatsReport> result();
RTCLegacyStatsReport namedItem(optional DOMString name = "undefined");

@ -24,7 +24,7 @@
*/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface DeprecatedStorageInfo {
const unsigned short TEMPORARY = 0;
const unsigned short PERSISTENT = 1;

@ -24,7 +24,7 @@
*/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface DeprecatedStorageQuota {
// TODO(crbug.com/841185): |errorCallback| is not nullable in the spec.
[Measure, CallWith=ScriptState] void queryUsageAndQuota(StorageUsageCallback usageCallback, optional StorageErrorCallback? errorCallback);

@ -29,7 +29,7 @@
LegacyWindowAlias=webkitSpeechGrammar,
LegacyWindowAlias_Measure,
LegacyWindowAlias_RuntimeEnabled=ScriptedSpeechRecognition,
NoInterfaceObject
LegacyNoInterfaceObject
] interface SpeechGrammar {
[Measure] constructor();
[URL,CallWith=ScriptState] attribute DOMString src;

@ -29,7 +29,7 @@
LegacyWindowAlias=webkitSpeechGrammarList,
LegacyWindowAlias_Measure,
LegacyWindowAlias_RuntimeEnabled=ScriptedSpeechRecognition,
NoInterfaceObject
LegacyNoInterfaceObject
] interface SpeechGrammarList {
[Measure] constructor();
readonly attribute unsigned long length;

@ -30,7 +30,7 @@
LegacyWindowAlias=webkitSpeechRecognition,
LegacyWindowAlias_Measure,
LegacyWindowAlias_RuntimeEnabled=ScriptedSpeechRecognition,
NoInterfaceObject
LegacyNoInterfaceObject
] interface SpeechRecognition : EventTarget {
[CallWith=ExecutionContext, Measure] constructor();
// recognition parameters

@ -26,7 +26,7 @@
// https://w3c.github.io/speech-api/#speechrecognitionalternative
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface SpeechRecognitionAlternative {
readonly attribute DOMString transcript;
readonly attribute float confidence;

@ -29,7 +29,7 @@
LegacyWindowAlias=webkitSpeechRecognitionError,
LegacyWindowAlias_Measure,
LegacyWindowAlias_RuntimeEnabled=ScriptedSpeechRecognition,
NoInterfaceObject
LegacyNoInterfaceObject
] interface SpeechRecognitionErrorEvent : Event {
constructor(DOMString type, optional SpeechRecognitionErrorEventInit eventInitDict = {});
readonly attribute DOMString error;

@ -29,7 +29,7 @@
LegacyWindowAlias=webkitSpeechRecognitionEvent,
LegacyWindowAlias_Measure,
LegacyWindowAlias_RuntimeEnabled=ScriptedSpeechRecognition,
NoInterfaceObject
LegacyNoInterfaceObject
] interface SpeechRecognitionEvent : Event {
constructor(DOMString type, optional SpeechRecognitionEventInit initDict = {});
readonly attribute unsigned long resultIndex;

@ -26,7 +26,7 @@
// https://w3c.github.io/speech-api/#speechrecognitionresult
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface SpeechRecognitionResult {
readonly attribute unsigned long length;
getter SpeechRecognitionAlternative item(unsigned long index);

@ -26,7 +26,7 @@
// https://w3c.github.io/speech-api/#speechrecognitionresultlist
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface SpeechRecognitionResultList {
readonly attribute unsigned long length;
getter SpeechRecognitionResult item(unsigned long index);

@ -26,7 +26,7 @@
// https://w3c.github.io/speech-api/#speechsynthesis
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface SpeechSynthesis : EventTarget {
readonly attribute boolean pending;
readonly attribute boolean speaking;

@ -26,7 +26,7 @@
// https://w3c.github.io/speech-api/#speechsynthesisvoice
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface SpeechSynthesisVoice {
readonly attribute DOMString voiceURI;
readonly attribute DOMString name;

@ -28,7 +28,7 @@
// https://www.w3.org/TR/webdatabase/#database
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface Database {
readonly attribute DOMString version;
// TODO(crbug.com/841185): |callback|, |errorCallback|, and

@ -28,7 +28,7 @@
// https://www.w3.org/TR/webdatabase/#sqlerror
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface SQLError {
readonly attribute unsigned long code;
readonly attribute DOMString message;

@ -28,7 +28,7 @@
// https://www.w3.org/TR/webdatabase/#sqlresultset
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface SQLResultSet {
readonly attribute SQLResultSetRowList rows;

@ -28,7 +28,7 @@
// https://www.w3.org/TR/webdatabase/#sqlresultsetrowlist
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface SQLResultSetRowList {
readonly attribute unsigned long length;
[RaisesException, CallWith=ScriptState] getter any item(unsigned long index);

@ -31,7 +31,7 @@ typedef sequence<any> ObjectArray;
// https://www.w3.org/TR/webdatabase/#sqltransaction
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface SQLTransaction {
// The spec defines |arguments| to be an "optional ObjectArray" though it defines the
// behavior when null is being passed.

@ -32,7 +32,7 @@
[
DoNotCheckConstants,
NoInterfaceObject
LegacyNoInterfaceObject
] interface ANGLEInstancedArrays {
const unsigned long VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE;

@ -6,7 +6,7 @@
[
DoNotCheckConstants,
NoInterfaceObject
LegacyNoInterfaceObject
] interface EXTBlendMinMax {
const unsigned long MIN_EXT = 0x8007;
const unsigned long MAX_EXT = 0x8008;

@ -5,6 +5,6 @@
// https://www.khronos.org/registry/webgl/extensions/EXT_color_buffer_float/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface EXTColorBufferFloat {
};

@ -26,6 +26,6 @@
// https://www.khronos.org/registry/webgl/extensions/EXT_color_buffer_half_float
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface EXTColorBufferHalfFloat {
};

@ -8,7 +8,7 @@ typedef unsigned long long GLuint64EXT;
[
DoNotCheckConstants,
NoInterfaceObject
LegacyNoInterfaceObject
] interface EXTDisjointTimerQuery {
const GLenum QUERY_COUNTER_BITS_EXT = 0x8864;
const GLenum CURRENT_QUERY_EXT = 0x8865;

@ -6,7 +6,7 @@
[
DoNotCheckConstants,
NoInterfaceObject
LegacyNoInterfaceObject
] interface EXTDisjointTimerQueryWebGL2 {
const GLenum QUERY_COUNTER_BITS_EXT = 0x8864;
const GLenum TIME_ELAPSED_EXT = 0x88BF;

@ -5,6 +5,6 @@
// https://www.khronos.org/registry/webgl/extensions/EXT_float_blend/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface EXTFloatBlend {
};

@ -26,6 +26,6 @@
// https://www.khronos.org/registry/webgl/extensions/EXT_frag_depth/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface EXTFragDepth {
};

@ -5,6 +5,6 @@
// https://www.khronos.org/registry/webgl/extensions/EXT_shader_texture_lod/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface EXTShaderTextureLOD {
};

@ -5,7 +5,7 @@
// https://www.khronos.org/registry/webgl/extensions/EXT_sRGB/
[
NoInterfaceObject,
LegacyNoInterfaceObject,
DoNotCheckConstants
] interface EXTsRGB {
const unsigned long SRGB_EXT = 0x8C40;

@ -5,7 +5,7 @@
// https://www.khronos.org/registry/webgl/extensions/EXT_texture_compression_bptc/
[
NoInterfaceObject,
LegacyNoInterfaceObject,
DoNotCheckConstants
] interface EXTTextureCompressionBPTC {
const unsigned long COMPRESSED_RGBA_BPTC_UNORM_EXT = 0x8E8C;

@ -5,7 +5,7 @@
// https://www.khronos.org/registry/webgl/extensions/EXT_texture_compression_rgtc/
[
NoInterfaceObject,
LegacyNoInterfaceObject,
DoNotCheckConstants
] interface EXTTextureCompressionRGTC {
const unsigned long COMPRESSED_RED_RGTC1_EXT = 0x8DBB;

@ -26,7 +26,7 @@
// https://www.khronos.org/registry/webgl/extensions/EXT_texture_filter_anisotropic/
[
NoInterfaceObject,
LegacyNoInterfaceObject,
DoNotCheckConstants
] interface EXTTextureFilterAnisotropic {
const unsigned long TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE;

@ -5,7 +5,7 @@
// https://www.khronos.org/registry/webgl/extensions/EXT_texture_norm16/
[
NoInterfaceObject,
LegacyNoInterfaceObject,
DoNotCheckConstants
] interface EXTTextureNorm16 {
const unsigned long R16_EXT = 0x822A;

@ -26,7 +26,7 @@
// https://www.khronos.org/registry/webgl/extensions/KHR_parallel_shader_compile/
[
NoInterfaceObject,
LegacyNoInterfaceObject,
DoNotCheckConstants
] interface KHRParallelShaderCompile {
const GLenum COMPLETION_STATUS_KHR = 0x91B1;

@ -5,7 +5,7 @@
// https://www.khronos.org/registry/webgl/extensions/OES_draw_buffers_indexed/
[
NoInterfaceObject,
LegacyNoInterfaceObject,
DoNotCheckConstants
] interface OESDrawBuffersIndexed {
void enableiOES(GLenum target, GLuint index);

@ -26,6 +26,6 @@
// https://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface OESElementIndexUint {
};

@ -5,6 +5,6 @@
// https://www.khronos.org/registry/webgl/extensions/OES_fbo_render_mipmap/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface OESFboRenderMipmap {
};

@ -26,7 +26,7 @@
// https://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/
[
NoInterfaceObject,
LegacyNoInterfaceObject,
DoNotCheckConstants
] interface OESStandardDerivatives {
const unsigned long FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B;

@ -26,6 +26,6 @@
// https://www.khronos.org/registry/webgl/extensions/OES_texture_float/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface OESTextureFloat {
};

@ -26,6 +26,6 @@
// https://www.khronos.org/registry/webgl/extensions/OES_texture_float_linear/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface OESTextureFloatLinear {
};

@ -26,7 +26,7 @@
// https://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/
[
NoInterfaceObject,
LegacyNoInterfaceObject,
DoNotCheckConstants
] interface OESTextureHalfFloat {
const GLenum HALF_FLOAT_OES = 0x8D61;

@ -26,6 +26,6 @@
// https://www.khronos.org/registry/webgl/extensions/OES_texture_half_float_linear/
[
NoInterfaceObject
LegacyNoInterfaceObject
] interface OESTextureHalfFloatLinear {
};

@ -27,7 +27,7 @@
[
DoNotCheckConstants,
NoInterfaceObject
LegacyNoInterfaceObject
] interface OESVertexArrayObject {
const unsigned long VERTEX_ARRAY_BINDING_OES = 0x85B5;

Some files were not shown because too many files have changed in this diff Show More