@@ -6539,6 +6539,17 @@ which form (or forms) it is in:
65396539 <code>[Exposed=(Window,Worker)]</code>
65406540 </td>
65416541 </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>
65426553
65436554</table>
65446555
@@ -6600,6 +6611,7 @@ five forms are allowed.
66006611 "="
66016612 ">"
66026613 "?"
6614+ "*"
66036615 "ByteString"
66046616 "DOMString"
66056617 "FrozenArray"
@@ -6659,6 +6671,11 @@ five forms are allowed.
66596671 identifier "=" identifier
66606672</pre>
66616673
6674+ <pre class="grammar" id="prod-ExtendedAttributeWildcard">
6675+ ExtendedAttributeWildcard :
6676+ identifier "=" "*"
6677+ </pre>
6678+
66626679<pre class="grammar" id="prod-ExtendedAttributeIdentList">
66636680 ExtendedAttributeIdentList :
66646681 identifier "=" "(" IdentifierList ")"
@@ -8560,14 +8577,30 @@ it indicates that the construct is exposed
85608577on that particular set of global interfaces.
85618578
85628579The [{{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=].
85658583Each 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>.
85688584
8569- <div algorithm>
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+ set of interfaces which have the [{{Global}}] extended attribute.
85708595
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>
8602+
8603+ <div algorithm>
85718604 To get the <dfn id="dfn-exposure-set" export>exposure set</dfn> of a construct |C|,
85728605 run the following steps:
85738606
0 commit comments