- From: CVS User ihickson <cvsmail@w3.org>
- Date: Sat, 09 Feb 2013 04:06:22 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/workers In directory roscoe:/tmp/cvs-serv30130 Modified Files: Overview.html Log Message: Cleanup (whatwg r7711) --- /sources/public/html5/workers/Overview.html 2013/02/09 02:07:39 1.365 +++ /sources/public/html5/workers/Overview.html 2013/02/09 04:06:22 1.366 @@ -1835,19 +1835,16 @@ }; <a href="#worker">Worker</a> implements <a href="#abstractworker">AbstractWorker</a>;</pre> - <p>The <dfn id="dom-worker-terminate" title="dom-Worker-terminate"><code>terminate()</code></dfn> method, - when invoked, must cause the "<a href="#terminate-a-worker">terminate a worker</a>" - algorithm to be run on the worker with with the object is - associated.</p> - - <p><code><a href="#worker">Worker</a></code> objects act as if they had an implicit - <code><a href="#messageport">MessagePort</a></code> associated with them. This port is part of - a channel that is set up when the worker is created, but it is not - exposed. This object must never be garbage collected before the - <code><a href="#worker">Worker</a></code> object.</p> + <p>The <dfn id="dom-worker-terminate" title="dom-Worker-terminate"><code>terminate()</code></dfn> method, when invoked, must + cause the "<a href="#terminate-a-worker">terminate a worker</a>" algorithm to be run on the worker with with the object + is associated.</p> + + <p><code><a href="#worker">Worker</a></code> objects act as if they had an implicit <code><a href="#messageport">MessagePort</a></code> associated + with them. This port is part of a channel that is set up when the worker is created, but it is not + exposed. This object must never be garbage collected before the <code><a href="#worker">Worker</a></code> object.</p> - <p>All messages received by that port must immediately be retargeted - at the <code><a href="#worker">Worker</a></code> object.</p> + <p>All messages received by that port must immediately be retargeted at the <code><a href="#worker">Worker</a></code> + object.</p> <p>The <dfn id="dom-worker-postmessage" title="dom-Worker-postMessage"><code>postMessage()</code></dfn> method on <code><a href="#worker">Worker</a></code> objects must act as if, when invoked, it immediately invoked <span title="dom-MessagePort-postMessage">the method of the same name</span> on the port, with the same @@ -1864,10 +1861,9 @@ </div> - <p>The following are the <span>event handlers</span> (and their - corresponding <span title="event handler event type">event handler - event types</span>) that must be supported, as IDL attributes, by - objects implementing the <code><a href="#worker">Worker</a></code> interface:</p> + <p>The following are the <span>event handlers</span> (and their corresponding <span title="event + handler event type">event handler event types</span>) that must be supported, as IDL attributes, + by objects implementing the <code><a href="#worker">Worker</a></code> interface:</p> <table><thead><tr><th><span title="event handlers">Event handler</span> <th><span>Event handler event type</span> <tbody><tr><td><dfn id="handler-worker-onmessage" title="handler-Worker-onmessage"><code>onmessage</code></dfn> <td> <code title="event-message">message</code> @@ -1878,107 +1874,90 @@ the request violates a policy decision (e.g. if the user agent is configured to not allow the page to start dedicated workers).</li> - <li><p><span title="resolve a url">Resolve</span> the <var title="">scriptURL</var> argument relative to the <span>entry - script</span>'s <span title="script's base URL">base URL</span>, - when the method is invoked.</li> - - <li><p>If this fails, throw a <code>SyntaxError</code> - exception.</li> + <li><p><span title="resolve a url">Resolve</span> the <var title="">scriptURL</var> argument + relative to the <span>entry script</span>'s <span title="script's base URL">base URL</span>, when + the method is invoked.</li> + + <li><p>If this fails, throw a <code>SyntaxError</code> exception.</li> <li> - <p>If the <span title="concept-url-scheme">scheme</span> component of - the resulting <span>parsed URL</span> is not "<code title="data-protocol">data</code>", and the <span>origin</span> of - the resulting <span>absolute URL</span> is not the <span title="same origin">same</span> as the origin of the <span>entry - script</span>, then throw a <code>SecurityError</code> exception - and abort these steps.</p> - - <p class="note">Thus, scripts must either be external files with - the same scheme, host, and port as the original page, or <span title="data protocol"><code title="">data:</code> URLs</span>. For - example, you can't load a script from a <span title="javascript - protocol"><code title="">javascript:</code> URL</span>, and an - <code>https:</code> page couldn't start workers using scripts with - <code>http:</code> URLs.</p> + <p>If the <span title="concept-url-scheme">scheme</span> component of the resulting <span>parsed + URL</span> is not "<code title="data-protocol">data</code>", and the <span>origin</span> of the + resulting <span>absolute URL</span> is not the <span title="same origin">same</span> as the + origin of the <span>entry script</span>, then throw a <code>SecurityError</code> exception and + abort these steps.</p> + + <p class="note">Thus, scripts must either be external files with the same scheme, host, and port + as the original page, or <span title="data protocol"><code title="">data:</code> URLs</span>. + For example, you can't load a script from a <span title="javascript protocol"><code title="">javascript:</code> URL</span>, and an <code>https:</code> page couldn't start workers + using scripts with <code>http:</code> URLs.</p> </li> - <li><p>Create a new <code><a href="#dedicatedworkerglobalscope">DedicatedWorkerGlobalScope</a></code> object - whose <a href="#worker-origin">worker origin</a> is the origin of the <span>entry - script</span>. Let <var title="">worker global scope</var> be this - new object.</li> - - <li><p>Create a new <code><a href="#worker">Worker</a></code> object, associated with - <var title="">worker global scope</var>. Let <var title="">worker</var> be this new object.</li> - - <li><p><span>Create a new <code><a href="#messageport">MessagePort</a></code> object</span> - owned by the <span title="script's global object">global - object</span> of the <span title="concept-script">script</span> that - invoked the constructor. Let this be the <var title="">outside - port</var>.</li> + <li><p>Create a new <code><a href="#dedicatedworkerglobalscope">DedicatedWorkerGlobalScope</a></code> object whose <a href="#worker-origin">worker + origin</a> is the origin of the <span>entry script</span>. Let <var title="">worker global + scope</var> be this new object.</li> + + <li><p>Create a new <code><a href="#worker">Worker</a></code> object, associated with <var title="">worker global + scope</var>. Let <var title="">worker</var> be this new object.</li> + + <li><p><span>Create a new <code><a href="#messageport">MessagePort</a></code> object</span> owned by the <span title="script's global object">global object</span> of the <span title="concept-script">script</span> that invoked the constructor. Let this be the <var title="">outside port</var>.</li> <li><p>Associate the <var title="">outside port</var> with <var title="">worker</var>.</li> - <li><p><span>Create a new <code><a href="#messageport">MessagePort</a></code> object</span> - owned by <var title="">worker global scope</var>. Let <var title="">inside port</var> be this new object.</li> + <li><p><span>Create a new <code><a href="#messageport">MessagePort</a></code> object</span> owned by <var title="">worker + global scope</var>. Let <var title="">inside port</var> be this new object.</li> - <li><p>Associate <var title="">inside port</var> with <var title="">worker global scope</var>.</li> + <li><p>Associate <var title="">inside port</var> with <var title="">worker global + scope</var>.</li> - <li><p><span>Entangle</span> <var title="">outside port</var> and - <var title="">inside port</var>.</li> + <li><p><span>Entangle</span> <var title="">outside port</var> and <var title="">inside + port</var>.</li> - <li><p>Return <var title="">worker</var>, and run the following - steps asynchronously.</li> + <li><p>Return <var title="">worker</var>, and run the following steps asynchronously.</li> - <li><p>Enable <var title="">outside port</var>'s <span>port message - queue</span>.</li> + <li><p>Enable <var title="">outside port</var>'s <span>port message queue</span>.</li> <li> - <p>Let <var title="">docs</var> be the <a href="#list-of-relevant-document-objects-to-add">list of relevant - <code>Document</code> objects to add</a> given the <span title="script's global object">global object</span> of the <span title="concept-script">script</span> that invoked the - constructor.</p> + <p>Let <var title="">docs</var> be the <a href="#list-of-relevant-document-objects-to-add">list of relevant <code>Document</code> objects to + add</a> given the <span title="script's global object">global object</span> of the <span title="concept-script">script</span> that invoked the constructor.</p> </li> <li> - <p><a href="#add-a-document-to-the-worker-s-documents" title="add a document to the worker's documents">Add to - <var title="">worker global scope</var>'s list of <span>the - worker's <code>Document</code>s</span></a> the + <p><a href="#add-a-document-to-the-worker-s-documents" title="add a document to the worker's documents">Add to <var title="">worker global + scope</var>'s list of <span>the worker's <code>Document</code>s</span></a> the <code>Document</code> objects in <var title="">docs</var>.</p> </li> <li> - <p>If the <span title="script's global object">global object</span> - of the <span title="concept-script">script</span> that invoked the - constructor is a <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> object (i.e. we - are creating a nested worker), add <var title="">worker global - scope</var> to the list of <a href="#the-worker-s-workers">the worker's workers</a> of the - <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> object that is the <span title="script's global object">global object</span> of the <span title="concept-script">script</span> that invoked the + <p>If the <span title="script's global object">global object</span> of the <span title="concept-script">script</span> that invoked the constructor is a + <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> object (i.e. we are creating a nested worker), add <var title="">worker global scope</var> to the list of <a href="#the-worker-s-workers">the worker's workers</a> of the + <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> object that is the <span title="script's global object">global + object</span> of the <span title="concept-script">script</span> that invoked the constructor.</p> </li> <li> - <p><a href="#run-a-worker">Run a worker</a> for the resulting <span>absolute - URL</span>, with the <span>script's browsing context</span> of the - script that invoked the method as the <var title="">owner browsing - context</var>, with the <span>script's document</span> of the - script that invoked the method as the <var title="">owner - document</var>, with the <span>origin</span> of the <span>entry - script</span> as the <var title="">owner origin</var>, and with - <var title="">worker global scope</var> as the global scope.</p> + <p><a href="#run-a-worker">Run a worker</a> for the resulting <span>absolute URL</span>, with the + <span>script's browsing context</span> of the script that invoked the method as the <var title="">owner browsing context</var>, with the <span>script's document</span> of the script + that invoked the method as the <var title="">owner document</var>, with the <span>origin</span> + of the <span>entry script</span> as the <var title="">owner origin</var>, and with <var title="">worker global scope</var> as the global scope.</p> </li> - </ol><p>This constructor must be visible when the <span>script's global - object</span> is either a <code>Window</code> object or an object - implementing the <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> interface.</p> + </ol><p>This constructor must be visible when the <span>script's global object</span> is either a + <code>Window</code> object or an object implementing the <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> + interface.</p> <h4 id="shared-workers-and-the-sharedworker-interface"><span class="secno">4.7.3 </span>Shared workers and the <code><a href="#sharedworker">SharedWorker</a></code> interface</h4> @@ -1989,55 +1968,47 @@ }; <a href="#sharedworker">SharedWorker</a> implements <a href="#abstractworker">AbstractWorker</a>;</pre> - <p>The <dfn id="dom-sharedworker-port" title="dom-SharedWorker-port"><code>port</code></dfn> - attribute must return the value it was assigned by the object's - constructor. It represents the <code><a href="#messageport">MessagePort</a></code> for + <p>The <dfn id="dom-sharedworker-port" title="dom-SharedWorker-port"><code>port</code></dfn> attribute must return the value + it was assigned by the object's constructor. It represents the <code><a href="#messageport">MessagePort</a></code> for communicating with the shared worker.</p> - <p>When the <dfn id="dom-sharedworker" title="dom-SharedWorker"><code>SharedWorker(<var title="">scriptURL</var>, <var title="">name</var>)</code></dfn> - constructor is invoked, the user agent must run the following + <p>When the <dfn id="dom-sharedworker" title="dom-SharedWorker"><code>SharedWorker(<var title="">scriptURL</var>, <var title="">name</var>)</code></dfn> constructor is invoked, the user agent must run the following steps:</p> <ol><li><p>The user agent may throw a <code>SecurityError</code> exception and abort these steps if the request violates a policy decision (e.g. if the user agent is configured to not allow the page to start shared workers).</li> - <li><p><span title="resolve a url">Resolve</span> the <var title="">scriptURL</var> argument.</li> + <li><p><span title="resolve a url">Resolve</span> the <var title="">scriptURL</var> + argument.</li> - <li><p>If this fails, throw a <code>SyntaxError</code> - exception.</li> + <li><p>If this fails, throw a <code>SyntaxError</code> exception.</li> - <li><p>Otherwise, let <var title="">scriptURL</var> be the - resulting <span>absolute URL</span> and <var title="">parsed scriptURL</var> be the - resulting <span>parsed URL</span>.</li> - - <li><p>Let <var title="">name</var> be the value of the second - argument, or the empty string if the second argument was - omitted.</li> + <li><p>Otherwise, let <var title="">scriptURL</var> be the resulting <span>absolute URL</span> + and <var title="">parsed scriptURL</var> be the resulting <span>parsed URL</span>.</li> + + <li><p>Let <var title="">name</var> be the value of the second argument, or the empty string if + the second argument was omitted.</li> <li> - <p>If the <span title="concept-url-scheme">scheme</span> component of - <var title="">parsed scriptURL</var> is not "<code title="data-protocol">data</code>", and the <span>origin</span> of - <var title="">scriptURL</var> is not the <span title="same - origin">same</span> as the origin of the <span>entry - script</span>, then throw a <code>SecurityError</code> exception - and abort these steps.</p> - - <p class="note">Thus, scripts must either be external files with - the same scheme, host, and port as the original page, or <span title="data protocol"><code title="">data:</code> URLs</span>. For - example, you can't load a script from a <span title="javascript - protocol"><code title="">javascript:</code> URL</span>, and an - <code>https:</code> page couldn't start workers using scripts with - <code>http:</code> URLs.</p> + <p>If the <span title="concept-url-scheme">scheme</span> component of <var title="">parsed + scriptURL</var> is not "<code title="data-protocol">data</code>", and the <span>origin</span> of + <var title="">scriptURL</var> is not the <span title="same origin">same</span> as the origin of + the <span>entry script</span>, then throw a <code>SecurityError</code> exception and abort these + steps.</p> + + <p class="note">Thus, scripts must either be external files with the same scheme, host, and port + as the original page, or <span title="data protocol"><code title="">data:</code> URLs</span>. + For example, you can't load a script from a <span title="javascript protocol"><code title="">javascript:</code> URL</span>, and an <code>https:</code> page couldn't start workers + using scripts with <code>http:</code> URLs.</p> </li> <li> - <p>Let <var title="">docs</var> be the <a href="#list-of-relevant-document-objects-to-add">list of relevant - <code>Document</code> objects to add</a> given the <span title="script's global object">global object</span> of the <span title="concept-script">script</span> that invoked the - constructor.</p> + <p>Let <var title="">docs</var> be the <a href="#list-of-relevant-document-objects-to-add">list of relevant <code>Document</code> objects to + add</a> given the <span title="script's global object">global object</span> of the <span title="concept-script">script</span> that invoked the constructor.</p> </li> @@ -2045,81 +2016,60 @@ <p>Execute the following substeps atomically:</p> - <ol><li><p>Create a new <code><a href="#sharedworker">SharedWorker</a></code> object, which will - shortly be associated with a <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</a></code> - object. Let this <code><a href="#sharedworker">SharedWorker</a></code> object be <var title="">worker</var>.</li> - - <li><p><span>Create a new <code><a href="#messageport">MessagePort</a></code> object</span> - owned by the <span title="script's global object">global - object</span> of the script that invoked the method. Let this be - the <var title="">outside port</var>.</li> + <ol><li><p>Create a new <code><a href="#sharedworker">SharedWorker</a></code> object, which will shortly be associated with a + <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</a></code> object. Let this <code><a href="#sharedworker">SharedWorker</a></code> object be <var title="">worker</var>.</li> + + <li><p><span>Create a new <code><a href="#messageport">MessagePort</a></code> object</span> owned by the <span title="script's global object">global object</span> of the script that invoked the method. Let + this be the <var title="">outside port</var>.</li> <li><p>Assign <var title="">outside port</var> to the <code title="dom-SharedWorker-port"><a href="#dom-sharedworker-port">port</a></code> attribute of <var title="">worker</var>.</li> - <li><p>Let <var title="">worker global scope</var> be - null.</li> + <li><p>Let <var title="">worker global scope</var> be null.</li> <li> - <p>If <var title="">name</var> is not the empty string and there - exists a <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</a></code> object whose <a href="#dom-workerglobalscope-closing" title="dom-WorkerGlobalScope-closing">closing</a> flag is - false, whose <code title="dom-WorkerGlobalScope-name">name</code> attribute is - exactly equal to <var title="">name</var>, and whose - <a href="#worker-origin">worker origin</a> is the <span>same origin</span> as - <var title="">scriptURL</var>, then let <var title="">worker - global scope</var> be that <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</a></code> - object.</p> - - <p>Otherwise, if <var title="">name</var> is the empty string - and there exists a <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</a></code> object - whose <a href="#dom-workerglobalscope-closing" title="dom-WorkerGlobalScope-closing">closing</a> - flag is false, whose <code title="dom-WorkerGlobalScope-name">name</code> attribute is the - empty string, and whose <code title="dom-WorkerGlobalScope-location"><a href="#dom-workerglobalscope-location">location</a></code> attribute - represents an <span>absolute URL</span> that is exactly equal to - <var title="">scriptURL</var>, then let <var title="">worker - global scope</var> be that <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</a></code> - object.</p> + <p>If <var title="">name</var> is not the empty string and there exists a + <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</a></code> object whose <a href="#dom-workerglobalscope-closing" title="dom-WorkerGlobalScope-closing">closing</a> flag is false, whose <code title="dom-WorkerGlobalScope-name">name</code> attribute is exactly equal to <var title="">name</var>, and whose <a href="#worker-origin">worker origin</a> is the <span>same origin</span> as + <var title="">scriptURL</var>, then let <var title="">worker global scope</var> be that + <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</a></code> object.</p> + + <p>Otherwise, if <var title="">name</var> is the empty string and there exists a + <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</a></code> object whose <a href="#dom-workerglobalscope-closing" title="dom-WorkerGlobalScope-closing">closing</a> flag is false, whose <code title="dom-WorkerGlobalScope-name">name</code> attribute is the empty string, and whose <code title="dom-WorkerGlobalScope-location"><a href="#dom-workerglobalscope-location">location</a></code> attribute represents an <span>absolute + URL</span> that is exactly equal to <var title="">scriptURL</var>, then let <var title="">worker global scope</var> be that <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</a></code> object.</p> </li> <li> - <p>If <var title="">worker global scope</var> is not null, but - the user agent has been configured to disallow communication - between the <span title="concept-script">script</span> that - invoked the constructor and the worker represented by the <var title="">worker global scope</var>, then set <var title="">worker global scope</var> to null.</p> - - <p class="note">For example, a user agent could have a - development mode that isolates a particular <span>top-level - browsing context</span> from all other pages, and scripts in - that development mode could be blocked from connecting to shared - workers running in the normal browser mode.</p> + <p>If <var title="">worker global scope</var> is not null, but the user agent has been + configured to disallow communication between the <span title="concept-script">script</span> + that invoked the constructor and the worker represented by the <var title="">worker global + scope</var>, then set <var title="">worker global scope</var> to null.</p> + + <p class="note">For example, a user agent could have a development mode that isolates a + particular <span>top-level browsing context</span> from all other pages, and scripts in that + development mode could be blocked from connecting to shared workers running in the normal + browser mode.</p> </li> <li> - <p>If <var title="">worker global scope</var> is not null, then - run these steps:</p> + <p>If <var title="">worker global scope</var> is not null, then run these steps:</p> + + <ol><li><p>If <var title="">worker global scope</var>'s <code title="dom-WorkerGlobalScope-location"><a href="#dom-workerglobalscope-location">location</a></code> attribute represents an <span>absolute + URL</span> that is not exactly equal to <var title="">scriptURL</var>, then throw a + <code>URLMismatchError</code> exception and abort all these steps.</li> + + <li><p>Associate <var title="">worker</var> with <var title="">worker global + scope</var>.</li> - <ol><li><p>If <var title="">worker global scope</var>'s <code title="dom-WorkerGlobalScope-location"><a href="#dom-workerglobalscope-location">location</a></code> - attribute represents an <span>absolute URL</span> that is not - exactly equal to <var title="">scriptURL</var>, then throw a - <code>URLMismatchError</code> exception and abort all these - steps.</li> - - <li><p>Associate <var title="">worker</var> with <var title="">worker global scope</var>.</li> - - <li><p><span>Create a new <code><a href="#messageport">MessagePort</a></code> - object</span> owned by <var title="">worker global - scope</var>. Let this be the <var title="">inside - port</var>.</li> + <li><p><span>Create a new <code><a href="#messageport">MessagePort</a></code> object</span> owned by <var title="">worker global scope</var>. Let this be the <var title="">inside port</var>.</li> <li><p><span>Entangle</span> <var title="">outside port</var> and <var title="">inside port</var>.</li> - <li><p>Return <var title="">worker</var> and perform the next - step asynchronously.</li> + <li><p>Return <var title="">worker</var> and perform the next step asynchronously.</li> <li><p>Create a <span title="concept-events-trusted">trusted</span> event that uses the <code>MessageEvent</code> interface, with the name <code title="event-connect">connect</code>, which does not bubble, is not cancelable, has no @@ -2132,23 +2082,18 @@ <li> - <p><a href="#add-a-document-to-the-worker-s-documents" title="add a document to the worker's documents">Add to - <var title="">worker global scope</var>'s list of <span>the - worker's <code>Document</code>s</span></a> the [123 lines skipped]
Received on Saturday, 9 February 2013 04:06:24 UTC