Re: [heycam/webidl] Imperatively define the interface objects (#648)

domenic approved this pull request.

LGTM with nit, yayyy

> +    1.  [=list/iterate|For every=] non-callback [=interface=] |interface| that is [=exposed=] in
+        |realm|:
+        1.  If |interface| is not declared with the [{{NoInterfaceObject}}] or
+            [{{LegacyNamespace}}] [=extended attributes=], then:
+            1.  Let |id| be |interface|'s [=identifier=].
+            1.  Let |interfaceObject| be the result of [=create an interface object|creating
+                an interface object=] for |interface| with |id| in |realm|.
+            1.  Perform [=!=] [$CreateMethodProperty$](|target|, |id|, |interfaceObject|).
+            1.  If the |interface| is declared with a [{{LegacyWindowAlias}}] [=extended attribute=],
+                and |target| implements the {{Window}} [=interface=], then:
+                1.  [=list/iterate|For every=] [=LegacyWindowAlias identifier|identifier=] |id| in
+                    [{{LegacyWindowAlias}}]'s [=LegacyWindowAlias identifier|identifiers=]:
+                    1.  Perform [=!=] [$CreateMethodProperty$](|target|, |id|, |interfaceObject|).
+        1.  If the |interface| is declared with a [{{NamedConstructor}}] [=extended attribute=],
+            then:
+            1.  [=list/iterate|For every=] [=NamedConstructor identifier=] |id| on |interface|:

Nit: above it's "For every id in [LegacyWindowAlias]'s identifiers"; here it's "For ever NamedConstructor identifier id". I like the first one more.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/pull/648#pullrequestreview-207452378

Received on Monday, 25 February 2019 15:22:13 UTC