- From: poot <cvsmail@w3.org>
- Date: Tue, 24 Mar 2009 16:44:24 +0900 (JST)
- To: public-html-diffs@w3.org
Define the storage mutex. Will be used in the next few checkins. (whatwg r2898) 2.1.1 XML http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#xml pause http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#pause DOM attributes http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#dom-attributes elements in the HTML namespace http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#elements-in-the-html-namespace storage mutex http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#storage-mutex 6.10.2 Definitions http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#definitions-2 5.5.4 Event loops http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#event-loops 5.5.4.2 Processing model http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#processing-model-2 5.5.4.1 Definitions http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#definitions-1 obtain the storage mutex http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#obtain-the-storage-mutex 5.5.3.4 Killing scripts http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#killing-scripts 6.10 Undo history http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#undo 6.9.7 Security risks in the drag-and-drop model http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#security-risks-in-the-drag-and-drop-model task source http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#task-source 5.5.4.3 Generic task sources http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#generic-task-sources undo transaction history http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#undo-transaction-history event loops http://people.w3.org/mike/diffs/html5/spec/Overview.1.2067.html#event-loop http://people.w3.org/mike/diffs/html5/spec/Overview.diff.html http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.2066&r2=1.2067&f=h http://html5.org/tools/web-apps-tracker?from=2897&to=2898 =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.2066 retrieving revision 1.2067 diff -u -d -r1.2066 -r1.2067 --- Overview.html 24 Mar 2009 02:12:18 -0000 1.2066 +++ Overview.html 24 Mar 2009 07:42:06 -0000 1.2067 @@ -744,7 +744,9 @@ <li><a href=#killing-scripts><span class=secno>5.5.3.4 </span>Killing scripts</a></ol></li> <li><a href=#event-loops><span class=secno>5.5.4 </span>Event loops</a> <ol> - <li><a href=#generic-task-sources><span class=secno>5.5.4.1 </span>Generic task sources</a></ol></li> + <li><a href=#definitions-1><span class=secno>5.5.4.1 </span>Definitions</a></li> + <li><a href=#processing-model-2><span class=secno>5.5.4.2 </span>Processing model</a></li> + <li><a href=#generic-task-sources><span class=secno>5.5.4.3 </span>Generic task sources</a></ol></li> <li><a href=#javascript-protocol><span class=secno>5.5.5 </span>The <code title="">javascript:</code> protocol</a></li> <li><a href=#events><span class=secno>5.5.6 </span>Events</a> <ol> @@ -883,7 +885,7 @@ <li><a href=#undo><span class=secno>6.10 </span>Undo history</a> <ol> <li><a href=#introduction-4><span class=secno>6.10.1 </span>Introduction</a></li> - <li><a href=#definitions-1><span class=secno>6.10.2 </span>Definitions</a></li> + <li><a href=#definitions-2><span class=secno>6.10.2 </span>Definitions</a></li> <li><a href=#the-undomanager-interface><span class=secno>6.10.3 </span>The <code>UndoManager</code> interface</a></li> <li><a href=#undo:-moving-back-in-the-undo-transaction-history><span class=secno>6.10.4 </span>Undo: moving back in the undo transaction history</a></li> <li><a href=#redo:-moving-forward-in-the-undo-transaction-history><span class=secno>6.10.5 </span>Redo: moving forward in the undo transaction history</a></li> @@ -1295,13 +1297,7 @@ and <i>visible</i> might sometimes be used when referring to the way a document is rendered to the user. These terms are not meant to imply a visual medium; they must be considered to apply to other - media in equivalent ways.<p class=impl>Some of the algorithms in this specification, for - historical reasons, require the user agent to <dfn id=pause>pause</dfn> until - some condition has been met. While a user agent is paused, it must - ensure that no scripts execute (e.g. no event handlers, no timers, - etc). User agents should remain responsive to user input while - paused, however, albeit without letting the user interact with Web - pages where that would involve invoking any <a href=#concept-script title=concept-script>script</a>.<h4 id=xml><span class=secno>2.1.1 </span>XML</h4><p id=html-namespace>To ease migration from HTML to XHTML, UAs + media in equivalent ways.<h4 id=xml><span class=secno>2.1.1 </span>XML</h4><p id=html-namespace>To ease migration from HTML to XHTML, UAs conforming to this specification will place elements in HTML in the <code>http://www.w3.org/1999/xhtml</code> namespace, at least for the purposes of the DOM and CSS. The term "<dfn id=elements-in-the-html-namespace>elements in the HTML @@ -35796,6 +35792,8 @@ <h4 id=event-loops><span class=secno>5.5.4 </span>Event loops</h4> + <h5 id=definitions-1><span class=secno>5.5.4.1 </span>Definitions</h5> + <p>To coordinate events, user interaction, scripts, rendering, networking, and so forth, user agents must use <dfn id=event-loop title="event loop">event loops</dfn> as described in this section.</p> @@ -35885,14 +35883,26 @@ processing events from any one <a href=#task-source>task source</a> out of order.</p> + <p>A user agent is required to have one <dfn id=storage-mutex>storage + mutex</dfn>. This mutex is used to control access to shared state + like cookies. At any one point, the <a href=#storage-mutex>storage mutex</a> is + either free, or owned by a particular <a href=#event-loop>event loop</a>.</p> + + + <h5 id=processing-model-2><span class=secno>5.5.4.2 </span>Processing model</h5> + <p>An <a href=#event-loop>event loop</a> must continually run through the following steps for as long as it exists:</p> - <ol><li><p>Run the oldest task on one of the <a href=#event-loop>event loop</a>'s - <a href=#task-queue title="task queue">task queues</a>, ignoring tasks whose - associated <code>Document</code>s are not <a href=#fully-active>fully - active</a>. The user agent may pick any <a href=#task-queue>task - queue</a>.</li> + <ol><li><p>Run the oldest <a href=#concept-task title=concept-task>task</a> on one + of the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task queue">task + queues</a>, ignoring tasks whose associated + <code>Document</code>s are not <a href=#fully-active>fully active</a>. The user + agent may pick any <a href=#task-queue>task queue</a>.</li> + + <li><p>If the <a href=#storage-mutex>storage mutex</a> is now owned by the + <a href=#event-loop>event loop</a>, release it so that it is once again + free.</p> <li><p>Remove that task from its <a href=#task-queue>task queue</a>.</li> @@ -35903,9 +35913,32 @@ <li><p>Return to the first step of the <a href=#event-loop>event loop</a>.</li> + </ol><hr><p class=impl>Some of the algorithms in this specification, for + historical reasons, require the user agent to <dfn id=pause>pause</dfn> while + running a <a href=#concept-task title=concept-task>task</a> until some + condition has been met. While a user agent has a paused <a href=#concept-task title=concept-task>task</a>, the corresponding <a href=#event-loop>event + loop</a> must not run further <a href=#concept-task title=concept-task>tasks</a>, and any script in the currently + running <a href=#concept-task title=concept-task>task</a> must block. User + agents should remain responsive to user input while paused, however, + albeit in a reduced capacity since the <a href=#event-loop>event loop</a> will + not be doing anything.</p> + + <hr><p>When a user agent is to <dfn id=obtain-the-storage-mutex>obtain the storage mutex</dfn> as + part of running a <a href=#concept-task title=concept-task>task</a>, it must + run through the following steps:</p> + + <ol><li><p>If the <a href=#storage-mutex>storage mutex</a> is already owned by this + <a href=#concept-task title=concept-task>task</a>'s <a href=#event-loop>event loop</a>, + then abort these steps.</li> + + <li><p>Otherwise, <a href=#pause>pause</a> until the <a href=#storage-mutex>storage + mutex</a> can be taken by the <a href=#event-loop>event loop</a>.</li> + + <li><p>Take ownership of the <a href=#storage-mutex>storage mutex</a>.</li> + </ol></div><div class=impl> - <h5 id=generic-task-sources><span class=secno>5.5.4.1 </span>Generic task sources</h5> + <h5 id=generic-task-sources><span class=secno>5.5.4.3 </span>Generic task sources</h5> <p>The following <a href=#task-source title="task source">task sources</a> are used by a number of mostly unrelated features in this and other @@ -43504,7 +43537,7 @@ </div><h3 id=undo><span class=secno>6.10 </span><dfn>Undo history</dfn></h3><p class=XXX>There has got to be a better way of doing this, surely.<h4 id=introduction-4><span class=secno>6.10.1 </span>Introduction</h4><p class=XXX>...<div class=impl> - <h4 id=definitions-1><span class=secno>6.10.2 </span>Definitions</h4> + <h4 id=definitions-2><span class=secno>6.10.2 </span>Definitions</h4> <p>The user agent must associate an <dfn id=undo-transaction-history>undo transaction history</dfn> with each <code><a href=#htmldocument>HTMLDocument</a></code> object.</p>
Received on Tuesday, 24 March 2009 07:45:01 UTC