- From: CVS User pjgenste <cvsmail@w3.org>
- Date: Sun, 08 Mar 2015 03:27:43 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/webvtt
In directory roscoe:/tmp/cvs-serv10639
Modified Files:
Overview.html
Log Message:
Sync WebVTT with Git commit d7751e51f41ce9cb0efb8a3d2f262b796963302d
--- /sources/public/html5/webvtt/Overview.html 2015/02/28 06:16:06 1.209
+++ /sources/public/html5/webvtt/Overview.html 2015/03/08 03:27:43 1.210
@@ -3,7 +3,7 @@
<head>
<title>WebVTT: The Web Video Text Tracks Format</title>
<meta charset="utf-8">
- <meta name="revision" content="91686e9444bc5749e9073e5f9c01444a0cac9e54">
+ <meta name="revision" content="d7751e51f41ce9cb0efb8a3d2f262b796963302d">
@@ -305,7 +305,7 @@
</p>
<h1 class="title p-name" id="title">WebVTT: The Web Video Text Tracks Format</h1>
- <h2 id="draft-community-group-report-28-february-2015">Draft Community Group Report <time class="dt-published" datetime="2015-02-28">28 February 2015</time></h2>
+ <h2 id="draft-community-group-report-08-march-2015">Draft Community Group Report <time class="dt-published" datetime="2015-03-08">08 March 2015</time></h2>
<dl>
@@ -395,7 +395,7 @@
(<a href="mailto:public-texttracks-request@w3.org?subject=subscribe">subscribe</a>,
<a href="http://lists.w3.org/Archives/Public/public-texttracks/">archives</a>).</p>
-</section><section id="toc"><h2 class="introductory" role="heading" id="h2_toc">Table of Contents</h2><ul class="toc" role="directory" id="respecContents"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a><ul class="toc"><li class="tocline"><a href="#cues-with-multiple-lines" class="tocxref"><span class="secno">1.1 </span>Cues with multiple lines</a></li><li class="tocline"><a href="#comments" class="tocxref"><span class="secno">1.2 </span>Comments</a></li><li class="tocline"><a href="#other-features" class="tocxref"><span class="secno">1.3 </span>Other features</a></li></ul></li><li class="tocline"><a href="#conformance" class="tocxref"><span class="secno">2. </span>Conformance</a><ul class="toc"><li class="tocline"><a href="#conformance-for-authors" class="tocxref"><span class="secno">2.1 </span>Conformance for authors</a></li><li class="tocline"><a href="#document-conformance" class="tocxref"><span class="secno">2.2 </span>Document conformance</a><li><li class="tocline"><a href="#dependencies" class="tocxref"><span class="secno">2.3 </span>Dependencies</a></li></ul></li><li class="tocline"><a href="#data-model" class="tocxref"><span class="secno">3. </span>Data model</a><ul class="toc"><li class="tocline"><a href="#webvtt-cues" class="tocxref"><span class="secno">3.1 </span>WebVTT cues</a></li><li class="tocline"><a href="#text-track-regions" class="tocxref"><span class="secno">3.2 </span>Text track regions</a></li></ul></li><li class="tocline"><a href="#syntax" class="tocxref"><span class="secno">4. </span>Syntax</a><ul class="toc"><li class="tocline"><a href="#webvtt-file-structure" class="tocxref"><span class="secno">4.1 </span>WebVTT file structure</a></li><li class="tocline"><a href="#webvtt-comments" class="tocxref"><span class="secno">4.2 </span>WebVTT comments</a></li><li class="tocline"><a href="#types-of-webvtt-cue-payload" class="tocxref"><span class="secno">4.3 </span>Types of WebVTT cue payload</a><ul class="toc"><li class="tocline"><a hef="#webvtt-metadata-text" class="tocxref"><span class="secno">4.3.1 </span>WebVTT metadata text</a></li><li class="tocline"><a href="#webvtt-cue-text" class="tocxref"><span class="secno">4.3.2 </span>WebVTT cue text</a></li></ul></li><li class="tocline"><a href="#webvtt-region-definition" class="tocxref"><span class="secno">4.4 </span>WebVTT region definition</a></li><li class="tocline"><a href="#webvtt-cue-settings" class="tocxref"><span class="secno">4.5 </span>WebVTT cue settings</a></li><li class="tocline"><a href="#properties-of-cue-sequences" class="tocxref"><span class="secno">4.6 </span>Properties of cue sequences</a><ul class="toc"><li class="tocline"><a href="#webvtt-file-using-only-nested-cues" class="tocxref"><span class="secno">4.6.1 </span>WebVTT file using only nested cues</a></li></ul></li><li class="tocline"><a href="#types-of-webvtt-files" class="tocxref"><span class="secno">4.7 </span>Types of WebVTT files</a><ul class="toc"><li class="tocline"><a href="#webvtt-file-using-metadata-conten" class="tocxref"><span class="secno">4.7.1 </span>WebVTT file using metadata content</a></li><li class="tocline"><a href="#webvtt-file-using-chapter-title-text" class="tocxref"><span class="secno">4.7.2 </span>WebVTT file using chapter title text</a></li><li class="tocline"><a href="#webvtt-file-using-cue-text" class="tocxref"><span class="secno">4.7.3 </span>WebVTT file using cue text</a></li></ul></li></ul></li><li class="tocline"><a href="#parsing" class="tocxref"><span class="secno">5. </span>Parsing</a><ul class="toc"><li class="tocline"><a href="#webvtt-file-parsing" class="tocxref"><span class="secno">5.1 </span>WebVTT file parsing</a></li><li class="tocline"><a href="#webvtt-region-settings-parsing" class="tocxref"><span class="secno">5.2 </span>WebVTT region settings parsing</a></li><li class="tocline"><a href="#webvtt-cue-timings-and-settings-parsing" class="tocxref"><span class="secno">5.3 </span>WebVTT cue timings and settings parsing</a></li><li class="tocline"><a href="#webvtt-cue-text-parsin-rules" class="tocxref"><span class="secno">5.4 </span><span>WebVTT cue text parsing rules</span></a></li><li class="tocline"><a href="#webvtt-cue-text-dom-construction-rules" class="tocxref"><span class="secno">5.5 </span><span>WebVTT cue text DOM construction rules</span></a></li></ul></li><li class="tocline"><a href="#rendering" class="tocxref"><span class="secno">6. </span>Rendering</a><ul class="toc"><li class="tocline"><a href="#cues-in-isolation" class="tocxref"><span class="secno">6.1 </span>Cues in isolation</a></li><li class="tocline"><a href="#cues-with-video" class="tocxref"><span class="secno">6.2 </span>Cues with video</a><ul class="toc"><li class="tocline"><a href="#processing-model" class="tocxref"><span class="secno">6.2.1 </span>Processing model</a></li><li class="tocline"><a href="#applying-css-properties-to-webvtt-node-objects" class="tocxref"><span class="secno">6.2.2 </span>Applying CSS properties to <span title="WebVTT Node Object" class="formerLink">WebVTT Node Objects</span></a></li<li class="tocline"><a href="#css-extensions" class="tocxref"><span class="secno">6.2.3 </span>CSS extensions</a><ul class="toc"><li class="tocline"><a href="#the-cue-pseudo-element" class="tocxref"><span class="secno">6.2.3.1 </span>The '::cue' pseudo-element</a></li><li class="tocline"><a href="#the-past-and-future-pseudo-classes" class="tocxref"><span class="secno">6.2.3.2 </span>The ':past' and ':future' pseudo-classes</a></li><li class="tocline"><a href="#the-cue-region-pseudo-element" class="tocxref"><span class="secno">6.2.3.3 </span>The '::cue-region' pseudo-element</a></li></ul></li></ul></li></ul></li><li class="tocline"><a href="#api" class="tocxref"><span class="secno">7. </span>API</a><ul class="toc"><li class="tocline"><a href="#the-vttcue-interface" class="tocxref"><span class="secno">7.1 </span>The <span class="formerLink"><code>VTTCue</code></span> interface</a></li><li class="tocline"><a href="#the-vttregion-interface" class="tocxref"><span class="secno">7.2 </span>The <span class="formerLnk"><code>VTTRegion</code></span> interface</a></li></ul></li><li class="tocline"><a href="#iana-considerations" class="tocxref"><span class="secno">8. </span>IANA considerations</a><ul class="toc"><li class="tocline"><a href="#text-vtt" class="tocxref"><span class="secno">8.1 </span><span><code>text/vtt</code></span></a></li></ul></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">9. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">A. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">A.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">A.2 </span>Informative references</a></li></ul></li></ul></section>
+</section><section id="toc"><h2 class="introductory" role="heading" id="h2_toc">Table of Contents</h2><ul class="toc" role="directory" id="respecContents"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a><ul class="toc"><li class="tocline"><a href="#cues-with-multiple-lines" class="tocxref"><span class="secno">1.1 </span>Cues with multiple lines</a></li><li class="tocline"><a href="#comments" class="tocxref"><span class="secno">1.2 </span>Comments</a></li><li class="tocline"><a href="#other-features" class="tocxref"><span class="secno">1.3 </span>Other features</a></li></ul></li><li class="tocline"><a href="#conformance" class="tocxref"><span class="secno">2. </span>Conformance</a><ul class="toc"><li class="tocline"><a href="#conformance-for-authors" class="tocxref"><span class="secno">2.1 </span>Conformance for authors</a></li><li class="tocline"><a href="#document-conformance" class="tocxref"><span class="secno">2.2 </span>Document conformance</a><li><li class="tocline"><a href="#dependencies" class="tocxref"><span class="secno">2.3 </span>Dependencies</a></li></ul></li><li class="tocline"><a href="#data-model" class="tocxref"><span class="secno">3. </span>Data model</a><ul class="toc"><li class="tocline"><a href="#webvtt-cues" class="tocxref"><span class="secno">3.1 </span>WebVTT cues</a></li><li class="tocline"><a href="#text-track-regions" class="tocxref"><span class="secno">3.2 </span>Text track regions</a></li></ul></li><li class="tocline"><a href="#syntax" class="tocxref"><span class="secno">4. </span>Syntax</a><ul class="toc"><li class="tocline"><a href="#webvtt-file-structure" class="tocxref"><span class="secno">4.1 </span>WebVTT file structure</a></li><li class="tocline"><a href="#webvtt-comments" class="tocxref"><span class="secno">4.2 </span>WebVTT comments</a></li><li class="tocline"><a href="#types-of-webvtt-cue-payload" class="tocxref"><span class="secno">4.3 </span>Types of WebVTT cue payload</a><ul class="toc"><li class="tocline"><a hef="#webvtt-metadata-text" class="tocxref"><span class="secno">4.3.1 </span>WebVTT metadata text</a></li><li class="tocline"><a href="#webvtt-cue-text" class="tocxref"><span class="secno">4.3.2 </span>WebVTT cue text</a></li></ul></li><li class="tocline"><a href="#webvtt-region-definition" class="tocxref"><span class="secno">4.4 </span>WebVTT region definition</a></li><li class="tocline"><a href="#webvtt-cue-settings" class="tocxref"><span class="secno">4.5 </span>WebVTT cue settings</a></li><li class="tocline"><a href="#properties-of-cue-sequences" class="tocxref"><span class="secno">4.6 </span>Properties of cue sequences</a><ul class="toc"><li class="tocline"><a href="#webvtt-file-using-only-nested-cues" class="tocxref"><span class="secno">4.6.1 </span>WebVTT file using only nested cues</a></li></ul></li><li class="tocline"><a href="#types-of-webvtt-files" class="tocxref"><span class="secno">4.7 </span>Types of WebVTT files</a><ul class="toc"><li class="tocline"><a href="#webvtt-file-using-metadata-conten" class="tocxref"><span class="secno">4.7.1 </span>WebVTT file using metadata content</a></li><li class="tocline"><a href="#webvtt-file-using-chapter-title-text" class="tocxref"><span class="secno">4.7.2 </span>WebVTT file using chapter title text</a></li><li class="tocline"><a href="#webvtt-file-using-cue-text" class="tocxref"><span class="secno">4.7.3 </span>WebVTT file using cue text</a></li></ul></li></ul></li><li class="tocline"><a href="#parsing" class="tocxref"><span class="secno">5. </span>Parsing</a><ul class="toc"><li class="tocline"><a href="#webvtt-file-parsing" class="tocxref"><span class="secno">5.1 </span>WebVTT file parsing</a></li><li class="tocline"><a href="#webvtt-region-settings-parsing" class="tocxref"><span class="secno">5.2 </span>WebVTT region settings parsing</a></li><li class="tocline"><a href="#webvtt-cue-timings-and-settings-parsing" class="tocxref"><span class="secno">5.3 </span>WebVTT cue timings and settings parsing</a></li><li class="tocline"><a href="#webvtt-cue-text-parsin-rules" class="tocxref"><span class="secno">5.4 </span><span>WebVTT cue text parsing rules</span></a></li><li class="tocline"><a href="#webvtt-cue-text-dom-construction-rules" class="tocxref"><span class="secno">5.5 </span><span>WebVTT cue text DOM construction rules</span></a></li><li class="tocline"><a href="#webvtt-rules-for-extracting-the-chapter-title" class="tocxref"><span class="secno">5.6 </span>WebVTT rules for extracting the chapter title</a></li></ul></li><li class="tocline"><a href="#rendering" class="tocxref"><span class="secno">6. </span>Rendering</a><ul class="toc"><li class="tocline"><a href="#processing-model" class="tocxref"><span class="secno">6.1 </span>Processing model</a></li><li class="tocline"><a href="#applying-css-properties-to-webvtt-node-objects" class="tocxref"><span class="secno">6.2 </span>Applying CSS properties to <span title="WebVTT Node Object" class="formerLink">WebVTT Node Objects</span></a></li><li class="tocline"><a href="#css-extensions" class="tocxref"><span class="scno">6.3 </span>CSS extensions</a><ul class="toc"><li class="tocline"><a href="#the-cue-pseudo-element" class="tocxref"><span class="secno">6.3.1 </span>The '::cue' pseudo-element</a></li><li class="tocline"><a href="#the-past-and-future-pseudo-classes" class="tocxref"><span class="secno">6.3.2 </span>The ':past' and ':future' pseudo-classes</a></li><li class="tocline"><a href="#the-cue-region-pseudo-element" class="tocxref"><span class="secno">6.3.3 </span>The '::cue-region' pseudo-element</a></li></ul></li></ul></li><li class="tocline"><a href="#api" class="tocxref"><span class="secno">7. </span>API</a><ul class="toc"><li class="tocline"><a href="#the-vttcue-interface" class="tocxref"><span class="secno">7.1 </span>The <span class="formerLink"><code>VTTCue</code></span> interface</a></li><li class="tocline"><a href="#the-vttregion-interface" class="tocxref"><span class="secno">7.2 </span>The <span class="formerLink"><code>VTTRegion</code></span> interface</a></li></ul></li><li class="tocline"><a href="#iaa-considerations" class="tocxref"><span class="secno">8. </span>IANA considerations</a><ul class="toc"><li class="tocline"><a href="#text-vtt" class="tocxref"><span class="secno">8.1 </span><span><code>text/vtt</code></span></a></li></ul></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">9. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">A. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">A.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">A.2 </span>Informative references</a></li></ul></li></ul></section>
@@ -834,8 +834,8 @@
display state</dfn></a></li>
<li><a href="https://html.spec.whatwg.org/#rules-for-updating-the-text-track-rendering"><dfn id="dfn-rules-for-updating-the-text-track-rendering">Rules for
updating the text track rendering</dfn></a></li>
- <li><a href="https://html.spec.whatwg.org/#rules-for-rendering-the-cue-in-isolation"><dfn id="dfn-rules-for-rendering-the-cue-in-isolation">Rules
- for rendering the cue in isolation</dfn></a></li>
+ <li><a href="https://html.spec.whatwg.org/multipage/embedded-content.html#text-track-rules-for-extracting-the-chapter-title"><dfn id="dfn-rules-for-extracting-the-chapter-title">Rules
+ for extracting the chapter title</dfn></a></li>
<li><a href="https://html.spec.whatwg.org/#texttrackcue"><dfn id="dfn-texttrackcue"><code>TextTrackCue</code></dfn></a>
interface</li>
<li><a href="https://html.spec.whatwg.org/#dom-texttrack-addcue"><dfn id="dfn-addcue"><code>addCue()</code></dfn></a>
@@ -2415,8 +2415,8 @@
<li><p>Return to the step labeled <i>cue text loop</i>.</p></li>
<li><p><i>Cue text processing</i>: Let the <a href="#dfn-text-track-cue-text" class="internalDFN">text track cue text</a> of <var>cue</var> be
- <var>cue text</var>, and let the <a href="#dfn-rules-for-rendering-the-cue-in-isolation" class="internalDFN">rules for rendering the cue in isolation</a> be the
- <a href="#dfn-rules-for-interpreting-webvtt-cue-text" class="internalDFN">rules for interpreting WebVTT cue text</a>.</p></li>
+ <var>cue text</var>, and let the <a href="#dfn-rules-for-extracting-the-chapter-title" class="internalDFN">rules for extracting the chapter title</a> be the <a href="#dfn-webvtt-rules-for-extracting-the-chapter-title" class="internalDFN">WebVTT
+ rules for extracting the chapter title</a>.</p></li>
<li><p>Add <var>cue</var> to the <a href="#dfn-text-track-list-of-cues" class="internalDFN">text track list of cues</a> <var>output</var>.</p></li>
@@ -3809,16 +3809,10 @@
</section>
- </section>
-
- <section id="rendering">
- <!--OddPage--><h2 role="heading" id="h2_rendering"><span class="secno">6. </span>Rendering</h2>
+ <section id="webvtt-rules-for-extracting-the-chapter-title">
+ <h3 role="heading" id="h3_webvtt-rules-for-extracting-the-chapter-title"><span class="secno">5.6 </span>WebVTT rules for extracting the chapter title</h3>
- <section id="cues-in-isolation">
- <h3 role="heading" id="h3_cues-in-isolation"><span class="secno">6.1 </span>Cues in isolation</h3>
-
- <p>The <dfn id="dfn-rules-for-interpreting-webvtt-cue-text">rules for interpreting WebVTT cue text</dfn> (e.g. for use as chapter titles) are as
- follows:</p>
+ <p>The <dfn id="dfn-webvtt-rules-for-extracting-the-chapter-title">WebVTT rules for extracting the chapter title</dfn> are as follows:</p>
<ol>
@@ -3826,1228 +3820,1221 @@
<a href="#dfn-webvtt-cue-text-parsing-rules" class="internalDFN">WebVTT cue text parsing rules</a> to the <var>cue</var>'s <a href="#dfn-text-track-cue-text" class="internalDFN">text track cue
text</a>.</p></li>
- <li><p class="todo">...</p></li> <!-- flatten nodes and return a single string somehow -->
+ <li><p>Return the concatenation of the values of each <a href="#dfn-webvtt-text-object" class="internalDFN">WebVTT Text Object</a> in
+ <var>nodes</var>, in a pre-order, depth-first traversal, excluding <a title="WebVTT Ruby Text
+ Object" href="#dfn-webvtt-ruby-text-object" class="internalDFN">WebVTT Ruby Text Objects</a> and their descendants.</p></li>
</ol>
</section>
- <section id="cues-with-video">
- <h3 role="heading" id="h3_cues-with-video"><span class="secno">6.2 </span>Cues with video</h3>
+ </section>
- <section id="processing-model">
- <h4 role="heading" id="h4_processing-model"><span class="secno">6.2.1 </span>Processing model</h4>
+ <section id="rendering">
+ <!--OddPage--><h2 role="heading" id="h2_rendering"><span class="secno">6. </span>Rendering</h2>
- <p>The <dfn id="dfn-rules-for-updating-the-display-of-webvtt-text-tracks">rules for updating the display of WebVTT text tracks</dfn> render the <a title="text track" href="#dfn-text-track" class="internalDFN">text tracks</a> of a <a href="#dfn-media-element" class="internalDFN">media element</a> (specifically, a
- <a href="#dfn-video" class="internalDFN"><code>video</code></a> element), or of another playback mechanism, by applying the steps
- below. All the <a title="text track" href="#dfn-text-track" class="internalDFN">text tracks</a> that use these rules for a given <a href="#dfn-media-element" class="internalDFN">media
- element</a>, or other playback mechanism, are rendered together, to avoid overlapping subtitles
- from multiple tracks.</p>
-
- <p>The output of the steps below is a set of CSS boxes that covers the rendering area of the
- <a href="#dfn-media-element" class="internalDFN">media element</a> or other playback mechanism, which user agents are expected to render in a
- manner suiting the user.</p>
+ <section id="processing-model">
+ <h3 role="heading" id="h3_processing-model"><span class="secno">6.1 </span>Processing model</h3>
- <p>The rules are as follows:</p>
+ <p>The <dfn id="dfn-rules-for-updating-the-display-of-webvtt-text-tracks">rules for updating the display of WebVTT text tracks</dfn> render the <a title="text
+ track" href="#dfn-text-track" class="internalDFN">text tracks</a> of a <a href="#dfn-media-element" class="internalDFN">media element</a> (specifically, a <a href="#dfn-video" class="internalDFN"><code>video</code></a>
+ element), or of another playback mechanism, by applying the steps below. All the <a title="text
+ track" href="#dfn-text-track" class="internalDFN">text tracks</a> that use these rules for a given <a href="#dfn-media-element" class="internalDFN">media element</a>, or other playback
+ mechanism, are rendered together, to avoid overlapping subtitles from multiple tracks.</p>
+
+ <p>The output of the steps below is a set of CSS boxes that covers the rendering area of the
+ <a href="#dfn-media-element" class="internalDFN">media element</a> or other playback mechanism, which user agents are expected to render in a
+ manner suiting the user.</p>
- <ol>
+ <p>The rules are as follows:</p>
- <li><p>If the <a href="#dfn-media-element" class="internalDFN">media element</a> is an <a href="#dfn-audio" class="internalDFN"><code>audio</code></a> element, or is another
- playback mechanism with no rendering area, abort these steps. There is nothing to
- render.</p></li>
+ <ol>
- <li><p>Let <var>video</var> be the <a href="#dfn-media-element" class="internalDFN">media element</a> or other playback mechanism.</p></li>
+ <li><p>If the <a href="#dfn-media-element" class="internalDFN">media element</a> is an <a href="#dfn-audio" class="internalDFN"><code>audio</code></a> element, or is another
+ playback mechanism with no rendering area, abort these steps. There is nothing to
+ render.</p></li>
- <li><p>Let <var>output</var> be an empty list of absolutely positioned CSS block
- boxes.</p></li>
+ <li><p>Let <var>video</var> be the <a href="#dfn-media-element" class="internalDFN">media element</a> or other playback mechanism.</p></li>
- <li><p>If the user agent is <a title="expose a user interface to the user" href="#dfn-expose-a-user-interface-to-the-user" class="internalDFN">exposing a user
- interface</a> for <var>video</var>, add to <var>output</var> one or more completely
- transparent positioned CSS block boxes that cover the same region as the user
- interface.</p></li>
+ <li><p>Let <var>output</var> be an empty list of absolutely positioned CSS block
+ boxes.</p></li>
- <li><p>If the last time these rules were run, the user agent was not <a title="expose a user
- interface to the user" href="#dfn-expose-a-user-interface-to-the-user" class="internalDFN">exposing a user interface</a> for <var>video</var>, but now it is,
- optionally let <var>reset</var> be true. Otherwise, let <var>reset</var> be false.</p></li>
+ <li><p>If the user agent is <a title="expose a user interface to the user" href="#dfn-expose-a-user-interface-to-the-user" class="internalDFN">exposing a user
+ interface</a> for <var>video</var>, add to <var>output</var> one or more completely transparent
+ positioned CSS block boxes that cover the same region as the user interface.</p></li>
- <li><p>Let <var>tracks</var> be the subset of <var>video</var>'s <a href="#dfn-list-of-text-tracks" class="internalDFN">list of text tracks</a>
- that have as their <a href="#dfn-rules-for-updating-the-text-track-rendering" class="internalDFN">rules for updating the text track rendering</a> these <a href="#dfn-rules-for-updating-the-display-of-webvtt-text-tracks" class="internalDFN">rules for
- updating the display of WebVTT text tracks</a>, and whose <a href="#dfn-text-track-mode" class="internalDFN">text track mode</a> is <a title="text track showing" href="#dfn-text-track-showing" class="internalDFN">showing</a>.</p></li>
+ <li><p>If the last time these rules were run, the user agent was not <a title="expose a user
+ interface to the user" href="#dfn-expose-a-user-interface-to-the-user" class="internalDFN">exposing a user interface</a> for <var>video</var>, but now it is,
+ optionally let <var>reset</var> be true. Otherwise, let <var>reset</var> be false.</p></li>
- <li><p>Let <var>cues</var> be an empty list of <a title="text track cue" href="#dfn-text-track-cue" class="internalDFN">text track
- cues</a>.</p></li>
+ <li><p>Let <var>tracks</var> be the subset of <var>video</var>'s <a href="#dfn-list-of-text-tracks" class="internalDFN">list of text tracks</a>
+ that have as their <a href="#dfn-rules-for-updating-the-text-track-rendering" class="internalDFN">rules for updating the text track rendering</a> these <a href="#dfn-rules-for-updating-the-display-of-webvtt-text-tracks" class="internalDFN">rules for
+ updating the display of WebVTT text tracks</a>, and whose <a href="#dfn-text-track-mode" class="internalDFN">text track mode</a> is <a title="text track showing" href="#dfn-text-track-showing" class="internalDFN">showing</a>.</p></li>
- <li><p>For each track <var>track</var> in <var>tracks</var>, append to <var>cues</var> all the
- <a title="text track cue" href="#dfn-text-track-cue" class="internalDFN">cues</a> from <var>track</var>'s <a title="text track list of
- cues" href="#dfn-text-track-list-of-cues" class="internalDFN">list of cues</a> that have their <a href="#dfn-text-track-cue-active-flag" class="internalDFN">text track cue active flag</a> set.</p></li>
+ <li><p>Let <var>cues</var> be an empty list of <a title="text track cue" href="#dfn-text-track-cue" class="internalDFN">text track
+ cues</a>.</p></li>
- <li><p>Let <var>regions</var> be an empty list of <a title="text track region" href="#dfn-text-track-region" class="internalDFN">text track
- regions</a>.</p></li>
+ <li><p>For each track <var>track</var> in <var>tracks</var>, append to <var>cues</var> all the
+ <a title="text track cue" href="#dfn-text-track-cue" class="internalDFN">cues</a> from <var>track</var>'s <a title="text track list of
+ cues" href="#dfn-text-track-list-of-cues" class="internalDFN">list of cues</a> that have their <a href="#dfn-text-track-cue-active-flag" class="internalDFN">text track cue active flag</a> set.</p></li>
- <li><p>For each track <var>track</var> in <var>tracks</var>, append to <var>regions</var> all
- the <a title="text track region" href="#dfn-text-track-region" class="internalDFN">regions</a> from <var>track</var>'s <a title="text track list
- of regions" href="#dfn-text-track-list-of-regions" class="internalDFN">list of regions</a>.</p></li>
+ <li><p>Let <var>regions</var> be an empty list of <a title="text track region" href="#dfn-text-track-region" class="internalDFN">text track
+ regions</a>.</p></li>
- <li><p>If <var>reset</var> is false, then, for each <a href="#dfn-text-track-region" class="internalDFN">text track region</a> <var>region</var>
- in <var>regions</var> let <var>regionNode</var> be a <a href="#dfn-webvtt-region-object" class="internalDFN">WebVTT region object</a>.</p></li>
+ <li><p>For each track <var>track</var> in <var>tracks</var>, append to <var>regions</var> all
+ the <a title="text track region" href="#dfn-text-track-region" class="internalDFN">regions</a> from <var>track</var>'s <a title="text track list
+ of regions" href="#dfn-text-track-list-of-regions" class="internalDFN">list of regions</a>.</p></li>
- <li>
- <p>Apply the following steps for each <var>regionNode</var>:</p>
+ <li><p>If <var>reset</var> is false, then, for each <a href="#dfn-text-track-region" class="internalDFN">text track region</a> <var>region</var>
+ in <var>regions</var> let <var>regionNode</var> be a <a href="#dfn-webvtt-region-object" class="internalDFN">WebVTT region object</a>.</p></li>
- <ol>
- <li>
- <p>Prepare some variables for the application of CSS properties to <var>regionNode</var> as
- follows:</p>
-
- <ul>
- <li><p>Let <var>regionWidth</var> be the <a href="#dfn-text-track-region-width" class="internalDFN">text track region width</a>. Let
- <var>width</var> be '<var>regionWidth</var> vw' ('vw' is a CSS unit).
- [<cite><a class="bibref" href="#bib-CSSVALUES">CSSVALUES</a></cite>]</p></li>
-
- <li><p>Let <var>lineHeight</var> be '5.33vh' ('vh' is a CSS unit) [<cite><a class="bibref" href="#bib-CSSVALUES">CSSVALUES</a></cite>] and
- <var>regionHeight</var> be the <a href="#dfn-text-track-region-lines" class="internalDFN">text track region lines</a>. Let <var>lines</var> be
- '<var>lineHeight</var> multiplied by <var>regionHeight</var>.</p></li>
-
- <li><p>Let <var>viewportAnchorX</var> be the x dimension of the <a href="#dfn-text-track-region-viewport-anchor" class="internalDFN">text track region
- viewport anchor</a> and <var>regionAnchorX</var> be the x dimension of the <a href="#dfn-text-track-region-anchor" class="internalDFN">text track
- region anchor</a>. Let <var>leftOffset</var> be <var>regionAnchorX</var> multiplied by
- <var>width</var> divided by 100.0. Let <var>left</var> be <var>leftOffset</var> subtracted
- from '<var>viewportAnchorX</var> vw'.</p></li>
-
- <li><p>Let <var>viewportAnchorY</var> be the y dimension of the <a href="#dfn-text-track-region-viewport-anchor" class="internalDFN">text track region
- viewport anchor</a> and <var>regionAnchorY</var> be the y dimension of the <a href="#dfn-text-track-region-anchor" class="internalDFN">text track
- region anchor</a>. Let <var>topOffset</var> be <var>regionAnchorY</var> multiplied by
- <var>lines</var> divided by 100.0. Let <var>top</var> be <var>topOffset</var> subtracted
- from '<var>viewportAnchorY</var> vh'.</p></li>
- </ul>
- </li>
-
- <li>
- <p>Apply the terms of the CSS specifications to <var>regionNode</var> within the following
- constraints, thus obtaining a CSS box <var>box</var> positioned relative to an initial
- containing block:</p>
- <ol>
- <li><p>No style sheets are associated with <var>regionNode</var>. (The regionNodes are
- subsequently restyled using style sheets after their boxes are generated, as described
- below.)</p></li>
- <li><p>Properties on <var>regionNode</var> have their values set as defined in the next
- section. (That section uses some of the variables whose values were calculated earlier in
- this algorithm.)</p></li>
- <li><p>The viewport (and initial containing block) is video's rendering area.</p></li>
- </ol>
- </li>
+ <li>
+ <p>Apply the following steps for each <var>regionNode</var>:</p>
- <li><p>Add the CSS box <var>box</var> to <var>output</var>.</p></li>
- </ol>
- </li>
+ <ol>
+ <li>
+ <p>Prepare some variables for the application of CSS properties to <var>regionNode</var> as
+ follows:</p>
- <li>
- <p>If <var>reset</var> is false, then, for each <a href="#dfn-text-track-cue" class="internalDFN">text track cue</a> <var>cue</var> in
- <var>cues</var>: if <var>cue</var>'s <a href="#dfn-text-track-cue-display-state" class="internalDFN">text track cue display state</a> has a set of CSS
- boxes, then:</p>
+ <ul>
+ <li><p>Let <var>regionWidth</var> be the <a href="#dfn-text-track-region-width" class="internalDFN">text track region width</a>. Let
+ <var>width</var> be '<var>regionWidth</var> vw' ('vw' is a CSS unit).
+ [<cite><a class="bibref" href="#bib-CSSVALUES">CSSVALUES</a></cite>]</p></li>
+
+ <li><p>Let <var>lineHeight</var> be '5.33vh' ('vh' is a CSS unit) [<cite><a class="bibref" href="#bib-CSSVALUES">CSSVALUES</a></cite>] and
+ <var>regionHeight</var> be the <a href="#dfn-text-track-region-lines" class="internalDFN">text track region lines</a>. Let <var>lines</var> be
+ '<var>lineHeight</var> multiplied by <var>regionHeight</var>.</p></li>
+
+ <li><p>Let <var>viewportAnchorX</var> be the x dimension of the <a href="#dfn-text-track-region-viewport-anchor" class="internalDFN">text track region
+ viewport anchor</a> and <var>regionAnchorX</var> be the x dimension of the <a href="#dfn-text-track-region-anchor" class="internalDFN">text track
+ region anchor</a>. Let <var>leftOffset</var> be <var>regionAnchorX</var> multiplied by
+ <var>width</var> divided by 100.0. Let <var>left</var> be <var>leftOffset</var> subtracted
+ from '<var>viewportAnchorX</var> vw'.</p></li>
+
+ <li><p>Let <var>viewportAnchorY</var> be the y dimension of the <a href="#dfn-text-track-region-viewport-anchor" class="internalDFN">text track region
+ viewport anchor</a> and <var>regionAnchorY</var> be the y dimension of the <a href="#dfn-text-track-region-anchor" class="internalDFN">text track
+ region anchor</a>. Let <var>topOffset</var> be <var>regionAnchorY</var> multiplied by
+ <var>lines</var> divided by 100.0. Let <var>top</var> be <var>topOffset</var> subtracted
+ from '<var>viewportAnchorY</var> vh'.</p></li>
+ </ul>
+ </li>
- <ul>
- <li><p>If <var>cue</var>'s <a href="#dfn-text-track-cue-region" class="internalDFN">text track cue region</a> is not null, add those boxes to that
- region's <var>box</var> and remove <var>cue</var> from <var>cues</var>.</p></li>
- <li><p>Otherwise, add those boxes to <var>output</var> and remove <var>cue</var> from
- <var>cues</var>.</p></li>
- </ul>
+ <li>
+ <p>Apply the terms of the CSS specifications to <var>regionNode</var> within the following
+ constraints, thus obtaining a CSS box <var>box</var> positioned relative to an initial
+ containing block:</p>
+ <ol>
+ <li><p>No style sheets are associated with <var>regionNode</var>. (The regionNodes are
+ subsequently restyled using style sheets after their boxes are generated, as described
+ below.)</p></li>
+ <li><p>Properties on <var>regionNode</var> have their values set as defined in the next
+ section. (That section uses some of the variables whose values were calculated earlier in
+ this algorithm.)</p></li>
+ <li><p>The viewport (and initial containing block) is video's rendering area.</p></li>
+ </ol>
+ </li>
- </li>
+ <li><p>Add the CSS box <var>box</var> to <var>output</var>.</p></li>
+ </ol>
+ </li>
- <li>
+ <li>
+ <p>If <var>reset</var> is false, then, for each <a href="#dfn-text-track-cue" class="internalDFN">text track cue</a> <var>cue</var> in
+ <var>cues</var>: if <var>cue</var>'s <a href="#dfn-text-track-cue-display-state" class="internalDFN">text track cue display state</a> has a set of CSS
+ boxes, then:</p>
- <p>For each <a href="#dfn-text-track-cue" class="internalDFN">text track cue</a> <var>cue</var> in <var>cues</var> that has not yet had
- corresponding CSS boxes added to <var>output</var>, in <a href="#dfn-text-track-cue-order" class="internalDFN">text track cue order</a>, run the
- following substeps:</p>
+ <ul>
+ <li><p>If <var>cue</var>'s <a href="#dfn-text-track-cue-region" class="internalDFN">text track cue region</a> is not null, add those boxes to that
+ region's <var>box</var> and remove <var>cue</var> from <var>cues</var>.</p></li>
+ <li><p>Otherwise, add those boxes to <var>output</var> and remove <var>cue</var> from
+ <var>cues</var>.</p></li>
+ </ul>
- <ol>
+ </li>
- <li><p>Let <var>nodes</var> be the <a href="#dfn-list-of-webvtt-node-objects" class="internalDFN">list of WebVTT Node Objects</a> obtained by applying
- the <a href="#dfn-webvtt-cue-text-parsing-rules" class="internalDFN">WebVTT cue text parsing rules</a> to the <var>cue</var>'s <a href="#dfn-text-track-cue-text" class="internalDFN">text track cue
- text</a>.</p></li>
-
- <li>
- <p>If <var>cue</var>'s <a href="#dfn-text-track-cue-region" class="internalDFN">text track cue region</a> is null, run the following
- substeps:</p>
-
- <ol>
-
- <li><a href="#dfn-apply-webvtt-cue-settings" class="internalDFN">Apply WebVTT cue settings</a> to obtain CSS boxes <var>boxes</var> from
- <var>nodes</var>.</li>
-
- <li><p>Let <var>cue</var>'s <a href="#dfn-text-track-cue-display-state" class="internalDFN">text track cue display state</a> have the CSS boxes in
- <var>boxes</var>.</p></li>
-
- <li><p>Add the CSS boxes in <var>boxes</var> to <var>output</var>.</p></li>
-
- </ol>
- </li>
-
- <li>
- <p>Otherwise, run the following substeps:</p>
- <ol>
- <li><p>Let <var>region</var> be <var>cue</var>'s <a href="#dfn-text-track-cue-region" class="internalDFN">text track cue region</a>.</p></li>
-
- <li><p>If <var>region</var>'s <a href="#dfn-text-track-region-scroll" class="internalDFN">text track region scroll</a> setting is '<code>up</code>'
- and <var>region</var> already has one child, set <var>region</var>'s 'transition-property'
- to 'top' and 'transition-duration' to '0.433s'.</p></li>
-
- <!-- The following steps are the subpart of the "apply WebVTT cue settings" algorithm that
- applies to regions -->
- <li>
- <p>Apply the Unicode Bidirectional Algorithm's Paragraph Level steps to the concatenation
- of the values of each <a href="#dfn-webvtt-text-object" class="internalDFN">WebVTT Text Object</a> in <var>nodes</var>, in a pre-order,
- depth-first traversal, excluding <a title="WebVTT Ruby Text Object" href="#dfn-webvtt-ruby-text-object" class="internalDFN">WebVTT Ruby Text
- Objects</a> and their descendants, to determine the <i>paragraph embedding level</i> of
- the first Unicode paragraph of the cue. [<cite><a class="bibref" href="#bib-BIDI">BIDI</a></cite>]</p>
- <div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_29"><span>Note</span></div><p class="">Within a cue, paragraph boundaries are only denoted by Type B characters,
- such as U+000A LINE FEED (LF), U+0085 NEXT LINE (NEL), and U+2029 PARAGRAPH SEPARATOR.
- (This means each line of the cue is reordered as if it was a separate paragraph.)</p></div>
- </li>
-
- <li><p>If the <i>paragraph embedding level</i> determined in the previous step is even
- (the <i>paragraph direction</i> is left-to-right), let <var>direction</var> be 'ltr',
- otherwise, let it be 'rtl'.</p></li>
-
- <li><p>Let <var>offset</var> be the <a href="#dfn-text-track-cue-computed-text-position" class="internalDFN">text track cue computed text position</a>
- multiplied by <var>region</var>'s <a href="#dfn-text-track-region-width" class="internalDFN">text track region width</a> and divided by 100 (i.e.
- interpret it as a percentage of the region width).</p></li>
-
- <li>
- <p>Adjust <var>offset</var> using the <a href="#dfn-text-track-cue-computed-text-position-alignment" class="internalDFN">text track cue computed text position
- alignment</a> as follows:</p>
- <dl class="switch">
- <dt>If the <a href="#dfn-text-track-cue-computed-text-position-alignment" class="internalDFN">text track cue computed text position alignment</a> is <a title="text
- track cue text position middle alignment" href="#dfn-text-track-cue-text-position-middle-alignment" class="internalDFN">middle alignment</a></dt>
- <dd><p>Subtract half of <var>region</var>'s <a href="#dfn-text-track-region-width" class="internalDFN">text track region width</a> from
- <var>offset</var>.</p></dd>
-
- <dt>If the <a href="#dfn-text-track-cue-computed-text-position-alignment" class="internalDFN">text track cue computed text position alignment</a> is <a title="text
- track cue text position end alignment" href="#dfn-text-track-cue-text-position-end-alignment" class="internalDFN">end alignment</a></dt>
- <dd><p>Subtract <var>region</var>'s <a href="#dfn-text-track-region-width" class="internalDFN">text track region width</a> from
- <var>offset</var>.</p></dd>
- </dl>
- </li>
-
- <li><p>Let <var>left</var> be '<var>offset</var> %'. ('%' is a CSS unit.)
- [<cite><a class="bibref" href="#bib-CSSVALUES">CSSVALUES</a></cite>]</p></li>
-
- <li>
- <p>Apply the terms of the CSS specifications to <var>nodes</var> with the same
- constraints that are used when they are applied to <var>nodes</var> of a <var>cue</var>
- that is not part of a region.</p>
-
- <p>Let <var>boxes</var> be the boxes generated as descendants of the initial containing
- block, along with their positions.</p>
- </li>
-
- <li><p>If there are no line boxes in <var>boxes</var>, skip the remainder of these
- substeps for <var>cue</var>. The cue is ignored.</p></li>
-
- <li><p>Let <var>cue</var>'s <a href="#dfn-text-track-cue-display-state" class="internalDFN">text track cue display state</a> have the CSS boxes in
- <var>boxes</var>.</p></li>
-
- <li><p>Add the CSS boxes in <var>boxes</var> to <var>region</var>.</p></li>
-
[1892 lines skipped]
Received on Sunday, 8 March 2015 03:27:46 UTC