Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[giow] (0) Attempt to define a better hook for the File API
Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=19554
Affected topics: HTML

git-svn-id: http://svn.whatwg.org/webapps@7469 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Oct 19, 2012
1 parent a15d5cc commit 2642589
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 12 deletions.
22 changes: 18 additions & 4 deletions complete.html
Expand Up @@ -248,7 +248,7 @@

<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1 class=allcaps>HTML</h1>
<h2 class="no-num no-toc">Living Standard &mdash; Last Updated 17 October 2012</h2>
<h2 class="no-num no-toc">Living Standard &mdash; Last Updated 19 October 2012</h2>
</hgroup><dl><dt><strong>Web developer edition:</strong></dt>
<dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
<dt>Multiple-page version:</dt>
Expand Down Expand Up @@ -74758,22 +74758,36 @@ <h5 id=calling-scripts><span class=secno>7.1.3.2 </span>Calling scripts</h5>

<li><p>Set the <a href=#entry-script>entry script</a> to be the <a href=#concept-script title=concept-script>script</a> being invoked.</li>

<li><p>Let <var title="">previous script clean-up jobs list</var> have the value of the current
<a href=#global-script-clean-up-jobs-list>global script clean-up jobs list</a>.</li>

<li><p>Empty the <a href=#global-script-clean-up-jobs-list>global script clean-up jobs list</a>.</li>

<li><p>Make the <a href=#script-execution-environment title="script execution environment">script
execution environment</a> for the <a href=#concept-script title=concept-script>script</a> execute the code for the given
code entry-point.</li>

<li><p>Set the <a href=#entry-script>entry script</a> back to whatever it was
when this algorithm started.</li>

<li><p><a href=#perform-a-microtask-checkpoint>Perform a microtask checkpoint</a>.</li>
<li><p><a href=#run-the-global-script-clean-up-jobs>Run the global script clean-up jobs</a>.</li>

<li><p>Run any <dfn id=post-script-clean-up-steps>post-script clean-up steps</dfn> defined by this or other specifications (in
particular, the File API uses this to release <code title="">blob:</code> URLs). <a href=#refsFILEAPI>[FILEAPI]</a></li>
<li><p>Set the <a href=#global-script-clean-up-jobs-list>global script clean-up jobs list</a> to the value of <var title="">previous script clean-up jobs list</var>.</li>

<li><p><a href=#perform-a-microtask-checkpoint>Perform a microtask checkpoint</a>. (If this runs scripts, it will result in this
algorithm being invoked reentrantly.)</li>

</ol><p>This algorithm is not invoked by one script directly calling another, but it can be invoked
reentrantly in an indirect manner, e.g. if a script dispatches an event which has event listeners
registered.</p>

<hr><p>Each <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</a> has a <dfn id=global-script-clean-up-jobs-list>global script
clean-up jobs list</dfn>, which must initially be empty.</p>

<p>When the user agent is to <dfn id=run-the-global-script-clean-up-jobs>run the global script clean-up jobs</dfn>, the user agent must
perform each of the jobs in the <a href=#global-script-clean-up-jobs-list>global script clean-up jobs list</a> and then empty the
list. (The File API uses this to release <code title="">blob:</code> URLs.) <a href=#refsFILEAPI>[FILEAPI]</a></p>

</div>


Expand Down
22 changes: 18 additions & 4 deletions index
Expand Up @@ -248,7 +248,7 @@

<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1 class=allcaps>HTML</h1>
<h2 class="no-num no-toc">Living Standard &mdash; Last Updated 17 October 2012</h2>
<h2 class="no-num no-toc">Living Standard &mdash; Last Updated 19 October 2012</h2>
</hgroup><dl><dt><strong>Web developer edition:</strong></dt>
<dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
<dt>Multiple-page version:</dt>
Expand Down Expand Up @@ -74758,22 +74758,36 @@ interface <dfn id=navigatoronline>NavigatorOnLine</dfn> {

<li><p>Set the <a href=#entry-script>entry script</a> to be the <a href=#concept-script title=concept-script>script</a> being invoked.</li>

<li><p>Let <var title="">previous script clean-up jobs list</var> have the value of the current
<a href=#global-script-clean-up-jobs-list>global script clean-up jobs list</a>.</li>

<li><p>Empty the <a href=#global-script-clean-up-jobs-list>global script clean-up jobs list</a>.</li>

<li><p>Make the <a href=#script-execution-environment title="script execution environment">script
execution environment</a> for the <a href=#concept-script title=concept-script>script</a> execute the code for the given
code entry-point.</li>

<li><p>Set the <a href=#entry-script>entry script</a> back to whatever it was
when this algorithm started.</li>

<li><p><a href=#perform-a-microtask-checkpoint>Perform a microtask checkpoint</a>.</li>
<li><p><a href=#run-the-global-script-clean-up-jobs>Run the global script clean-up jobs</a>.</li>

<li><p>Run any <dfn id=post-script-clean-up-steps>post-script clean-up steps</dfn> defined by this or other specifications (in
particular, the File API uses this to release <code title="">blob:</code> URLs). <a href=#refsFILEAPI>[FILEAPI]</a></li>
<li><p>Set the <a href=#global-script-clean-up-jobs-list>global script clean-up jobs list</a> to the value of <var title="">previous script clean-up jobs list</var>.</li>

<li><p><a href=#perform-a-microtask-checkpoint>Perform a microtask checkpoint</a>. (If this runs scripts, it will result in this
algorithm being invoked reentrantly.)</li>

</ol><p>This algorithm is not invoked by one script directly calling another, but it can be invoked
reentrantly in an indirect manner, e.g. if a script dispatches an event which has event listeners
registered.</p>

<hr><p>Each <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</a> has a <dfn id=global-script-clean-up-jobs-list>global script
clean-up jobs list</dfn>, which must initially be empty.</p>

<p>When the user agent is to <dfn id=run-the-global-script-clean-up-jobs>run the global script clean-up jobs</dfn>, the user agent must
perform each of the jobs in the <a href=#global-script-clean-up-jobs-list>global script clean-up jobs list</a> and then empty the
list. (The File API uses this to release <code title="">blob:</code> URLs.) <a href=#refsFILEAPI>[FILEAPI]</a></p>

</div>


Expand Down
25 changes: 21 additions & 4 deletions source
Expand Up @@ -87480,6 +87480,11 @@ interface <dfn>NavigatorOnLine</dfn> {
<li><p>Set the <span>entry script</span> to be the <span
title="concept-script">script</span> being invoked.</p></li>

<li><p>Let <var title="">previous script clean-up jobs list</var> have the value of the current
<span>global script clean-up jobs list</span>.</p></li>

<li><p>Empty the <span>global script clean-up jobs list</span>.</p></li>

<li><p>Make the <span title="script execution environment">script
execution environment</span> for the <span
title="concept-script">script</span> execute the code for the given
Expand All @@ -87488,18 +87493,30 @@ interface <dfn>NavigatorOnLine</dfn> {
<li><p>Set the <span>entry script</span> back to whatever it was
when this algorithm started.</p></li>

<li><p><span>Perform a microtask checkpoint</span>.</p></li>
<li><p><span>Run the global script clean-up jobs</span>.</p></li>

<li><p>Set the <span>global script clean-up jobs list</span> to the value of <var
title="">previous script clean-up jobs list</var>.</p></li>

<li><p>Run any <dfn>post-script clean-up steps</dfn> defined by this or other specifications (in
particular, the File API uses this to release <code title="">blob:</code> URLs). <a
href="#refsFILEAPI">[FILEAPI]</a></p></li>
<li><p><span>Perform a microtask checkpoint</span>. (If this runs scripts, it will result in this
algorithm being invoked reentrantly.)</p></li>

</ol>

<p>This algorithm is not invoked by one script directly calling another, but it can be invoked
reentrantly in an indirect manner, e.g. if a script dispatches an event which has event listeners
registered.</p>

<hr>

<p>Each <span>unit of related similar-origin browsing contexts</span> has a <dfn>global script
clean-up jobs list</dfn>, which must initially be empty.</p>

<p>When the user agent is to <dfn>run the global script clean-up jobs</dfn>, the user agent must
perform each of the jobs in the <span>global script clean-up jobs list</span> and then empty the
list. (The File API uses this to release <code title="">blob:</code> URLs.) <a
href="#refsFILEAPI">[FILEAPI]</a></p>

</div>


Expand Down

0 comments on commit 2642589

Please sign in to comment.