diff --git a/index.bs b/index.bs index b2844780..44dbbd66 100644 --- a/index.bs +++ b/index.bs @@ -11602,6 +11602,9 @@ with the [{{LegacyNoInterfaceObject}}] [=extended attribute=]. to the definitions specified in [=ECMA-262 Immutable prototype exotic objects=]. 1. Otherwise, set |interfaceProtoObj| to [$OrdinaryObjectCreate$](|proto|). + 1. If the [{{LegacyNoInterfaceObject}}] [=extended attribute=] was not specified on |interface|, then: + 1. Let |constructor| be the [=interface object=] of |interface| in |realm|. + 1. Perform [$CreateMethodProperty$](|interfaceProtoObj|, "constructor", |constructor|). 1. If |interface| has any [=member=] declared with the [{{Unscopable}}] [=extended attribute=], then: @@ -11625,12 +11628,6 @@ with the [{{LegacyNoInterfaceObject}}] [=extended attribute=]. 1. [=Define the asynchronous iteration methods=] of |interface| on |interfaceProtoObj| given |realm|. 1. [=Define the constants=] of |interface| on |interfaceProtoObj| given |realm|. - 1. If the [{{LegacyNoInterfaceObject}}] [=extended attribute=] was not specified on |interface|, then: - 1. Let |constructor| be the [=interface object=] of |interface| in |realm|. - 1. Let |desc| be the PropertyDescriptor{\[[Writable]]: true, - \[[Enumerable]]: false, \[[Configurable]]: true, - \[[Value]]: |constructor|}. - 1. Perform [=!=] DefinePropertyOrThrow(|interfaceProtoObj|, "constructor", |desc|). 1. Return |interfaceProtoObj|.