@@ -4717,9 +4717,9 @@ associated behaviors.
4717
4717
A namespace is a specification of a set of
4718
4718
<dfn id="dfn-namespace-member" export lt="namespace member">namespace members</dfn>
4719
4719
(matching <emu-nt><a href="#prod-NamespaceMembers">NamespaceMembers</a></emu-nt>), which are the
4720
- [=regular operations=] and [=read only=] [=regular attributes=] that appear between the braces in
4721
- the namespace declaration. These operations and attributes describe the behaviors packaged into the
4722
- namespace.
4720
+ [=regular operations=], [=read only=] [=regular attributes=], and [=constants=] that appear between
4721
+ the braces in the namespace declaration. These operations and attributes describe the behaviors
4722
+ packaged into the namespace.
4723
4723
4724
4724
As with interfaces, the IDL for namespaces can be split into multiple parts by using
4725
4725
<dfn id="dfn-partial-namespace" export>partial namespace</dfn> definitions
@@ -4769,6 +4769,7 @@ Of the extended attributes defined in this specification, only the [{{CrossOrigi
4769
4769
NamespaceMember :
4770
4770
RegularOperation
4771
4771
"readonly" AttributeRest
4772
+ Const
4772
4773
</pre>
4773
4774
4774
4775
<div class="example" id="example-namespace">
@@ -11681,8 +11682,8 @@ on the single object that [=implements=] the interface,
11681
11682
when an interface is declared with the [{{Global}}] [=extended attribute=].
11682
11683
11683
11684
<div algorithm>
11684
- To <dfn>define the constants</dfn> of [=interface=] or [=callback interface=] |definition| on
11685
- |target|, given [=Realm=] |realm|, run the following steps:
11685
+ To <dfn>define the constants</dfn> of [=interface=], [=callback interface=], or [=namespace=]
11686
+ |definition| on | target|, given [=Realm=] |realm|, run the following steps:
11686
11687
11687
11688
1. [=list/For each=] [=constant=] |const| that is a [=member=] of |definition|:
11688
11689
1. If |const| is not [=exposed=] in |realm|, then [=iteration/continue=].
@@ -14245,6 +14246,7 @@ The characteristics of a namespace object are described in [[#namespace-object]]
14245
14246
1. Let |namespaceObject| be [=!=] [$OrdinaryObjectCreate$](|realm|.\[[Intrinsics]].[[{{%Object.prototype%}}]]).
14246
14247
1. [=Define the regular attributes=] of |namespace| on |namespaceObject| given |realm|.
14247
14248
1. [=Define the regular operations=] of |namespace| on |namespaceObject| given |realm|.
14249
+ 1. [=Define the constants=] of |namespace| on |namespaceObject| given |realm|.
14248
14250
1. For each [=exposed=] [=interface=] |interface| which has the [{{LegacyNamespace}}] extended
14249
14251
attribute with the identifier of |namespace| as its argument,
14250
14252
1. Let |id| be |interface|'s [=identifier=].
0 commit comments