CVS html5/workers

Update of /sources/public/html5/workers
In directory roscoe:/tmp/cvs-serv4385

Modified Files:
	Overview.html 
Log Message:
Move the spec from a stack of incumbent scripts to a stack of script settings object. This should in theory have no concrete effects (though I may have changed some of the origin used for Web Workers started from document.domain-affected scripts that were called from other scripts with different original origins). (whatwg r8262)

--- /sources/public/html5/workers/Overview.html	2013/10/30 23:18:19	1.398
+++ /sources/public/html5/workers/Overview.html	2013/11/08 23:21:15	1.399
@@ -216,7 +216,7 @@
 
    <h1>Web Workers</h1>
    
-   <h2 class="no-num no-toc" id="editor-s-draft-30-october-2013">Editor's Draft 30 October 2013</h2>
+   <h2 class="no-num no-toc" id="editor-s-draft-8-november-2013">Editor's Draft 8 November 2013</h2>
    <dl><dt>Latest Published Version:</dt>
     <dd><a href="http://www.w3.org/TR/workers/">http://www.w3.org/TR/workers/</a></dd>
     <dt>Latest Editor's Draft:</dt>
@@ -353,7 +353,7 @@
   </dl><p>The W3C <a href="http://www.w3.org/2008/webapps/">Web Applications
   Working Group</a> is the W3C working group responsible for this
   specification's progress along the W3C Recommendation track.
-  This specification is the 30 October 2013 Editor's Draft.
+  This specification is the 8 November 2013 Editor's Draft.
   </p>
 
   
@@ -1348,11 +1348,8 @@
    <tbody><tr><td><dfn id="handler-workerglobalscope-onerror" title="handler-WorkerGlobalScope-onerror"><code>onerror</code></dfn> <td> <code title="event-error">error</code>
     <tr><td><dfn id="handler-workerglobalscope-onoffline" title="handler-WorkerGlobalScope-onoffline"><code>onoffline</code></dfn> <td> <code title="event-offline">offline</code> 
     <tr><td><dfn id="handler-workerglobalscope-ononline" title="handler-WorkerGlobalScope-ononline"><code>ononline</code></dfn> <td> <code title="event-online">online</code> 
-  </table><hr><p>Each <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> object has a <dfn id="worker-origin">worker origin</dfn> that is set when the
-  object is created.</p>
-
-  <p class="note">For <span title="data protocol"><code title="">data:</code> URLs</span>, this is
-  the <span>origin</span> of the <span>entry script</span> when the constructor was called. For
+  </table><hr><p class="note">For <span title="data protocol"><code title="">data:</code> URLs</span>, this is
+  the <span>origin</span> specified by the <span>entry settings object</span> when the constructor was called. For
   other <span title="URL">URLs</span>, this is the <span>origin</span> of the value of the
   <span>absolute URL</span> given in the worker's <code title="dom-WorkerGlobalScope-location"><a href="#dom-workerglobalscope-location"></a></code> attribute.</p>
 
@@ -1508,8 +1505,7 @@
   <h3 id="processing-model"><span class="secno">4.4 </span>Processing model</h3>
 
 
-  <p>When a user agent is to <dfn id="run-a-worker">run a worker</dfn> for a script with <span>URL</span> <var title="">url</var>, a <span>script settings object</span> <var title="">settings object</var>,
-  and an <span>origin</span> <var title="">owner origin</var>, it
+  <p>When a user agent is to <dfn id="run-a-worker">run a worker</dfn> for a script with <span>URL</span> <var title="">url</var> and a <span>script settings object</span> <var title="">settings object</var>, it
   must run the following steps:</p>
 
   <ol><li id="worker-processing-model-top">
@@ -1536,9 +1532,11 @@
 
    <li>
 
+
     <p>Attempt to <span>fetch</span> the resource identified by <var title="">url</var>,
-    from the <var title="">owner origin</var>, using the <span>responsible document</span> specified by <var title="">settings object</var> as the
-    <span>referrer source</span> (not the specified <span>API referrer source</span>!), with the <i>synchronous flag</i> set and the <i>force same-origin
+    from the <span>origin</span> specified
+    by <var title="">settings object</var>, using the <span>responsible document</span> specified by <var title="">settings object</var> as the
+    <span>referrer source</span> (not the specified <span>API referrer source</span>!), and with the <i>synchronous flag</i> set and the <i>force same-origin
     flag</i> set.</p> 
 
     <p>If the attempt fails, then for each <code><a href="#worker">Worker</a></code> or <code><a href="#sharedworker">SharedWorker</a></code> object
@@ -1751,13 +1749,17 @@
   <var title="">worker global scope</var>, it must run the following steps:</p>
 
   <ol><li><p>Let <var title="">inherited responsible browsing context</var> be the <span>responsible
-   browsing context</span> specified by the <span>incumbent script</span>'s <span>settings
+   browsing context</span> specified by the <span>incumbent settings
    object</span>.</li>
 
+
    <li><p>Let <var title="">inherited responsible document</var> be the <span>responsible
-   document</span> specified by the <span>incumbent script</span>'s <span>settings
+   document</span> specified by the <span>incumbent settings
    object</span>.</li>
 
+   <li><p>Let <var title="">inherited origin</var> be the <span>origin</span> specified by the
+   <span>incumbent settings object</span>.</li>
+
    <li><p>Let <var title="">worker event loop</var> be a newly created <span>event
    loop</span>.</li>
 
@@ -1831,6 +1833,13 @@
 
      </dd>
 
+     <dt>The <span>origin</span> and <span>effective script origin</span></dt>
+     <dd>
+
+      <p>Return <var title="">inherited origin</var>.</p>
+
+     </dd>
+
     </dl></li>
 
    <li><p>Return <var title="">settings object</var>.</li>
@@ -1887,7 +1896,7 @@
 
 
    <li><p><span title="resolve a url">Resolve</span> the <var title="">scriptURL</var> argument
-   relative to the <span>API base URL</span> specified by the <span>entry script</span>'s <span>settings object</span> when
+   relative to the <span>API base URL</span> specified by the <span>entry settings object</span> when
    the method was invoked.</li>
 
    <li><p>If this fails, throw a <code>SyntaxError</code> exception and abort these steps.</li>
@@ -1900,7 +1909,7 @@
     <p>If the <span title="concept-url-scheme">scheme</span> component of <var title="">worker URL</var>
     is not "<code title="data-protocol">data</code>", and the <span>origin</span> of <var title="">worker URL</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
+    <span>origin</span> specified by the <span>incumbent settings object</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
@@ -1910,8 +1919,8 @@
 
    </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
+
+   <li><p>Create a new <code><a href="#dedicatedworkerglobalscope">DedicatedWorkerGlobalScope</a></code> object. Let <var title="">worker global
    scope</var> be this new object.</li>
 
    <li><p><a href="#set-up-a-worker-script-settings-object">Set up a worker script settings object</a> with <var title="">worker global
@@ -1922,7 +1931,7 @@
 
 
    <li><p><span>Create a new <code>MessagePort</code> object</span> whose <span title="concept-port-owner">owner</span>
-   is the <span>settings object</span> of the <span>incumbent script</span>. Let
+   is the <span>incumbent settings object</span>. 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>
@@ -1947,8 +1956,7 @@
 
 
     <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>settings object</span> of the
-    <span>incumbent script</span>.</p>
+    add</a> given the <span>incumbent settings object</span>.</p>
 
    </li>
 
@@ -1964,18 +1972,17 @@
 
 
     <p>If the <span>global object</span> specified by the <span>incumbent
-    script</span>'s <span>settings object</span> is a <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> object (i.e. we are creating a nested worker),
+    settings object</span> 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>global object</span> of the <span>incumbent script</span>'s <span>settings object</span>.</p>
+    the <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> object that is the <span>global object</span> specified by the <span>incumbent settings object</span>.</p>
 
    </li>
 
    <li>
 
+
     <p><a href="#run-a-worker">Run a worker</a> for the script with <span>URL</span> <var title="">worker
-    URL</var>, the <span>script settings object</span> <var title="">settings object</var>, and the
-    <span>origin</span> of the <span>entry script</span> as the <var title="">owner
-    origin</var>.</p>
+    URL</var> and the <span>script settings object</span> <var title="">settings object</var>.</p>
 
    </li>
 
@@ -2010,10 +2017,11 @@
 
    <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
+    <var title="">scriptURL</var> is not the <span title="same origin">same</span> as the <span>origin</span> specified by
+    the <span>incumbent settings object</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
@@ -2026,8 +2034,7 @@
    <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>settings object</span> of the
-    <span>incumbent script</span>.</p>
+    add</a> given the <span>incumbent settings object</span>.</p>
 
    </li>
 
@@ -2040,7 +2047,7 @@
 
 
      <li><p><span>Create a new <code>MessagePort</code> object</span> whose <span title="concept-port-owner">owner</span>
-     is the <span>settings object</span> of the <span>incumbent script</span>. Let
+     is the <span>incumbent settings object</span>. 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>
@@ -2049,8 +2056,11 @@
 
      <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
+      <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 that is the <span>global object</span> specified by a
+      <span>script settings object</span> that specifies as its <span>origin</span> the
+      <span>same origin</span> as the <span>origin</span> of
       <var title="">scriptURL</var>, then let <var title="">worker global scope</var> be that
       <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</a></code> object.</p>
 
@@ -2062,9 +2072,11 @@
 
      <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>incumbent script</span> and the worker
-      represented by the <var title="">worker global scope</var>, then set <var title="">worker
+      configured to disallow communication between the worker
+      represented by the <var title="">worker global scope</var> and the <span title="concept-script">scripts</span>
+      whose <span title="settings object">settings objects</span> are the <span>incumbent settings object</span>, 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
@@ -2116,10 +2128,10 @@
 
 
         <p>If the <span>global object</span> specified by the <span>incumbent
-        script</span>'s <span>settings object</span> is a <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> object, add <var title="">worker global
+        settings object</span> is a <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> object, 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>global
-        object</span> specified by the <span>incumbent script</span>'s <span>settings object</span>.</p>
+        object</span> specified by the <span>incumbent settings object</span>.</p>
 
        </li>
 
@@ -2129,8 +2141,8 @@
 
      <!-- OTHERWISE: -->
 
-     <li><p>Create a new <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</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
+
+     <li><p>Create a new <code><a href="#sharedworkerglobalscope">SharedWorkerGlobalScope</a></code> object. Let <var title="">worker global
      scope</var> be this new object.</li>
 
      <li><p><a href="#set-up-a-worker-script-settings-object">Set up a worker script settings object</a> with <var title="">worker global
@@ -2172,17 +2184,18 @@
    <li>
 
 
-    <p>If the <span>global object</span> specified by the <span>settings object</span> of the <span>incumbent
-    script</span> is a <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> object, add <var title="">worker global scope</var> to the list of <a href="#the-worker-s-workers">the worker's workers</a> of the
+    <p>If the <span>global object</span> specified by the <span>incumbent settings object</span>
+    is a <code><a href="#workerglobalscope">WorkerGlobalScope</a></code> object, 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>global
-    object</span> specified by the <span>incumbent script</span>'s <span>settings object</span>.</p>
+    object</span> specified by the <span>incumbent settings object</span>.</p>
 
    </li>
 
    <li>
 
-    <p><a href="#run-a-worker">Run a worker</a> for the script with <span>URL</span> <var title="">scriptURL</var>, the <span>script settings object</span> <var title="">settings
-    object</var>, and the <span>origin</span> of the <span>entry script</span> as the <var title="">owner origin</var>.</p>
+
+    <p><a href="#run-a-worker">Run a worker</a> for the script with <span>URL</span> <var title="">scriptURL</var> and the <span>script settings object</span> <var title="">settings
+    object</var>.</p>
 
    </li>
 
@@ -2217,8 +2230,9 @@
 
   <ol><li><p>If there are no arguments, return without doing anything. Abort these steps.</li>
 
-   <li><p>Let <var title="">settings object</var> be the <span>script settings object</span> of the
-   <span>incumbent script</span>.</li>
+
+   <li><p>Let <var title="">settings object</var> be the
+   <span>incumbent settings object</span>.</li>
 
    <li><p><span title="resolve a url">Resolve</span> each argument.</li>
 
@@ -2227,8 +2241,8 @@
    <li>
 
 
-    <p>Attempt to <span>fetch</span> each resource identified by the resulting <span title="absolute URL">absolute URLs</span>, from the <span>entry script</span>'s
-    <span>origin</span>, using the <span>API referrer source</span> specified by <var title="">settings
+    <p>Attempt to <span>fetch</span> each resource identified by the resulting <span title="absolute URL">absolute URLs</span>, from the <span>origin</span> specified by <var title="">settings object</var>,
+    using the <span>API referrer source</span> specified by <var title="">settings
     object</var>, and with the <i>synchronous flag</i> set.</p> 
 
    </li>
@@ -2261,8 +2275,9 @@
       <span>URL</span> from which <var title="">source</var> was obtained, <var title="">language</var> as the scripting language, and <var title="">settings object</var> as
       the <span>script settings object</span>.</p>
 
+
       <p>If the script came from a resource whose <span>URL</span> does not have the <span>same
-      origin</span> as the <a href="#worker-origin">worker origin</a>, then pass the <var title="">muted
+      origin</span> as the <span>origin</span> specified by the <span>incumbent settings object</span>, then pass the <var title="">muted
       errors</var> flag to the <span>create a script</span> algorithm as well.</p>
 
       <p>Let the newly created <span title="concept-script">script</span> run until it either
@@ -2272,9 +2287,9 @@
 
       <p>If it failed to parse, then throw an ECMAScript <code title="js-SyntaxError">SyntaxError</code> exception and abort all these steps. <a href="#refsECMA262">[ECMA262]</a></p>
 
+
       <p>If an exception was thrown or if the script was prematurely aborted, then abort all these
-      steps, letting the exception or aborting continue to be processed by the <span>incumbent
-      script</span>.</p>
+      steps, letting the exception or aborting continue to be processed by the calling <span title="concept-script">script</span>.</p>
 
       <p>If the "<a href="#kill-a-worker">kill a worker</a>" or "<a href="#terminate-a-worker">terminate a worker</a>" algorithms abort
       the script then abort all these steps.</p>

Received on Friday, 8 November 2013 23:21:17 UTC