hixie: Make chapters support nesting. (whatwg r6428)

hixie: Make chapters support nesting. (whatwg r6428)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.5131&r2=1.5132&f=h
http://html5.org/tools/web-apps-tracker?from=6427&to=6428

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.5131
retrieving revision 1.5132
diff -u -d -r1.5131 -r1.5132
--- Overview.html 11 Aug 2011 22:24:39 -0000 1.5131
+++ Overview.html 12 Aug 2011 06:34:59 -0000 1.5132
@@ -320,7 +320,7 @@
 
    <h1>HTML5</h1>
    <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
-   <h2 class="no-num no-toc" id="editor-s-draft-11-august-2011">Editor's Draft 11 August 2011</h2>
+   <h2 class="no-num no-toc" id="editor-s-draft-12-august-2011">Editor's Draft 12 August 2011</h2>
    <dl><dt>Latest Published Version:</dt>
     <dd><a href="http://www.w3.org/TR/html5/">http://www.w3.org/TR/html5/</a></dd>
     <dt>Latest Editor's Draft:</dt>
@@ -466,7 +466,7 @@
   Group</a> is the W3C working group responsible for this
   specification's progress along the W3C Recommendation
   track.
-  This specification is the 11 August 2011 Editor's Draft.
+  This specification is the 12 August 2011 Editor's Draft.
   </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>Work on this specification is also done at the <a href="http://www.whatwg.org/">WHATWG</a>. The W3C HTML working group
   actively pursues convergence with the WHATWG, as required by the <a href="http://www.w3.org/2007/03/HTML-WG-charter">W3C HTML working
   group charter</a>.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
@@ -779,7 +779,8 @@
          <li><a href="#sourcing-in-band-text-tracks"><span class="secno">4.8.10.12.2 </span>Sourcing in-band text tracks</a></li>
          <li><a href="#sourcing-out-of-band-text-tracks"><span class="secno">4.8.10.12.3 </span>Sourcing out-of-band text tracks</a></li>
          <li><a href="#text-track-api"><span class="secno">4.8.10.12.4 </span>Text track API</a></li>
-         <li><a href="#cue-events"><span class="secno">4.8.10.12.5 </span>Event definitions</a></ol></li>
+         <li><a href="#text-tracks-describing-chapters"><span class="secno">4.8.10.12.5 </span>Text tracks describing chapters</a></li>
+         <li><a href="#cue-events"><span class="secno">4.8.10.12.6 </span>Event definitions</a></ol></li>
        <li><a href="#user-interface"><span class="secno">4.8.10.13 </span>User interface</a></li>
        <li><a href="#time-ranges"><span class="secno">4.8.10.14 </span>Time ranges</a></li>
        <li><a href="#mediaevents"><span class="secno">4.8.10.15 </span>Event summary</a></li>
@@ -21896,7 +21897,7 @@
      <td><dfn id="attr-track-kind-chapters" title="attr-track-kind-chapters">Chapters</dfn>
      <td>
       Chapter titles, intended to be used for navigating the <a href="#media-resource">media resource</a>.
-      Displayed as an interactive list in the user agent's interface.
+      Displayed as an interactive (potentially nested) list in the user agent's interface.
     <tr><td><dfn id="attr-track-kind-keyword-metadata" title="attr-track-kind-keyword-metadata"><code>metadata</code></dfn>
      <td><dfn id="attr-track-kind-metadata" title="attr-track-kind-metadata">Metadata</dfn>
      <td>
@@ -26703,9 +26704,78 @@
   so.
   </p>
 
-  </div><div class="impl">
+  </div><h6 id="text-tracks-describing-chapters"><span class="secno">4.8.10.12.5 </span>Text tracks describing chapters</h6><p>Chapters are segments of a <a href="#media-resource">media resource</a> with a
+  given title. Chapters can be nested, in the same way that sections
+  in a document outline can have subsections.<p>Each <a href="#text-track-cue">text track cue</a> in a <a href="#text-track">text track</a>
+  being used for describing chapters has three key features: the
+  <a href="#text-track-cue-start-time">text track cue start time</a>, giving the start time of the
+  chapter, the <a href="#text-track-cue-end-time">text track cue end time</a>, giving the end
+  time of the chapter, and the <a href="#text-track-cue-text">text track cue text</a> giving
+  the chapter title.<div class="impl">
 
-  <h6 id="cue-events"><span class="secno">4.8.10.12.5 </span>Event definitions</h6>
+  <p>The <dfn id="rules-for-constructing-the-chapter-tree-from-a-text-track">rules for constructing the chapter tree from a text
+  track</dfn> are as follows. They produce a potentially nested list
+  of chapters, each of which have a start time, end time, title, and a
+  list of nested chapters. This algorithm discards cues that do not
+  correctly nest within each other, or that are out of order.</p>
+
+  <ol><li><p>Let <var title="">list</var> be a copy of the <a href="#text-track-list-of-cues" title="text track list of cues">list of cues</a> of the
+   <a href="#text-track">text track</a> being processed.</li>
+
+   <li><p>Let <var title="">output</var> be an empty list of chapters,
+   where a chapter is a record consisting of a start time, an end
+   time, a title, and a (potentially empty) list of nested chapters.
+   For the purpose of this algorithm, each chapter also has a parent
+   chapter.</li>
+
+   <li><p>Let <var title="">current chapter</var> be a stand-in
+   chapter whose start time is negative infinity, whose end time is
+   positive infinity, and whose list of nested chapters is <var title="">output</var>. (This is just used to make the algorithm
+   easier to describe.)</li>
+
+   
+   <li><p><i>Loop</i>: If <var title="">list</var> is empty, jump to
+   the step labeled <i>end</i>.</li>
+
+   
+   <li><p>Let <var title="">current cue</var> be the first cue in <var title="">list</var>, and then remove it from <var title="">list</var>.</li>
+
+   <li><p>If <var title="">current cue</var>'s <a href="#text-track-cue-start-time">text track cue
+   start time</a> is less than the start time of <var title="">current chapter</var>, then return to the step labeled
+   <i>loop</i>.</p> 
+
+   <li><p>While <var title="">current cue</var>'s <a href="#text-track-cue-start-time">text track cue
+   start time</a> is greater than or equal to <var title="">current
+   chapter</var>'s end time, let <var title="">current chapter</var>
+   be <var title="">current chapter</var>'s parent chapter.</li>
+
+   <li><p>If <var title="">current cue</var>'s <a href="#text-track-cue-end-time">text track cue
+   end time</a> is greater than the end time of <var title="">current chapter</var>, then return to the step labeled
+   <i>loop</i>.</p> 
+
+   <li><p>Create a new chapter <var title="">new chapter</var>, whose
+   start time is <var title="">current cue</var>'s <a href="#text-track-cue-start-time">text track
+   cue start time</a>, whose end time is <var title="">current
+   cue</var>'s <a href="#text-track-cue-end-time">text track cue end time</a>, whose title is
+   <var title="">current cue</var>'s <a href="#text-track-cue-text">text track cue text</a>
+   interpreted according to its rules for interpretation, and whose
+   list of nested chapters is empty.</li>
+
+   <li><p>Append <var title="">new chapter</var> to <var title="">current chapter</var>'s list of nested chapters, and let
+   <var title="">current chapter</var> be <var title="">new
+   chapter</var>'s parent.</li>
+
+   <li><p>Let <var title="">current chapter</var> be <var title="">new
+   chapter</var>.</li>
+
+   <li><p>Return to the step labeled <i>loop</i>.</li>
+   
+
+   <li><p><i>End</i>: Return <var title="">output</var>.</li>
+
+  </ol></div><div class="impl">
+
+  <h6 id="cue-events"><span class="secno">4.8.10.12.6 </span>Event definitions</h6>
 
   <p>The following are the <a href="#event-handlers">event handlers</a> that must be
   supported, as IDL attributes, by all objects implementing the
@@ -26815,15 +26885,13 @@
   be useful to most users.
 
   <p>For the purposes of listing chapters in the <a href="#media-resource">media
-  resource</a>, only <a href="#text-track" title="text track">text tracks</a>
-  in the <a href="#media-element">media element</a>'s <a href="#list-of-text-tracks">list of text
-  tracks</a> <a href="#text-track-showing" title="text track showing">showing</a> or
-  <a href="#text-track-showing-by-default" title="text track showing by default">showing by
-  default</a> and whose <a href="#text-track-kind">text track kind</a> is <code title="dom-timedtrack-kind-chapters">chapters</code> should be used.
-  Each <a href="#text-track-cue" title="text track cue">cue</a> in such a <a href="#text-track">text
-  track</a> represents a chapter starting at the cue's <a href="#text-track-cue-start-time" title="text track cue start time">start time</a>. The name of
-  the chapter is the <a href="#text-track-cue-text">text track cue text</a>, interpreted
-  literally.</p>
+  resource</a>, only <a href="#text-track" title="text track">text tracks</a> in
+  the <a href="#media-element">media element</a>'s <a href="#list-of-text-tracks">list of text tracks</a>
+  <a href="#text-track-showing" title="text track showing">showing</a> or <a href="#text-track-showing-by-default" title="text
+  track showing by default">showing by default</a> and whose
+  <a href="#text-track-kind">text track kind</a> is <code title="dom-timedtrack-kind-chapters">chapters</code> should be used.
+  Such tracks must be interpreted according to the <a href="#rules-for-constructing-the-chapter-tree-from-a-text-track">rules for
+  constructing the chapter tree from a text track</a>.</p>
 
   <p>The <dfn id="dom-media-controls" title="dom-media-controls"><code>controls</code></dfn>
   IDL attribute must <a href="#reflect">reflect</a> the content attribute of the

Received on Friday, 12 August 2011 06:35:28 UTC