@@ -1012,12 +1012,12 @@ The following extended attributes are applicable to interfaces:
1012
1012
[{{LegacyWindowAlias}}],
1013
1013
[{{NamedConstructor}}],
1014
1014
[{{NoInterfaceObject}}],
1015
- [{{OverrideBuiltins }}], and
1015
+ [{{LegacyOverrideBuiltIns }}], and
1016
1016
[{{SecureContext}}].
1017
1017
1018
1018
The following extended attributes are applicable to [=partial interfaces=]:
1019
1019
[{{Exposed}}],
1020
- [{{OverrideBuiltins }}], and
1020
+ [{{LegacyOverrideBuiltIns }}], and
1021
1021
[{{SecureContext}}].
1022
1022
1023
1023
[=Interfaces=] which are not annotated
@@ -9457,10 +9457,10 @@ used on an [=interface=], then:
9457
9457
* The interface must not define a [=named property setter=].
9458
9458
* The interface must not define [=indexed property getters=] or [=indexed property setter|setters=].
9459
9459
* The interface must not define a [=constructor operation=].
9460
- * The interface must not also be declared with the [{{OverrideBuiltins }}]
9460
+ * The interface must not also be declared with the [{{LegacyOverrideBuiltIns }}]
9461
9461
extended attribute.
9462
9462
* The interface must not [=interface/inherit=] from another interface with the
9463
- [{{OverrideBuiltins }}] extended attribute.
9463
+ [{{LegacyOverrideBuiltIns }}] extended attribute.
9464
9464
* Any other interface must not [=interface/inherit=] from it.
9465
9465
9466
9466
If [{{Global}}] is specified on
@@ -10159,29 +10159,29 @@ for the specific requirements that the use of
10159
10159
</div>
10160
10160
10161
10161
10162
- <h4 id="OverrideBuiltins " extended-attribute lt="OverrideBuiltins">[OverrideBuiltins ]</h4>
10162
+ <h4 id="LegacyOverrideBuiltIns " extended-attribute lt="LegacyOverrideBuiltIns" oldids=" OverrideBuiltins">[LegacyOverrideBuiltIns ]</h4>
10163
10163
10164
10164
<div class="advisement">
10165
10165
10166
- The [{{OverrideBuiltins }}] [=extended attribute=] is an undesirable feature.
10166
+ The [{{LegacyOverrideBuiltIns }}] [=extended attribute=] is an undesirable feature.
10167
10167
It exists only so that legacy Web platform features can be specified.
10168
10168
It should not be used in specifications
10169
10169
unless required to specify the behavior of legacy APIs,
10170
10170
or for consistency with these APIs.
10171
10171
Editors who wish to use this feature are strongly advised to discuss this
10172
- by <a href="https://github.com/heycam/webidl/issues/new?title=Intent%20to%20use%20[OverrideBuiltins ]">filing an issue</a>
10172
+ by <a href="https://github.com/heycam/webidl/issues/new?title=Intent%20to%20use%20[LegacyOverrideBuiltIns ]">filing an issue</a>
10173
10173
before proceeding.
10174
10174
10175
10175
<small class="non-normative">
10176
- The [{{OverrideBuiltins }}] [=extended attribute=] appears on the
10176
+ The [{{LegacyOverrideBuiltIns }}] [=extended attribute=] appears on the
10177
10177
{{DOMStringMap}},
10178
10178
{{Document}}, and
10179
10179
{{HTMLFormElement}} [=interfaces=]. [[HTML]]
10180
10180
</small>
10181
10181
10182
10182
</div>
10183
10183
10184
- If the [{{OverrideBuiltins }}]
10184
+ If the [{{LegacyOverrideBuiltIns }}]
10185
10185
[=extended attribute=]
10186
10186
appears on an [=interface=],
10187
10187
it indicates that for a [=legacy platform object=] implementing the interface,
@@ -10195,7 +10195,7 @@ This is in contrast to the usual behavior, which is for named properties
10195
10195
to be exposed only if there is no property with the
10196
10196
same name on the object itself or somewhere on its prototype chain.
10197
10197
10198
- The [{{OverrideBuiltins }}]
10198
+ The [{{LegacyOverrideBuiltIns }}]
10199
10199
extended attribute must
10200
10200
[=takes no arguments|take no arguments=]
10201
10201
and must not appear on an interface
@@ -10207,14 +10207,14 @@ definition, then that partial interface definition must
10207
10207
be the part of the interface definition that defines
10208
10208
the [=named property getter=].
10209
10209
10210
- If the [{{OverrideBuiltins }}] extended attribute is specified on a
10210
+ If the [{{LegacyOverrideBuiltIns }}] extended attribute is specified on a
10211
10211
[=partial interface=] definition, it is considered to appear on the
10212
10212
[=interface=] itself.
10213
10213
10214
10214
See [[#es-legacy-platform-objects]]
10215
10215
and [[#legacy-platform-object-defineownproperty]]
10216
10216
for the specific requirements that the use of
10217
- [{{OverrideBuiltins }}] entails.
10217
+ [{{LegacyOverrideBuiltIns }}] entails.
10218
10218
10219
10219
<div class="example">
10220
10220
@@ -10231,7 +10231,7 @@ for the specific requirements that the use of
10231
10231
};
10232
10232
10233
10233
[Exposed=Window,
10234
- OverrideBuiltins ]
10234
+ LegacyOverrideBuiltIns ]
10235
10235
interface StringMap2 {
10236
10236
readonly attribute unsigned long length;
10237
10237
getter DOMString lookup(DOMString key);
@@ -13432,7 +13432,7 @@ Additionally, [=legacy platform objects=] have internal methods as defined in:
13432
13432
and |P| is not an [=unforgeable property name=]
13433
13433
of |O|, then:
13434
13434
1. Let |creating| be true if |P| is not a [=supported property name=], and false otherwise.
13435
- 1. If |O| [=implements=] an interface with the [{{OverrideBuiltins }}]
13435
+ 1. If |O| [=implements=] an interface with the [{{LegacyOverrideBuiltIns }}]
13436
13436
[=extended attribute=] or |O| does not have an own property
13437
13437
named |P|, then:
13438
13438
1. If |creating| is false and |O| does not implement an
@@ -13555,7 +13555,7 @@ internal method as follows.
13555
13555
The <dfn id="dfn-named-property-visibility" export>named property visibility algorithm</dfn>
13556
13556
is used to determine if a given named property is exposed on an object.
13557
13557
Some named properties are not exposed on an object depending on whether
13558
- the [{{OverrideBuiltins }}] [=extended attribute=] was used.
13558
+ the [{{LegacyOverrideBuiltIns }}] [=extended attribute=] was used.
13559
13559
The algorithm operates as follows, with property name |P| and object |O|:
13560
13560
13561
13561
1. If |P| is not a [=supported property name=] of |O|, then return false.
@@ -13565,7 +13565,7 @@ internal method as follows.
13565
13565
because in practice those are always set up before objects have any supported property names,
13566
13566
and once set up will make the corresponding named properties invisible.
13567
13567
13568
- 1. If |O| [=implements=] an interface that has the [{{OverrideBuiltins }}]
13568
+ 1. If |O| [=implements=] an interface that has the [{{LegacyOverrideBuiltIns }}]
13569
13569
[=extended attribute=], then return true.
13570
13570
1. Let |prototype| be |O|.\[[GetPrototypeOf]]().
13571
13571
1. While |prototype| is not null:
@@ -13581,10 +13581,10 @@ internal method as follows.
13581
13581
13582
13582
1. Indexed properties.
13583
13583
1. Own properties, including unforgeable attributes and operations.
13584
- 1. Then, if [{{OverrideBuiltins }}]:
13584
+ 1. Then, if [{{LegacyOverrideBuiltIns }}]:
13585
13585
1. Named properties.
13586
13586
1. Properties from the prototype chain.
13587
- 1. Otherwise, if not [{{OverrideBuiltins }}]:
13587
+ 1. Otherwise, if not [{{LegacyOverrideBuiltIns }}]:
13588
13588
1. Properties from the prototype chain.
13589
13589
1. Named properties.
13590
13590
</div>
0 commit comments