Skip to content

Commit

Permalink
[e] (0) Reframe the 'update the rendering' step so we can add substeps.
Browse files Browse the repository at this point in the history
Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=26636
Affected topics: DOM APIs

git-svn-id: https://svn.whatwg.org/webapps@8782 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Sep 17, 2014
1 parent b007399 commit 9681d0f
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 12 deletions.
19 changes: 15 additions & 4 deletions complete.html
Expand Up @@ -62820,10 +62820,21 @@ <h5 id=processing-model-9>8.1.4.2 Processing model</h5>
queue</a>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-4>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task>currently running task</a> to the <a href=#concept-task id=processing-model-9:concept-task-2>task</a> selected in the previous step.<li><p><i>Run</i>: Run the selected <a href=#concept-task id=processing-model-9:concept-task-3>task</a>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-5>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-2>currently running task</a> back to
null.<li><p>If the <a href=#storage-mutex id=processing-model-9:storage-mutex>storage mutex</a> is now owned by the <a href=#event-loop id=processing-model-9:event-loop-6>event loop</a>, release it
so that it is once again free.<li><p>If a task was run in the <i>run</i> step above, remove that task from its <a href=#task-queue id=processing-model-9:task-queue-3>task
queue</a>.<li><p><a href=#perform-a-microtask-checkpoint id=processing-model-9:perform-a-microtask-checkpoint>Perform a microtask checkpoint</a>.<li><p><i>Update the rendering</i>: If this <a href=#event-loop id=processing-model-9:event-loop-7>event loop</a> is a <a href=#browsing-context id=processing-model-9:browsing-context-2>browsing
context</a> <a href=#event-loop id=processing-model-9:event-loop-8>event loop</a> (as opposed to a <a href=#workers>worker</a> <a href=#event-loop id=processing-model-9:event-loop-9>event
loop</a>), then, if necessary, update the rendering or user interface of any
<code id=processing-model-9:document-2><a href=#document>Document</a></code> or <a href=#browsing-context id=processing-model-9:browsing-context-3>browsing context</a> to reflect the current state.<li><p>If this is a <a href=#workers>worker</a> <a href=#event-loop id=processing-model-9:event-loop-10>event loop</a> (i.e. one running for a
queue</a>.<li><p><a href=#perform-a-microtask-checkpoint id=processing-model-9:perform-a-microtask-checkpoint>Perform a microtask checkpoint</a>.<li>

<p><i>Update the rendering</i>: If this <a href=#event-loop id=processing-model-9:event-loop-7>event loop</a> is a <a href=#browsing-context id=processing-model-9:browsing-context-2>browsing
context</a> <a href=#event-loop id=processing-model-9:event-loop-8>event loop</a> (as opposed to a <a href=#workers>worker</a>
<a href=#event-loop id=processing-model-9:event-loop-9>event loop</a>), then, if necessary, run the following steps.</p>

<ol><li><p>Update the rendering or user interface of any <code id=processing-model-9:document-2><a href=#document>Document</a></code> or <a href=#browsing-context id=processing-model-9:browsing-context-3>browsing
context</a> to reflect the current state.</ol>

<p class=note>Whether these steps are necessary depends on the update frequency. For example,
if the browser is attempting to achieve a 60 Hz refresh rate, then these steps are only
necessary every 60th of a second (about 16.7ms). This specification does not mandate any
particular model for when to update the rendering.</p>

<li><p>If this is a <a href=#workers>worker</a> <a href=#event-loop id=processing-model-9:event-loop-10>event loop</a> (i.e. one running for a
<code id=processing-model-9:workerglobalscope><a href=#workerglobalscope>WorkerGlobalScope</a></code>), but there are no <a href=#concept-task id=processing-model-9:concept-task-4>tasks</a> in the
<a href=#event-loop id=processing-model-9:event-loop-11>event loop</a>'s <a href=#task-queue id=processing-model-9:task-queue-4>task queues</a> and the
<code id=processing-model-9:workerglobalscope-2><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing id=processing-model-9:dom-workerglobalscope-closing>closing</a> flag is true, then destroy the <a href=#event-loop id=processing-model-9:event-loop-12>event
Expand Down
19 changes: 15 additions & 4 deletions index
Expand Up @@ -62820,10 +62820,21 @@ dictionary <dfn id=erroreventinit>ErrorEventInit</dfn> : <a href=#eventinit id=t
queue</a>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-4>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task>currently running task</a> to the <a href=#concept-task id=processing-model-9:concept-task-2>task</a> selected in the previous step.<li><p><i>Run</i>: Run the selected <a href=#concept-task id=processing-model-9:concept-task-3>task</a>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-5>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-2>currently running task</a> back to
null.<li><p>If the <a href=#storage-mutex id=processing-model-9:storage-mutex>storage mutex</a> is now owned by the <a href=#event-loop id=processing-model-9:event-loop-6>event loop</a>, release it
so that it is once again free.<li><p>If a task was run in the <i>run</i> step above, remove that task from its <a href=#task-queue id=processing-model-9:task-queue-3>task
queue</a>.<li><p><a href=#perform-a-microtask-checkpoint id=processing-model-9:perform-a-microtask-checkpoint>Perform a microtask checkpoint</a>.<li><p><i>Update the rendering</i>: If this <a href=#event-loop id=processing-model-9:event-loop-7>event loop</a> is a <a href=#browsing-context id=processing-model-9:browsing-context-2>browsing
context</a> <a href=#event-loop id=processing-model-9:event-loop-8>event loop</a> (as opposed to a <a href=#workers>worker</a> <a href=#event-loop id=processing-model-9:event-loop-9>event
loop</a>), then, if necessary, update the rendering or user interface of any
<code id=processing-model-9:document-2><a href=#document>Document</a></code> or <a href=#browsing-context id=processing-model-9:browsing-context-3>browsing context</a> to reflect the current state.<li><p>If this is a <a href=#workers>worker</a> <a href=#event-loop id=processing-model-9:event-loop-10>event loop</a> (i.e. one running for a
queue</a>.<li><p><a href=#perform-a-microtask-checkpoint id=processing-model-9:perform-a-microtask-checkpoint>Perform a microtask checkpoint</a>.<li>

<p><i>Update the rendering</i>: If this <a href=#event-loop id=processing-model-9:event-loop-7>event loop</a> is a <a href=#browsing-context id=processing-model-9:browsing-context-2>browsing
context</a> <a href=#event-loop id=processing-model-9:event-loop-8>event loop</a> (as opposed to a <a href=#workers>worker</a>
<a href=#event-loop id=processing-model-9:event-loop-9>event loop</a>), then, if necessary, run the following steps.</p>

<ol><li><p>Update the rendering or user interface of any <code id=processing-model-9:document-2><a href=#document>Document</a></code> or <a href=#browsing-context id=processing-model-9:browsing-context-3>browsing
context</a> to reflect the current state.</ol>

<p class=note>Whether these steps are necessary depends on the update frequency. For example,
if the browser is attempting to achieve a 60 Hz refresh rate, then these steps are only
necessary every 60th of a second (about 16.7ms). This specification does not mandate any
particular model for when to update the rendering.</p>

<li><p>If this is a <a href=#workers>worker</a> <a href=#event-loop id=processing-model-9:event-loop-10>event loop</a> (i.e. one running for a
<code id=processing-model-9:workerglobalscope><a href=#workerglobalscope>WorkerGlobalScope</a></code>), but there are no <a href=#concept-task id=processing-model-9:concept-task-4>tasks</a> in the
<a href=#event-loop id=processing-model-9:event-loop-11>event loop</a>'s <a href=#task-queue id=processing-model-9:task-queue-4>task queues</a> and the
<code id=processing-model-9:workerglobalscope-2><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing id=processing-model-9:dom-workerglobalscope-closing>closing</a> flag is true, then destroy the <a href=#event-loop id=processing-model-9:event-loop-12>event
Expand Down
23 changes: 19 additions & 4 deletions source
Expand Up @@ -84952,10 +84952,25 @@ dictionary <dfn>ErrorEventInit</dfn> : <span>EventInit</span> {

<li><p><span>Perform a microtask checkpoint</span>.</p></li>

<li><p><i>Update the rendering</i>: If this <span>event loop</span> is a <span>browsing
context</span> <span>event loop</span> (as opposed to a <a href="#workers">worker</a> <span>event
loop</span>), then, if necessary, update the rendering or user interface of any
<code>Document</code> or <span>browsing context</span> to reflect the current state.</p></li>
<li>

<p><i>Update the rendering</i>: If this <span>event loop</span> is a <span>browsing
context</span> <span>event loop</span> (as opposed to a <a href="#workers">worker</a>
<span>event loop</span>), then, if necessary, run the following steps.</p>

<ol>

<li><p>Update the rendering or user interface of any <code>Document</code> or <span>browsing
context</span> to reflect the current state.</p></li>

</ol>

<p class="note">Whether these steps are necessary depends on the update frequency. For example,
if the browser is attempting to achieve a 60 Hz refresh rate, then these steps are only
necessary every 60th of a second (about 16.7ms). This specification does not mandate any
particular model for when to update the rendering.</p>

</li>

<li><p>If this is a <a href="#workers">worker</a> <span>event loop</span> (i.e. one running for a
<code>WorkerGlobalScope</code>), but there are no <span data-x="concept-task">tasks</span> in the
Expand Down

0 comments on commit 9681d0f

Please sign in to comment.