@@ -6539,6 +6539,17 @@ which form (or forms) it is in:
6539
6539
<code>[Exposed=(Window,Worker)]</code>
6540
6540
</td>
6541
6541
</tr>
6542
+ <tr>
6543
+ <td>
6544
+ <emu-nt><a href="#prod-ExtendedAttributeWildcard">ExtendedAttributeWildcard</a></emu-nt>
6545
+ </td>
6546
+ <td>
6547
+ <dfn id="dfn-xattr-wildcard" for="extended attribute" export>takes a wildcard</dfn>
6548
+ </td>
6549
+ <td>
6550
+ <code>[Exposed=*]</code>
6551
+ </td>
6552
+ </tr>
6542
6553
6543
6554
</table>
6544
6555
@@ -6600,6 +6611,7 @@ five forms are allowed.
6600
6611
"="
6601
6612
">"
6602
6613
"?"
6614
+ "*"
6603
6615
"ByteString"
6604
6616
"DOMString"
6605
6617
"FrozenArray"
@@ -6659,6 +6671,11 @@ five forms are allowed.
6659
6671
identifier "=" identifier
6660
6672
</pre>
6661
6673
6674
+ <pre class="grammar" id="prod-ExtendedAttributeWildcard">
6675
+ ExtendedAttributeWildcard :
6676
+ identifier "=" "*"
6677
+ </pre>
6678
+
6662
6679
<pre class="grammar" id="prod-ExtendedAttributeIdentList">
6663
6680
ExtendedAttributeIdentList :
6664
6681
identifier "=" "(" IdentifierList ")"
@@ -8560,13 +8577,33 @@ it indicates that the construct is exposed
8560
8577
on that particular set of global interfaces.
8561
8578
8562
8579
The [{{Exposed}}] [=extended attribute=] must either
8563
- [=takes an identifier|take an identifier=] or
8564
- [=takes an identifier list|take an identifier list=].
8580
+ [=takes an identifier|take an identifier=],
8581
+ [=takes an identifier list|take an identifier list=] or
8582
+ [=takes a wildcard|take a wildcard=].
8565
8583
Each of the identifiers mentioned must be a [=global name=] and be unique.
8566
- This list of identifiers is known as the construct's
8567
- <dfn>own exposure set</dfn>.
8584
+
8585
+ The <dfn>own exposure set</dfn> is the set of [=global name=]s which
8586
+ [{{Exposed}}] is applied to.
8587
+
8588
+ If the [{{Exposed}}] [=extended attribute=]
8589
+ [=takes an identifier|take an identifier=] or
8590
+ [=takes an identifier list|take an identifier list=],
8591
+ the [=own exposure set=] is the list of identifiers.
8592
+ If the [{{Exposed}}] [=extended attribute=]
8593
+ [=takes a wildcard|take a wildcard=], the [=own exposure set=] is the
8594
+ the set of interfaces which have the [{{Global}}] extended attribute.
8595
+
8596
+ <p class="advisement">
8597
+ <code>[Exposed=*]</code> should be used with care. It is only appropriate
8598
+ when an interface does not expose significant new capabilities. If the
8599
+ interface may be restricted or disabled in some environments, it is
8600
+ recommended to list the globals explicitly.
8601
+ </p>
8568
8602
8569
8603
<div algorithm>
8604
+ * If the [{{Exposed}}] [=extended attribute=] [=takes a wildcard=], then the
8605
+ [=exposure set=] is the set of all interfaces which have a [{{Global}}]
8606
+ or [{{PrimaryGlobal}}] [=extended attribute=].
8570
8607
8571
8608
To get the <dfn id="dfn-exposure-set" export>exposure set</dfn> of a construct |C|,
8572
8609
run the following steps:
0 commit comments