Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[e] (0) Try to clarify use of the term 'expose' in the WebIDL sense.
Affected topics: DOM APIs, HTML, Workers

git-svn-id: http://svn.whatwg.org/webapps@7851 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Apr 23, 2013
1 parent 521eda9 commit 2af3662
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 40 deletions.
35 changes: 22 additions & 13 deletions complete.html
Expand Up @@ -3495,13 +3495,17 @@ <h4 id=dependencies><span class=secno>2.2.2 </span>Dependencies</h4>
<p>The IDL fragments in this specification must be interpreted as required for conforming IDL
fragments, as described in the Web IDL specification. <a href=#refsWEBIDL>[WEBIDL]</a></p>

<p>The terms <dfn id=expose>expose</dfn>, <dfn id=supported-property-indices>supported property indices</dfn>, <dfn id=determine-the-value-of-an-indexed-property>determine the value
<p>The terms <dfn id=supported-property-indices>supported property indices</dfn>, <dfn id=determine-the-value-of-an-indexed-property>determine the value
of an indexed property</dfn>, <dfn id=support-named-properties>support named properties</dfn>, <dfn id=supported-property-names>supported property
names</dfn>, <dfn id=determine-the-value-of-a-named-property>determine the value of a named property</dfn>, <dfn id=platform-array-objects>platform array
objects</dfn>, and <dfn id=dfn-read-only-array title=dfn-read-only-array>read only</dfn> (when applied to arrays) are
used as defined in the Web IDL specification. The algorithm to <dfn id=convert-a-domstring-to-a-sequence-of-unicode-characters>convert a DOMString to a
sequence of Unicode characters</dfn> is similarly that defined in the Web IDL specification.</p>

<p>Where this specification says an interface or exception is <dfn id=exposed-to-javascript>exposed to JavaScript</dfn>,
it refers to the manner, described in the Web IDL specification, in which an ECMAScript global
environment <i title=dfn-expose>exposes</i> interfaces and exceptions.</p>

<p>When this specification requires a user agent to <dfn id=create-a-date-object>create a <code>Date</code> object</dfn>
representing a particular time (which could be the special value Not-a-Number), the milliseconds
component of that time, if any, must be truncated to an integer and the time value of the newly
Expand Down Expand Up @@ -64640,7 +64644,7 @@ <h3 id=the-window-object><span class=secno>6.2 </span>The <code><a href=#window>

</dl><div class=impl>

<p>The <code><a href=#window>Window</a></code> interface must only be <a href=#expose title=expose>exposed</a> if the
<p>The <code><a href=#window>Window</a></code> interface must only be <a href=#exposed-to-javascript>exposed to JavaScript</a> if the
<a href=#javascript-global-environment>JavaScript global environment</a> is a <a href=#document-environment>document environment</a>.</p>

<p>The <dfn id=dom-window title=dom-window><code>window</code></dfn>, <dfn id=dom-frames title=dom-frames><code>frames</code></dfn>, and <dfn id=dom-self title=dom-self><code>self</code></dfn>
Expand Down Expand Up @@ -78740,7 +78744,7 @@ <h5 id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface><span clas
};</pre>

<p>The <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> interface must only
be <a href=#expose title=expose>exposed</a> if the <a href=#javascript-global-environment>JavaScript
be <a href=#exposed-to-javascript>exposed to JavaScript</a> if the <a href=#javascript-global-environment>JavaScript
global environment</a> is a <a href=#dedicated-worker-environment>dedicated worker
environment</a>.</p>

Expand Down Expand Up @@ -78789,7 +78793,7 @@ <h5 id=shared-workers-and-the-sharedworkerglobalscope-interface><span class=secn
};</pre>

<p>The <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> interface must only be
<a href=#expose title=expose>exposed</a> if the <a href=#javascript-global-environment>JavaScript global
<a href=#exposed-to-javascript>exposed to JavaScript</a> if the <a href=#javascript-global-environment>JavaScript global
environment</a> is a <a href=#shared-worker-environment>shared worker environment</a>.</p>

<p>Shared workers receive message ports through <code title=event-WorkerGlobalScope-connect>connect</code> events on
Expand Down Expand Up @@ -79569,7 +79573,7 @@ <h3 id=apis-available-to-workers><span class=secno>9.3 </span>APIs available to


<p>The DOM APIs &mdash; specifically, all the interfaces defind in the DOM specification other
than exceptions &mdash; must not be <a href=#expose title=expose>exposed</a> if the <a href=#javascript-global-environment>JavaScript
than exceptions &mdash; must not be <a href=#exposed-to-javascript>exposed to JavaScript</a> if the <a href=#javascript-global-environment>JavaScript
global environment</a> is a <a href=#worker-environment>worker environment</a>. <a href=#refsDOM>[DOM]</a></p>


Expand Down Expand Up @@ -79672,23 +79676,28 @@ <h4 id=importing-scripts-and-libraries><span class=secno>9.3.1 </span>Importing
<a href=#workernavigator>WorkerNavigator</a> implements <a href=#navigatorlanguage>NavigatorLanguage</a>;
<a href=#workernavigator>WorkerNavigator</a> implements <a href=#navigatoronline>NavigatorOnLine</a>;</pre>

<p>The <code><a href=#workernavigator>WorkerNavigator</a></code> interface must only be <a href=#expose title=expose>exposed</a> if the <a href=#javascript-global-environment>JavaScript global
<p>The <code><a href=#workernavigator>WorkerNavigator</a></code> interface must only be <a href=#exposed-to-javascript>exposed
to JavaScript</a> if the <a href=#javascript-global-environment>JavaScript global
environment</a> is a <a href=#worker-environment>worker environment</a>.</p>




<h4 id=interface-objects-and-constructors><span class=secno>9.3.3 </span>Interface objects and constructors</h4>

<p>Nothing must be <a href=#expose title=expose>exposed</a> when the <a href=#javascript-global-environment>JavaScript global
<p>Nothing must be <a href=#exposed-to-javascript>exposed to JavaScript</a> when the <a href=#javascript-global-environment>JavaScript global
environment</a> is a <a href=#worker-environment>worker environment</a> except for the following:</p>

<ul><li><p>The interface objects and constructors defined by this specification, except where is
further restricted by explicit requirements in this specification.</li>
<ul><li><p>The interfaces and exceptions defined by this specification, except where is further
restricted by explicit requirements in this specification.</li>

<li><p>Any interfaces and exceptions defined by a specification that explicitly specifies that
they are <a href=#exposed-to-javascript>exposed to JavaScript</a> when the <a href=#javascript-global-environment>JavaScript global environment</a>
is a <a href=#worker-environment>worker environment</a>.</li>

<li><p>The interface objects of any objects made accessible through interfaces implemented by any
objects that are themselves <a href=#expose title=expose>exposed</a> (i.e. this requirement is
transitive).</li>
<li><p>The interfaces of any objects made accessible through, and the exceptions thrown by any,
interfaces implemented by any interfaces or objects of interfaces that are themselves
<a href=#exposed-to-javascript>exposed to JavaScript</a> (i.e. this requirement is transitive).</li>

</ul><p class=note>These requirements do not override the requirements defined by the Web IDL
specification, in particular concerning the visibility of interfaces annotated with the <code title="">[NoInterfaceObject]</code> extended attribute.</p>
Expand All @@ -79712,7 +79721,7 @@ <h4 id=worker-locations><span class=secno>9.3.4 </span>Worker locations</h4>

<p>The element's <code><a href=#urlutilsreadonly>URLUtilsReadOnly</a></code> interface's <a href=#concept-uu-get-the-base title=concept-uu-get-the-base>get the base</a> algorithm must return null.</p>

<p>The <code><a href=#workerlocation>WorkerLocation</a></code> interface must only be <a href=#expose title=expose>exposed</a> if
<p>The <code><a href=#workerlocation>WorkerLocation</a></code> interface must only be <a href=#exposed-to-javascript>exposed to JavaScript</a> if
the <a href=#javascript-global-environment>JavaScript global environment</a> is a <a href=#worker-environment>worker environment</a>.</p>


Expand Down
35 changes: 22 additions & 13 deletions index
Expand Up @@ -3495,13 +3495,17 @@ a.setAttribute('href', 'http://example.com/'); // change the content attribute d
<p>The IDL fragments in this specification must be interpreted as required for conforming IDL
fragments, as described in the Web IDL specification. <a href=#refsWEBIDL>[WEBIDL]</a></p>

<p>The terms <dfn id=expose>expose</dfn>, <dfn id=supported-property-indices>supported property indices</dfn>, <dfn id=determine-the-value-of-an-indexed-property>determine the value
<p>The terms <dfn id=supported-property-indices>supported property indices</dfn>, <dfn id=determine-the-value-of-an-indexed-property>determine the value
of an indexed property</dfn>, <dfn id=support-named-properties>support named properties</dfn>, <dfn id=supported-property-names>supported property
names</dfn>, <dfn id=determine-the-value-of-a-named-property>determine the value of a named property</dfn>, <dfn id=platform-array-objects>platform array
objects</dfn>, and <dfn id=dfn-read-only-array title=dfn-read-only-array>read only</dfn> (when applied to arrays) are
used as defined in the Web IDL specification. The algorithm to <dfn id=convert-a-domstring-to-a-sequence-of-unicode-characters>convert a DOMString to a
sequence of Unicode characters</dfn> is similarly that defined in the Web IDL specification.</p>

<p>Where this specification says an interface or exception is <dfn id=exposed-to-javascript>exposed to JavaScript</dfn>,
it refers to the manner, described in the Web IDL specification, in which an ECMAScript global
environment <i title=dfn-expose>exposes</i> interfaces and exceptions.</p>

<p>When this specification requires a user agent to <dfn id=create-a-date-object>create a <code>Date</code> object</dfn>
representing a particular time (which could be the special value Not-a-Number), the milliseconds
component of that time, if any, must be truncated to an integer and the time value of the newly
Expand Down Expand Up @@ -64640,7 +64644,7 @@ END:VCARD</pre>

</dl><div class=impl>

<p>The <code><a href=#window>Window</a></code> interface must only be <a href=#expose title=expose>exposed</a> if the
<p>The <code><a href=#window>Window</a></code> interface must only be <a href=#exposed-to-javascript>exposed to JavaScript</a> if the
<a href=#javascript-global-environment>JavaScript global environment</a> is a <a href=#document-environment>document environment</a>.</p>

<p>The <dfn id=dom-window title=dom-window><code>window</code></dfn>, <dfn id=dom-frames title=dom-frames><code>frames</code></dfn>, and <dfn id=dom-self title=dom-self><code>self</code></dfn>
Expand Down Expand Up @@ -78740,7 +78744,7 @@ worker.port.postMessage({ foo: 'structured', bar: ['data', 'also', 'possible']})
};</pre>

<p>The <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> interface must only
be <a href=#expose title=expose>exposed</a> if the <a href=#javascript-global-environment>JavaScript
be <a href=#exposed-to-javascript>exposed to JavaScript</a> if the <a href=#javascript-global-environment>JavaScript
global environment</a> is a <a href=#dedicated-worker-environment>dedicated worker
environment</a>.</p>

Expand Down Expand Up @@ -78789,7 +78793,7 @@ worker.port.postMessage({ foo: 'structured', bar: ['data', 'also', 'possible']})
};</pre>

<p>The <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> interface must only be
<a href=#expose title=expose>exposed</a> if the <a href=#javascript-global-environment>JavaScript global
<a href=#exposed-to-javascript>exposed to JavaScript</a> if the <a href=#javascript-global-environment>JavaScript global
environment</a> is a <a href=#shared-worker-environment>shared worker environment</a>.</p>

<p>Shared workers receive message ports through <code title=event-WorkerGlobalScope-connect>connect</code> events on
Expand Down Expand Up @@ -79569,7 +79573,7 @@ partial interface <a href=#workerglobalscope id=WorkerGlobalScope-partial>Worker


<p>The DOM APIs &mdash; specifically, all the interfaces defind in the DOM specification other
than exceptions &mdash; must not be <a href=#expose title=expose>exposed</a> if the <a href=#javascript-global-environment>JavaScript
than exceptions &mdash; must not be <a href=#exposed-to-javascript>exposed to JavaScript</a> if the <a href=#javascript-global-environment>JavaScript
global environment</a> is a <a href=#worker-environment>worker environment</a>. <a href=#refsDOM>[DOM]</a></p>


Expand Down Expand Up @@ -79672,23 +79676,28 @@ partial interface <a href=#workerglobalscope id=WorkerGlobalScope-partial>Worker
<a href=#workernavigator>WorkerNavigator</a> implements <a href=#navigatorlanguage>NavigatorLanguage</a>;
<a href=#workernavigator>WorkerNavigator</a> implements <a href=#navigatoronline>NavigatorOnLine</a>;</pre>

<p>The <code><a href=#workernavigator>WorkerNavigator</a></code> interface must only be <a href=#expose title=expose>exposed</a> if the <a href=#javascript-global-environment>JavaScript global
<p>The <code><a href=#workernavigator>WorkerNavigator</a></code> interface must only be <a href=#exposed-to-javascript>exposed
to JavaScript</a> if the <a href=#javascript-global-environment>JavaScript global
environment</a> is a <a href=#worker-environment>worker environment</a>.</p>




<h4 id=interface-objects-and-constructors><span class=secno>9.3.3 </span>Interface objects and constructors</h4>

<p>Nothing must be <a href=#expose title=expose>exposed</a> when the <a href=#javascript-global-environment>JavaScript global
<p>Nothing must be <a href=#exposed-to-javascript>exposed to JavaScript</a> when the <a href=#javascript-global-environment>JavaScript global
environment</a> is a <a href=#worker-environment>worker environment</a> except for the following:</p>

<ul><li><p>The interface objects and constructors defined by this specification, except where is
further restricted by explicit requirements in this specification.</li>
<ul><li><p>The interfaces and exceptions defined by this specification, except where is further
restricted by explicit requirements in this specification.</li>

<li><p>Any interfaces and exceptions defined by a specification that explicitly specifies that
they are <a href=#exposed-to-javascript>exposed to JavaScript</a> when the <a href=#javascript-global-environment>JavaScript global environment</a>
is a <a href=#worker-environment>worker environment</a>.</li>

<li><p>The interface objects of any objects made accessible through interfaces implemented by any
objects that are themselves <a href=#expose title=expose>exposed</a> (i.e. this requirement is
transitive).</li>
<li><p>The interfaces of any objects made accessible through, and the exceptions thrown by any,
interfaces implemented by any interfaces or objects of interfaces that are themselves
<a href=#exposed-to-javascript>exposed to JavaScript</a> (i.e. this requirement is transitive).</li>

</ul><p class=note>These requirements do not override the requirements defined by the Web IDL
specification, in particular concerning the visibility of interfaces annotated with the <code title="">[NoInterfaceObject]</code> extended attribute.</p>
Expand All @@ -79712,7 +79721,7 @@ partial interface <a href=#workerglobalscope id=WorkerGlobalScope-partial>Worker

<p>The element's <code><a href=#urlutilsreadonly>URLUtilsReadOnly</a></code> interface's <a href=#concept-uu-get-the-base title=concept-uu-get-the-base>get the base</a> algorithm must return null.</p>

<p>The <code><a href=#workerlocation>WorkerLocation</a></code> interface must only be <a href=#expose title=expose>exposed</a> if
<p>The <code><a href=#workerlocation>WorkerLocation</a></code> interface must only be <a href=#exposed-to-javascript>exposed to JavaScript</a> if
the <a href=#javascript-global-environment>JavaScript global environment</a> is a <a href=#worker-environment>worker environment</a>.</p>


Expand Down

0 comments on commit 2af3662

Please sign in to comment.