Re: [heycam/webidl] Revamp interface bindings (#283)

domenic approved this pull request.

A few more nits, but feel free to merge after fixing them.

>  
-<h5 id="es-constructible-interfaces" oldids="es-interface-call">Constructible Interfaces</h5>
+The [=interface object=] for a given [=interface=] is a [=function object=]

Missing period

> -        [=overload resolution algorithm=].
-    1.  Let |R| be the result of performing the actions listed in the description of
-        |constructor| with |values| as the argument values.
-    1.  Return the result of [=converted to an ECMAScript value|converting=]
-        |R| to an ECMAScript [=interface type=] value |I|.
-</div>
-
-If the internal \[[Call]] method
-of the [=named constructor=]
-returns normally, then it must
-return an object that implements interface |I|.
-This object also must be
-associated with the ECMAScript global environment associated
-with the [=named constructor=].
+If the actions listed in the description of the constructor return normally,
+then the [=named constructor=] must return an object that implements interface |I|.

"then those steps must return".

> -        |constructor| with |values| as the argument values.
-    1.  Return the result of [=converted to an ECMAScript value|converting=]
-        |R| to an ECMAScript [=interface type=] value |I|.
-</div>
-
-If the internal \[[Call]] method
-of the [=named constructor=]
-returns normally, then it must
-return an object that implements interface |I|.
-This object also must be
-associated with the ECMAScript global environment associated
-with the [=named constructor=].
+If the actions listed in the description of the constructor return normally,
+then the [=named constructor=] must return an object that implements interface |I|.
+This object also must be associated with the ECMAScript global environment
+associated with the [=named constructor=].

"This object's relevant Realm must be the same as that of the named constructor"

> -“Prototype”.
+The [=class string=] of an [=interface prototype object=] is the concatenation of
+the [=interface=]’s [=identifier=] and the string “Prototype”.
+
+
+<h4 id="legacy-callback-interface-object">Legacy callback interface object</h4>
+
+For every callback [=interface=] that is [=exposed=] in
+a given ECMAScript global environment
+and on which [=constants=] are defined,
+a corresponding property must exist on the ECMAScript environment's global object.
+The name of the property is the [=identifier=] of the interface,
+and its value is an object called the
+<dfn id="dfn-legacy-callback-interface-object" export>legacy callback interface object</dfn>.
+The property has the attributes { \[[Writable]]: <emu-val>true</emu-val>, \[[Enumerable]]: <emu-val>false</emu-val>, \[[Configurable]]: <emu-val>true</emu-val> }.
+The characteristics of a legacy callback interface object are described in [[#legacy-callback-interface-object]].

This last sentence is just a link to the section that the sentence is already in, which seems bad.

-- 
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/283#pullrequestreview-20086829

Received on Friday, 3 February 2017 19:43:38 UTC