Skip to content

Commit

Permalink
[giow] (2) Try to reduce race conditions involving media elements and…
Browse files Browse the repository at this point in the history
… the 'load' event.

Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=24353
Affected topics: Video and Audio

git-svn-id: http://svn.whatwg.org/webapps@8434 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Jan 28, 2014
1 parent 759ee62 commit 74e8671
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 15 deletions.
14 changes: 9 additions & 5 deletions complete.html
Expand Up @@ -26061,7 +26061,8 @@ <h5 id=loading-the-media-resource><span class=secno>4.7.10.5 </span>Loading the
<li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-media-error><a href=#event-media-error>error</a></code> at
the <a href=#media-element>media element</a>.</li>

<li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>
<!--CLEANUP-->
<li><p><a href=#queue-a-task>Queue a task</a> to set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>

</ol></li>

Expand Down Expand Up @@ -26168,7 +26169,8 @@ <h5 id=loading-the-media-resource><span class=secno>4.7.10.5 </span>Loading the

<li><p>&#x231b; Set the element's <a href=#show-poster-flag>show poster flag</a> to true.</li>

<li><p>&#x231b; Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This
<!--CLEANUP-->
<li><p>&#x231b; <a href=#queue-a-task>Queue a task</a> to set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This
stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>

<li><p>End the <a href=#synchronous-section>synchronous section</a>, continuing the remaining steps
Expand Down Expand Up @@ -26212,7 +26214,8 @@ <h5 id=loading-the-media-resource><span class=secno>4.7.10.5 </span>Loading the
<li><p><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a> named <code title=event-media-suspend><a href=#event-media-suspend>suspend</a></code> at the element, using the <a href=#dom-manipulation-task-source>DOM manipulation
task source</a>.</li>

<li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>
<!--CLEANUP-->
<li><p><a href=#queue-a-task>Queue a task</a> to set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>

<li><p>Wait for the task to be run.</li>

Expand Down Expand Up @@ -26269,9 +26272,10 @@ <h5 id=loading-the-media-resource><span class=secno>4.7.10.5 </span>Loading the
<p class=note>The <code title=attr-media-preload><a href=#attr-media-preload>preload</a></code> attribute provides a hint
regarding how much buffering the author thinks is advisable, even in the absence of the <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code> attribute.</p>

<!--CLEANUP-->
<p>When a user agent decides to completely stall a download, e.g. if it is waiting until the
user starts playback before downloading any further content, the element's
<a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> must be set to false. This stops <a href=#delay-the-load-event title="delay
user starts playback before downloading any further content, the user agent must <a href=#queue-a-task>queue a task</a> to set the element's
<a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay
the load event">delaying the load event</a>.</p>

<p>The user agent may use whatever means necessary to fetch the resource (within the constraints
Expand Down
14 changes: 9 additions & 5 deletions index
Expand Up @@ -26061,7 +26061,8 @@ interface <dfn id=htmlmediaelement>HTMLMediaElement</dfn> : <a href=#htmlelement
<li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-media-error><a href=#event-media-error>error</a></code> at
the <a href=#media-element>media element</a>.</li>

<li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>
<!--CLEANUP-->
<li><p><a href=#queue-a-task>Queue a task</a> to set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>

</ol></li>

Expand Down Expand Up @@ -26168,7 +26169,8 @@ interface <dfn id=htmlmediaelement>HTMLMediaElement</dfn> : <a href=#htmlelement

<li><p>&#x231b; Set the element's <a href=#show-poster-flag>show poster flag</a> to true.</li>

<li><p>&#x231b; Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This
<!--CLEANUP-->
<li><p>&#x231b; <a href=#queue-a-task>Queue a task</a> to set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This
stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>

<li><p>End the <a href=#synchronous-section>synchronous section</a>, continuing the remaining steps
Expand Down Expand Up @@ -26212,7 +26214,8 @@ interface <dfn id=htmlmediaelement>HTMLMediaElement</dfn> : <a href=#htmlelement
<li><p><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a> named <code title=event-media-suspend><a href=#event-media-suspend>suspend</a></code> at the element, using the <a href=#dom-manipulation-task-source>DOM manipulation
task source</a>.</li>

<li><p>Set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>
<!--CLEANUP-->
<li><p><a href=#queue-a-task>Queue a task</a> to set the element's <a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay the load event">delaying the load event</a>.</li>

<li><p>Wait for the task to be run.</li>

Expand Down Expand Up @@ -26269,9 +26272,10 @@ interface <dfn id=htmlmediaelement>HTMLMediaElement</dfn> : <a href=#htmlelement
<p class=note>The <code title=attr-media-preload><a href=#attr-media-preload>preload</a></code> attribute provides a hint
regarding how much buffering the author thinks is advisable, even in the absence of the <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code> attribute.</p>

<!--CLEANUP-->
<p>When a user agent decides to completely stall a download, e.g. if it is waiting until the
user starts playback before downloading any further content, the element's
<a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> must be set to false. This stops <a href=#delay-the-load-event title="delay
user starts playback before downloading any further content, the user agent must <a href=#queue-a-task>queue a task</a> to set the element's
<a href=#delaying-the-load-event-flag>delaying-the-load-event flag</a> to false. This stops <a href=#delay-the-load-event title="delay
the load event">delaying the load event</a>.</p>

<p>The user agent may use whatever means necessary to fetch the resource (within the constraints
Expand Down
14 changes: 9 additions & 5 deletions source
Expand Up @@ -27637,7 +27637,8 @@ interface <dfn>HTMLMediaElement</dfn> : <span>HTMLElement</span> {
<li><p><span>Fire a simple event</span> named <code data-x="event-media-error">error</code> at
the <span>media element</span>.</p></li>

<li><p>Set the element's <span>delaying-the-load-event flag</span> to false. This stops <span
<!--CLEANUP-->
<li><p><span>Queue a task</span> to set the element's <span>delaying-the-load-event flag</span> to false. This stops <span
data-x="delay the load event">delaying the load event</span>.</p></li>

</ol>
Expand Down Expand Up @@ -27773,7 +27774,8 @@ interface <dfn>HTMLMediaElement</dfn> : <span>HTMLElement</span> {

<li><p>&#x231B; Set the element's <span>show poster flag</span> to true.</p></li>

<li><p>&#x231B; Set the element's <span>delaying-the-load-event flag</span> to false. This
<!--CLEANUP-->
<li><p>&#x231B; <span>Queue a task</span> to set the element's <span>delaying-the-load-event flag</span> to false. This
stops <span data-x="delay the load event">delaying the load event</span>.</p></li>

<li><p>End the <span>synchronous section</span>, continuing the remaining steps
Expand Down Expand Up @@ -27829,7 +27831,8 @@ interface <dfn>HTMLMediaElement</dfn> : <span>HTMLElement</span> {
data-x="event-media-suspend">suspend</code> at the element, using the <span>DOM manipulation
task source</span>.</p></li>

<li><p>Set the element's <span>delaying-the-load-event flag</span> to false. This stops <span
<!--CLEANUP-->
<li><p><span>Queue a task</span> to set the element's <span>delaying-the-load-event flag</span> to false. This stops <span
data-x="delay the load event">delaying the load event</span>.</p></li>

<li><p>Wait for the task to be run.</p></li>
Expand Down Expand Up @@ -27897,9 +27900,10 @@ interface <dfn>HTMLMediaElement</dfn> : <span>HTMLElement</span> {
regarding how much buffering the author thinks is advisable, even in the absence of the <code
data-x="attr-media-autoplay">autoplay</code> attribute.</p>

<!--CLEANUP-->
<p>When a user agent decides to completely stall a download, e.g. if it is waiting until the
user starts playback before downloading any further content, the element's
<span>delaying-the-load-event flag</span> must be set to false. This stops <span data-x="delay
user starts playback before downloading any further content, the user agent must <span>queue a task</span> to set the element's
<span>delaying-the-load-event flag</span> to false. This stops <span data-x="delay
the load event">delaying the load event</span>.</p>

<p>The user agent may use whatever means necessary to fetch the resource (within the constraints
Expand Down

0 comments on commit 74e8671

Please sign in to comment.