- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 18 Jul 2008 09:28:03 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/workers
In directory hutz:/tmp/cvs-serv8468
Modified Files:
Overview.html
Log Message:
Workers created by workers still need to stop if the original browsing context goes away. (whatwg r22)
Index: Overview.html
===================================================================
RCS file: /sources/public/html5/workers/Overview.html,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- Overview.html 18 Jul 2008 08:52:37 -0000 1.16
+++ Overview.html 18 Jul 2008 09:28:01 -0000 1.17
@@ -488,6 +488,48 @@
objects that are in events pending in the <a href="#queue">queue of
events</a>.
+ <hr>
+
+ <p>A worker is said to be a <dfn id=front-line>front-line worker</dfn> if
+ at least one of the <a href="#the-workers0">the worker's ports</a> has an
+ entangled <code>MessagePort</code> whose <code
+ title=dom-MessagePort-ownerWindow>ownerWindow</code> is a
+ <code>WindowBrowsingContext</code> object.
+
+ <p>A worker is said to be a <dfn id=needed>needed worker</dfn> if either:
+
+ <ul>
+ <li>it is a <a href="#front-line">front-line worker</a>, or
+
+ <li>at least one of the <a href="#the-workers0">the worker's ports</a> has
+ an entangled <code>MessagePort</code> whose <code
+ title=dom-MessagePort-ownerWindow>ownerWindow</code> is a <code><a
+ href="#windowworker">WindowWorker</a></code> object that is itself a <a
+ href="#needed">needed worker</a>.
+ </ul>
+
+ <hr>
+
+ <p>A worker is said to be an <dfn id=active>active front-line worker</dfn>
+ if at least one of the <a href="#the-workers0">the worker's ports</a> has
+ both an <code title=dom-MessagePort-active>active</code> attribute whose
+ value is true and an entangled <code>MessagePort</code> whose <code
+ title=dom-MessagePort-ownerWindow>ownerWindow</code> is a
+ <code>WindowBrowsingContext</code> object.
+
+ <p>A worker is said to be an <dfn id=active0>active needed worker</dfn> if
+ either:
+
+ <ul>
+ <li>it is an <a href="#active">active front-line worker</a>, or
+
+ <li>at least one of the <a href="#the-workers0">the worker's ports</a> has
+ an entangled <code>MessagePort</code> whose <code
+ title=dom-MessagePort-ownerWindow>ownerWindow</code> is a <code><a
+ href="#windowworker">WindowWorker</a></code> object that is itself an <a
+ href="#active0">active needed worker</a>.
+ </ul>
+
<h3 id=processing><span class=secno>2.5 </span>Processing model</h3>
<p>When a user agent is to <dfn id=run-a>run a worker</dfn> named <var
@@ -546,29 +588,32 @@
<li>
<p>Invoke the <a href="#success" title="worker creation
succeeded">success steps</a> defined by the algorithm that called this
- one. (This will add an event to the <a href="#queue">queue of
- events</a>.)</p>
+ one.</p>
+
+ <p class=note>This will usually add an event to the <a
+ href="#queue">queue of events</a>. If it does, that event will have a
+ <code>MessagePort</code> and thus the list of <a
+ href="#the-workers0">the worker's ports</a> will not be empty. If it
+ doesn't, then the next step will set the <var title="">window</var>
+ object's <code title=dom-WindowWorker-closing><a
+ href="#closing">closing</a></code> attribute to true.</p>
+
+ <li>
+ <p>Start monitoring <var title="">worker</var>, such that as soon as the
+ worker stops being a <a href="#needed">needed worker</a>, the <var
+ title="">window</var> object's <code title=dom-WindowWorker-closing><a
+ href="#closing">closing</a></code> attribute is set to true.</p>
<li>
<p>Start monitoring <var title="">worker</var>, such that whenever the
<var title="">window</var> object's <code
title=dom-WindowWorker-closing><a href="#closing">closing</a></code>
- attribute is false and all <a href="#the-workers0">the worker's
- ports</a> have their <code title=dom-MessagePort-active>active</code>
- attributes set to false, the user agent suspends execution of script in
- that worker until such time as either the <code
- title=dom-WindowWorker-closing><a href="#closing">closing</a></code>
- attribute switches to true or one of the <code>MessagePort</code>
- objects in the list of <a href="#the-workers0">the worker's ports</a>
- has an <code title=dom-MessagePort-active>active</code> attribute with
- the value true.</p>
-
- <li>
- <p>Start monitoring <var title="">worker</var>, such that as soon as the
- list of <a href="#the-workers0">the worker's ports</a> becomes empty,
- the <var title="">window</var> object's <code
+ attribute is false and the worker is not an <a href="#active0">active
+ needed worker</a>, the user agent suspends execution of script in that
+ worker until such time as either the <code
title=dom-WindowWorker-closing><a href="#closing">closing</a></code>
- attribute is set to true.</p>
+ attribute switches to true or the worker becomes an <a
+ href="#active0">active needed worker</a>.</p>
<li>
<p>Run <var title="">script</var> until it either returns, fails to catch
Received on Friday, 18 July 2008 09:28:39 UTC