Skip to content
Permalink
Browse files

[e] (0) Teach the event loop that it might not have a task to run

Affected topics: DOM APIs

git-svn-id: https://svn.whatwg.org/webapps@8850 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information...
Hixie committed Nov 19, 2014
1 parent 6808d54 commit 4d582b1cf1f6d6dc916a3c72ab7cb0979a507863
Showing with 11 additions and 11 deletions.
  1. +4 −4 complete.html
  2. +4 −4 index
  3. +3 −3 source



<h4 id=dependencies>2.2.2 Dependencies</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27343" title="i dont know">27343</a></div>
<h4 id=dependencies>2.2.2 Dependencies</h4>

<p>This specification relies on several other underlying specifications.</p>

loop</a>'s <a href=#task-queue id=processing-model-9:task-queue>task queues</a>, if any, ignoring, in the case of a
<a href=#browsing-context id=processing-model-9:browsing-context>browsing context</a> <a href=#event-loop id=processing-model-9:event-loop-3>event loop</a>, tasks whose associated
<code id=processing-model-9:document><a href=#document>Document</a></code>s are not <a href=#fully-active id=processing-model-9:fully-active>fully active</a>. The user agent may pick any <a href=#task-queue id=processing-model-9:task-queue-2>task
queue</a>.</p>
queue</a>. If there is no task to select, then jump to the <i>microtasks</i> step below.</p>

<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>
so that it is once again free.<li><p>Remove the task that was run in the <i>run</i> step above from its <a href=#task-queue id=processing-model-9:task-queue-3>task
queue</a>.<li><p><i>Microtasks</i>: <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>
8 index



<h4 id=dependencies>2.2.2 Dependencies</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27343" title="i dont know">27343</a></div>
<h4 id=dependencies>2.2.2 Dependencies</h4>

<p>This specification relies on several other underlying specifications.</p>

loop</a>'s <a href=#task-queue id=processing-model-9:task-queue>task queues</a>, if any, ignoring, in the case of a
<a href=#browsing-context id=processing-model-9:browsing-context>browsing context</a> <a href=#event-loop id=processing-model-9:event-loop-3>event loop</a>, tasks whose associated
<code id=processing-model-9:document><a href=#document>Document</a></code>s are not <a href=#fully-active id=processing-model-9:fully-active>fully active</a>. The user agent may pick any <a href=#task-queue id=processing-model-9:task-queue-2>task
queue</a>.</p>
queue</a>. If there is no task to select, then jump to the <i>microtasks</i> step below.</p>

<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>
so that it is once again free.<li><p>Remove the task that was run in the <i>run</i> step above from its <a href=#task-queue id=processing-model-9:task-queue-3>task
queue</a>.<li><p><i>Microtasks</i>: <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>
6 source
loop</span>'s <span data-x="task queue">task queues</span>, if any, ignoring, in the case of a
<span>browsing context</span> <span>event loop</span>, tasks whose associated
<code>Document</code>s are not <span>fully active</span>. The user agent may pick any <span>task
queue</span>.</p>
queue</span>. If there is no task to select, then jump to the <i>microtasks</i> step below.</p>

</li>

<li><p>If the <span>storage mutex</span> is now owned by the <span>event loop</span>, release it
so that it is once again free.</p></li>

<li><p>If a task was run in the <i>run</i> step above, remove that task from its <span>task
<li><p>Remove the task that was run in the <i>run</i> step above from its <span>task
queue</span>.</p></li>

<li><p><span>Perform a microtask checkpoint</span>.</p></li>
<li><p><i>Microtasks</i>: <span>Perform a microtask checkpoint</span>.</p></li>

<li>

0 comments on commit 4d582b1

Please sign in to comment.
You can’t perform that action at this time.