Re: [heycam/webidl] Fix and clarify exposed dfn (#464)

domenic requested changes on this pull request.

Some confusion on |env|, which is a realm (there's an outstanding issue to s/ECMAScript global environment/realm), and |env|'s global, which is an object.

> @@ -8520,12 +8520,18 @@ is the [=set/intersection=] of the relevant construct's [=own exposure set=]
 with the the [=host interface=]'s [=exposure set=].
 Otherwise, it is the [=host interface=]'s [=exposure set=].
 
-An [=interface=], [=namespace=], [=interface member=], or [=namespace member=] is
-<dfn id="dfn-exposed" export>exposed</dfn> in a given ECMAScript global environment if the
-ECMAScript global object implements an interface that is in the construct's [=exposure set=], and either:
-
-*   the [=relevant settings object=] for the ECMAScript global object is a [=secure context=]; or
-*   the construct is not [=available only in secure contexts=].
+<div algorithm>
+    An [=interface=], [=namespace=], or [=member=] |construct| is <dfn id="dfn-exposed" export>exposed</dfn>
+    in a given ECMAScript global environment |env| if the following steps return true:
+    
+    1.  If |env| does not implement an [=interface=] that is in |construct|'s [=exposure set=],

|env| does not implement interfaces; |env|'s `[=realm/global object=]` does. This got lost in translation.

> @@ -8520,12 +8520,18 @@ is the [=set/intersection=] of the relevant construct's [=own exposure set=]
 with the the [=host interface=]'s [=exposure set=].
 Otherwise, it is the [=host interface=]'s [=exposure set=].
 
-An [=interface=], [=namespace=], [=interface member=], or [=namespace member=] is
-<dfn id="dfn-exposed" export>exposed</dfn> in a given ECMAScript global environment if the
-ECMAScript global object implements an interface that is in the construct's [=exposure set=], and either:
-
-*   the [=relevant settings object=] for the ECMAScript global object is a [=secure context=]; or
-*   the construct is not [=available only in secure contexts=].
+<div algorithm>
+    An [=interface=], [=namespace=], or [=member=] |construct| is <dfn id="dfn-exposed" export>exposed</dfn>
+    in a given ECMAScript global environment |env| if the following steps return true:
+    
+    1.  If |env| does not implement an [=interface=] that is in |construct|'s [=exposure set=],
+        then return false.
+    1.  If |construct| is [=available in both secure and non-secure contexts=],
+        then return true.
+    1.  If the [=relevant settings object=] for |env| is a [=secure context=],

Should be `[=realm/settings object=]`

-- 
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/464#pullrequestreview-69940671

Received on Tuesday, 17 October 2017 16:55:31 UTC