watir-webdriver 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -0
- data/Rakefile +0 -7
- data/lib/watir-webdriver.rb +0 -1
- data/lib/watir-webdriver/browser.rb +22 -5
- data/lib/watir-webdriver/elements/button.rb +0 -9
- data/lib/watir-webdriver/elements/checkbox.rb +0 -8
- data/lib/watir-webdriver/elements/file_field.rb +0 -8
- data/lib/watir-webdriver/elements/frame.rb +55 -63
- data/lib/watir-webdriver/elements/generated.rb +2 -1
- data/lib/watir-webdriver/elements/input.rb +0 -14
- data/lib/watir-webdriver/elements/radio.rb +0 -7
- data/lib/watir-webdriver/elements/text_field.rb +0 -10
- data/lib/watir-webdriver/version.rb +1 -1
- data/spec/browser_spec.rb +23 -4
- data/spec/html/wait.html +1 -1
- data/spec/spec_helper.rb +7 -0
- data/spec/wait_spec.rb +35 -21
- data/support/html5.html +1430 -835
- data/watir-webdriver.gemspec +3 -3
- metadata +5 -16
- data/lib/watir-webdriver/core_ext/string.rb +0 -22
data/support/html5.html
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
<!-- downloaded from http://www.whatwg.org/specs/web-apps/current-work/ on 2010-
|
1
|
+
<!-- downloaded from http://www.whatwg.org/specs/web-apps/current-work/ on 2010-12-19 01:46:50 +0100 -->
|
2
2
|
<!DOCTYPE html><html lang=en-US-x-hixie><title>HTML5 (including next generation additions still in development)</title><script>
|
3
3
|
var loadTimer = new Date();
|
4
|
-
var current_revision = "r" + "$Revision:
|
4
|
+
var current_revision = "r" + "$Revision: 5720 $".substr(11);
|
5
5
|
current_revision = current_revision.substr(0, current_revision.length - 2);
|
6
6
|
var last_known_revision = current_revision;
|
7
7
|
function getCookie(name) {
|
@@ -199,7 +199,9 @@
|
|
199
199
|
</style><style>
|
200
200
|
.domintro:before { display: table; margin: -1em -0.5em -0.5em auto; width: auto; content: 'This box is non-normative. Implementation requirements are given below this box.'; color: black; font-style: italic; border: solid 2px; background: white; padding: 0 0.25em; }
|
201
201
|
</style><link href=data:text/css, id=complete rel=stylesheet title="Complete specification"><link href=data:text/css,.impl%20{%20display:%20none;%20}%0Ahtml%20{%20border:%20solid%20yellow;%20}%20.domintro:before%20{%20display:%20none;%20} id=author rel="alternate stylesheet" title="Author documentation only"><link href=data:text/css,.impl%20{%20background:%20%23FFEEEE;%20}%20.domintro:before%20{%20background:%20%23FFEEEE;%20} id=highlight rel="alternate stylesheet" title="Highlight implementation requirements"><link href=status.css rel=stylesheet><script>
|
202
|
+
var startedInit = 0;
|
202
203
|
function init() {
|
204
|
+
startedInit = 1;
|
203
205
|
if (location.search == '?slow-browser')
|
204
206
|
return;
|
205
207
|
var configUI = document.createElement('div');
|
@@ -215,11 +217,16 @@
|
|
215
217
|
if (getCookie('profile') == '1')
|
216
218
|
document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
|
217
219
|
}
|
220
|
+
if (document.documentElement.className == "")
|
221
|
+
setTimeout(function () {
|
222
|
+
if (!startedInit)
|
223
|
+
showAlert("Too slow? Try reading the multipage copy of the spec instead:", "http://whatwg.org/html");
|
224
|
+
}, 5000);
|
218
225
|
</script><body class=draft onload=init()>
|
219
226
|
|
220
227
|
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/ rel=home><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
|
221
228
|
<hgroup><h1>HTML5 (including next generation additions still in development)</h1>
|
222
|
-
<h2 class="no-num no-toc">Draft Standard —
|
229
|
+
<h2 class="no-num no-toc">Draft Standard — 16 December 2010</h2>
|
223
230
|
</hgroup><p>You can take part in this work. <a href=http://www.whatwg.org/mailing-list>Join the working group's discussion list.</a></p>
|
224
231
|
<p><strong>Web designers!</strong> We have a <a href=http://blog.whatwg.org/faq/>FAQ</a>, a <a href=http://forums.whatwg.org/>forum</a>, and a <a href=http://www.whatwg.org/mailing-list#help>help mailing list</a> for you!</p>
|
225
232
|
<!--<p class="impl"><strong>Implementors!</strong> We have a <a href="http://www.whatwg.org/mailing-list#implementors">mailing list</a> for you too!</p>-->
|
@@ -376,9 +383,10 @@
|
|
376
383
|
<li><a href=#domsettabletokenlist-0><span class=secno>2.8.4 </span>DOMSettableTokenList</a></li>
|
377
384
|
<li><a href=#safe-passing-of-structured-data><span class=secno>2.8.5 </span>Safe passing of structured data</a></li>
|
378
385
|
<li><a href=#domstringmap-0><span class=secno>2.8.6 </span>DOMStringMap</a></li>
|
379
|
-
<li><a href=#
|
380
|
-
<li><a href=#
|
381
|
-
<li><a href=#
|
386
|
+
<li><a href=#domelementmap-0><span class=secno>2.8.7 </span>DOMElementMap</a></li>
|
387
|
+
<li><a href=#dom-feature-strings><span class=secno>2.8.8 </span>DOM feature strings</a></li>
|
388
|
+
<li><a href=#exceptions><span class=secno>2.8.9 </span>Exceptions</a></li>
|
389
|
+
<li><a href=#garbage-collection><span class=secno>2.8.10 </span>Garbage collection</a></ol></li>
|
382
390
|
<li><a href=#namespaces><span class=secno>2.9 </span>Namespaces</a></ol></li>
|
383
391
|
<li><a href=#dom><span class=secno>3 </span>Semantics, structure, and APIs of HTML documents</a>
|
384
392
|
<ol>
|
@@ -569,7 +577,7 @@
|
|
569
577
|
<li><a href=#the-ready-states><span class=secno>4.8.10.7 </span>The ready states</a></li>
|
570
578
|
<li><a href=#playing-the-media-resource><span class=secno>4.8.10.8 </span>Playing the media resource</a></li>
|
571
579
|
<li><a href=#seeking><span class=secno>4.8.10.9 </span>Seeking</a></li>
|
572
|
-
<li><a href=#timed-tracks><span class=secno>4.8.10.10 </span>
|
580
|
+
<li><a href=#text-timed-tracks><span class=secno>4.8.10.10 </span>Text timed tracks</a>
|
573
581
|
<ol>
|
574
582
|
<li><a href=#timed-track-model><span class=secno>4.8.10.10.1 </span>Timed track model</a></li>
|
575
583
|
<li><a href=#sourcing-in-band-timed-tracks><span class=secno>4.8.10.10.2 </span>Sourcing in-band timed tracks</a></li>
|
@@ -1176,7 +1184,7 @@
|
|
1176
1184
|
<li><a href=#replaced-elements><span class=secno>12.3 </span>Replaced elements</a>
|
1177
1185
|
<ol>
|
1178
1186
|
<li><a href=#embedded-content-2><span class=secno>12.3.1 </span>Embedded content</a></li>
|
1179
|
-
<li><a href=#timed-tracks
|
1187
|
+
<li><a href=#timed-tracks><span class=secno>12.3.2 </span>Timed tracks</a>
|
1180
1188
|
<ol>
|
1181
1189
|
<li><a href=#websrt-cue-text-rendering-rules><span class=secno>12.3.2.1 </span>WebSRT cue text rendering rules</a></li>
|
1182
1190
|
<li><a href=#applying-css-properties-to-websrt-node-objects><span class=secno>12.3.2.2 </span>Applying CSS properties to WebSRT Node Objects</a></li>
|
@@ -1299,10 +1307,11 @@
|
|
1299
1307
|
beyond HTML5 (and that are therefore not included in the W3C version
|
1300
1308
|
of HTML5) currently consist of:</p>
|
1301
1309
|
|
1302
|
-
<ul class=brief><li>The <code><a href=#devices>device</a></code> element.</li>
|
1303
|
-
<li>The <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute and related <a href=#hyperlink-auditing>hyperlink auditing</a> features.</li>
|
1304
|
-
<li>The <a href=#
|
1305
|
-
<li>Rules for <a href=#atom>converting HTML to Atom</a>.</li>
|
1310
|
+
<ul class=brief><li>The <code><a href=#devices>device</a></code> element.</li> <!--DEVICE-->
|
1311
|
+
<li>The <code title=attr-hyperlink-ping><a href=#ping>ping</a></code> attribute and related <a href=#hyperlink-auditing>hyperlink auditing</a> features.</li> <!--PING-->
|
1312
|
+
<li>The <a href=#websrt>WebSRT</a> format and some <a href=#timed-track>timed track</a> API features.</li> <!--TT--> <!--TTSRT-->
|
1313
|
+
<li>Rules for <a href=#atom>converting HTML to Atom</a>.</li> <!--MD-->
|
1314
|
+
<li>The <code title=dom-document-cssElementMap><a href=#dom-document-csselementmap>cssElementMap</a></code> feature for defining <span title="CSS element reference identifier">CSS element reference identifiers</span>.</li> <!--CSSREF-->
|
1306
1315
|
</ul><p>Features that are part of HTML (and this specification) but that
|
1307
1316
|
are currently published as separate specifications as well, and are
|
1308
1317
|
not included in the W3C HTML5 specification, consist of:</p>
|
@@ -2659,6 +2668,9 @@ a.setAttribute('href', 'http://example.com/'); // change the content attribute d
|
|
2659
2668
|
subresources</a>; other resources, e.g. fonts or backgrounds, are
|
2660
2669
|
not.</p>
|
2661
2670
|
|
2671
|
+
<p>The term <dfn id=data-protocol title="data protocol"><code title="">data:</code>
|
2672
|
+
URL</dfn> refers to <a href=#url title=URL>URLs</a> that use the <code title="">data:</code> scheme. <a href=#refsRFC2397>[RFC2397]</a></p>
|
2673
|
+
|
2662
2674
|
|
2663
2675
|
<h4 id=xml><span class=secno>2.1.2 </span>XML</h4>
|
2664
2676
|
|
@@ -5897,15 +5909,18 @@ a.setAttribute('href', 'http://example.com/'); // change the content attribute d
|
|
5897
5909
|
|
5898
5910
|
</li>
|
5899
5911
|
|
5900
|
-
<li><p>If
|
5901
|
-
|
5902
|
-
<
|
5903
|
-
<a href=#document
|
5904
|
-
|
5912
|
+
<li><p>If the <code><a href=#document>Document</a></code> is <a href=#an-iframe-srcdoc-document>an
|
5913
|
+
<code>iframe</code> <code title=attr-iframe-srcdoc>srcdoc</code> document</a>, then
|
5914
|
+
let <var title="">fallback base url</var> be the <a href=#document-base-url>document
|
5915
|
+
base URL</a> of the <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing
|
5916
|
+
context</a>'s <a href=#browsing-context-container>browsing context container</a>'s
|
5917
|
+
<code><a href=#document>Document</a></code> instead.</li>
|
5905
5918
|
|
5906
|
-
<li><p>
|
5907
|
-
<
|
5908
|
-
|
5919
|
+
<li><p>If there is no <code><a href=#the-base-element>base</a></code> element that has an <code title=attr-base-href><a href=#attr-base-href>href</a></code> attribute, then the
|
5920
|
+
<a href=#document-base-url>document base URL</a> is <var title="">fallback base
|
5921
|
+
url</var>. Otherwise, let <var title="">url</var> be the value of
|
5922
|
+
the <code title=attr-base-href><a href=#attr-base-href>href</a></code> attribute of the
|
5923
|
+
first such element.</li>
|
5909
5924
|
|
5910
5925
|
<li><p><a href=#resolve-a-url title="resolve a URL">Resolve</a> <var title="">url</var> relative to <var title="">fallback base
|
5911
5926
|
url</var> (thus, the <code><a href=#the-base-element>base</a></code> <code title=attr-base-href><a href=#attr-base-href>href</a></code> attribute isn't affected by
|
@@ -6289,10 +6304,8 @@ a.setAttribute('href', 'http://example.com/'); // change the content attribute d
|
|
6289
6304
|
|
6290
6305
|
<ol><li>
|
6291
6306
|
|
6292
|
-
<p>
|
6293
|
-
|
6294
|
-
document's current address</a> of the appropriate
|
6295
|
-
<code><a href=#document>Document</a></code> as given by the following list. <a href=#refsHTTP>[HTTP]</a></p>
|
6307
|
+
<p>Let <var title="">document</var> be the appropriate
|
6308
|
+
<code><a href=#document>Document</a></code> as given by the following list:</p>
|
6296
6309
|
|
6297
6310
|
<dl class=switch><dt>When <a href=#navigate title=navigate>navigating</a></dt>
|
6298
6311
|
|
@@ -6308,7 +6321,26 @@ a.setAttribute('href', 'http://example.com/'); // change the content attribute d
|
|
6308
6321
|
<dd>The <a href=#entry-script>entry script</a>'s <a href="#script's-document" title="script's
|
6309
6322
|
document">document</a>.</dd>
|
6310
6323
|
|
6311
|
-
</dl
|
6324
|
+
</dl></li>
|
6325
|
+
|
6326
|
+
<li>
|
6327
|
+
|
6328
|
+
<p>While <var title="">document</var> is is <a href=#an-iframe-srcdoc-document>an
|
6329
|
+
<code>iframe</code> <code title=attr-iframe-srcdoc>srcdoc</code>
|
6330
|
+
document</a>, let <var title="">document</var> be <var title="">document</var>'s <a href=#browsing-context>browsing context</a>'s
|
6331
|
+
<a href=#browsing-context-container>browsing context container</a>'s <code><a href=#document>Document</a></code>
|
6332
|
+
instead.</p>
|
6333
|
+
|
6334
|
+
</li>
|
6335
|
+
|
6336
|
+
<li>
|
6337
|
+
|
6338
|
+
<p>Generate the <i>address of the resource from which Request-URIs
|
6339
|
+
are obtained</i> as required by HTTP for the <code title=http-referer>Referer</code> (sic) header from <a href="#the-document's-current-address">the
|
6340
|
+
document's current address</a> of <var title="">document</var>.
|
6341
|
+
<a href=#refsHTTP>[HTTP]</a></p>
|
6342
|
+
|
6343
|
+
<p>Remove any <a href=#url-fragment title=url-fragment><fragment></a>
|
6312
6344
|
component from the generated <i>address of the resource from which
|
6313
6345
|
Request-URIs are obtained</i>.</p> <!-- RFC2616 says "The URI MUST
|
6314
6346
|
NOT include a fragment." (section 14.36) -->
|
@@ -7854,7 +7886,57 @@ interface <dfn id=propertynodelist>PropertyNodeList</dfn> : <a href=#nodelist>No
|
|
7854
7886
|
</div>
|
7855
7887
|
|
7856
7888
|
|
7857
|
-
|
7889
|
+
<!--CSSREF-->
|
7890
|
+
<h4 id=domelementmap-0><span class=secno>2.8.7 </span>DOMElementMap</h4>
|
7891
|
+
|
7892
|
+
<p>The <code><a href=#domelementmap>DOMElementMap</a></code> interface represents a set of
|
7893
|
+
name-element mappings. It exposes these using the scripting
|
7894
|
+
language's native mechanisms for property access.</p>
|
7895
|
+
|
7896
|
+
<div class=impl>
|
7897
|
+
|
7898
|
+
<p>When a <code><a href=#domelementmap>DOMElementMap</a></code> object is instantiated, it is
|
7899
|
+
associated with three algorithms, one for getting the list of
|
7900
|
+
name-element mappings, one for mapping a name to a certain element,
|
7901
|
+
and one for deleting mappings by name.</p>
|
7902
|
+
|
7903
|
+
<pre class=idl>interface <dfn id=domelementmap>DOMElementMap</dfn> {
|
7904
|
+
<a href=#dom-domelementmap-nameditem title=dom-DOMElementMap-namedItem>getter</a> DOMString (in DOMString name);
|
7905
|
+
<a href=#dom-domelementmap-setitem title=dom-DOMElementMap-setItem>setter</a> void (in DOMString name, in <a href=#element>Element</a> value);
|
7906
|
+
<a href=#dom-domelementmap-additem title=dom-DOMElementMap-addItem>creator</a> void (in DOMString name, in <a href=#element>Element</a> value);
|
7907
|
+
<a href=#dom-domelementmap-removeitem title=dom-DOMElementMap-removeItem>deleter</a> void (in DOMString name);
|
7908
|
+
};</pre>
|
7909
|
+
|
7910
|
+
<p>The <a href=#supported-property-names>supported property names</a> on a
|
7911
|
+
<code><a href=#domelementmap>DOMElementMap</a></code> object at any instant are the names for
|
7912
|
+
each mapping returned from the algorithm for getting the list of
|
7913
|
+
name-element mappings at that instant.</p>
|
7914
|
+
|
7915
|
+
<p>To <dfn id=dom-domelementmap-nameditem title=dom-DOMElementMap-namedItem>determine the value
|
7916
|
+
of a named property</dfn> <var title="">name</var> in a
|
7917
|
+
<code><a href=#domelementmap>DOMElementMap</a></code>, the user agent must return the element
|
7918
|
+
component of the name-element mapping whose name component is <var title="">name</var> in the list returned by the algorithm for
|
7919
|
+
getting the list of name-element mappings.</p>
|
7920
|
+
|
7921
|
+
<p>To set the value of a <dfn id=dom-domelementmap-additem title=dom-DOMElementMap-addItem>new</dfn> or <dfn id=dom-domelementmap-setitem title=dom-DOMElementMap-setItem>existing</dfn> named property <var title="">name</var> to value <var title="">value</var>, the
|
7922
|
+
algorithm for mapping a name to a certain element must be run,
|
7923
|
+
passing <var title="">name</var> as the name <var title="">value</var> as the element.</p>
|
7924
|
+
|
7925
|
+
<p>To <dfn id=dom-domelementmap-removeitem title=dom-DOMElementMap-removeItem>delete an existing
|
7926
|
+
named property</dfn> <var title="">name</var>, the algorithm for
|
7927
|
+
deleting mappings must be run, passing <var title="">name</var> as
|
7928
|
+
the name component of the mapping to be deleted.</p>
|
7929
|
+
|
7930
|
+
<p class=note>The <code><a href=#domelementmap>DOMElementMap</a></code> interface definition
|
7931
|
+
here is only intended for JavaScript environments. Other language
|
7932
|
+
bindings will need to define how <code><a href=#domelementmap>DOMElementMap</a></code> is to be
|
7933
|
+
implemented for those languages.</p>
|
7934
|
+
|
7935
|
+
</div>
|
7936
|
+
<!--CSSREF-->
|
7937
|
+
|
7938
|
+
|
7939
|
+
<h4 id=dom-feature-strings><span class=secno>2.8.8 </span>DOM feature strings</h4>
|
7858
7940
|
|
7859
7941
|
<p>DOM3 Core defines mechanisms for checking for interface support,
|
7860
7942
|
and for obtaining implementations of interfaces, using <a href=http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMFeatures>feature
|
@@ -7876,7 +7958,7 @@ interface <dfn id=propertynodelist>PropertyNodeList</dfn> : <a href=#nodelist>No
|
|
7876
7958
|
</div>
|
7877
7959
|
|
7878
7960
|
|
7879
|
-
<h4 id=exceptions><span class=secno>2.8.
|
7961
|
+
<h4 id=exceptions><span class=secno>2.8.9 </span>Exceptions</h4>
|
7880
7962
|
|
7881
7963
|
<p>The following are <code><a href=#domexception>DOMException</a></code> codes. <a href=#refsDOMCORE>[DOMCORE]</a></p>
|
7882
7964
|
|
@@ -7923,7 +8005,7 @@ interface <dfn id=propertynodelist>PropertyNodeList</dfn> : <a href=#nodelist>No
|
|
7923
8005
|
|
7924
8006
|
<div class=impl>
|
7925
8007
|
|
7926
|
-
<h4 id=garbage-collection><span class=secno>2.8.
|
8008
|
+
<h4 id=garbage-collection><span class=secno>2.8.10 </span>Garbage collection</h4>
|
7927
8009
|
|
7928
8010
|
<p>There is an <dfn id=implied-strong-reference>implied strong reference</dfn> from any IDL
|
7929
8011
|
attribute that returns a pre-existing object to that object.</p>
|
@@ -7996,9 +8078,26 @@ interface <dfn id=propertynodelist>PropertyNodeList</dfn> : <a href=#nodelist>No
|
|
7996
8078
|
<a href=#html-documents title="HTML documents">HTML document</a> or an <a href=#xml-documents title="XML documents">XML document</a> affects the behavior of
|
7997
8079
|
certain APIs and the case-sensitivity of some selectors.</p>
|
7998
8080
|
|
8081
|
+
<p>Each <code><a href=#document>Document</a></code> object has a <dfn id=reload-override-flag>reload override
|
8082
|
+
flag</dfn> that is originally unset. The flag is set by the <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> and <code title=dom-document-open><a href=#dom-document-open>document.write()</a></code> methods in certain
|
8083
|
+
situations. When the flag is set, the <code><a href=#document>Document</a></code> also has
|
8084
|
+
a <dfn id=reload-override-buffer>reload override buffer</dfn> which is a Unicode string that
|
8085
|
+
is used as the source of the document when it is reloaded.</p>
|
7999
8086
|
|
8087
|
+
<p>When the user agent is to perform <dfn id=an-overridden-reload>an overridden
|
8088
|
+
reload</dfn>, it must act as follows:</p>
|
8000
8089
|
|
8001
|
-
<
|
8090
|
+
<ol><li><p>Let <var title="">source</var> be the value of the
|
8091
|
+
<a href=#browsing-context>browsing context</a>'s <a href=#active-document>active document</a>'s
|
8092
|
+
<a href=#reload-override-buffer>reload override buffer</a>.</li>
|
8093
|
+
|
8094
|
+
<li><p><a href=#navigate>Navigate</a><!--DONAV reload after d.open()--> the
|
8095
|
+
<a href=#browsing-context>browsing context</a> to a resource whose source is <var title="">source</var>. When the <a href=#navigate>navigate</a> algorithm
|
8096
|
+
creates a <code><a href=#document>Document</a></code> object for this purpose, set that
|
8097
|
+
<code><a href=#document>Document</a></code>'s <a href=#reload-override-flag>reload override flag</a> and set
|
8098
|
+
its <a href=#reload-override-buffer>reload override buffer</a> to <var title="">source</var>.</li>
|
8099
|
+
|
8100
|
+
</ol><h4 id=documents-in-the-dom><span class=secno>3.1.1 </span>Documents in the DOM</h4>
|
8002
8101
|
|
8003
8102
|
<p>All <code><a href=#document>Document</a></code> objects (in user agents implementing
|
8004
8103
|
this specification) <span class=impl>must</span> also implement
|
@@ -8048,6 +8147,7 @@ interface <dfn id=htmldocument>HTMLDocument</dfn> {
|
|
8048
8147
|
NodeList <a href=#dom-document-getelementsbyname title=dom-document-getElementsByName>getElementsByName</a>(in DOMString elementName);
|
8049
8148
|
NodeList <a href=#dom-document-getelementsbyclassname title=dom-document-getElementsByClassName>getElementsByClassName</a>(in DOMString classNames);
|
8050
8149
|
<!--MD--> NodeList <a href=#dom-document-getitems title=dom-document-getItems>getItems</a>(in optional DOMString typeNames); // <a href=#microdata>microdata</a> <!--WARNING: ALSO DUPLICATED IN MICRODATA SECTION--><!--MD-->
|
8150
|
+
<!--CSSREF--> readonly attribute <a href=#domelementmap>DOMElementMap</a> <a href=#dom-document-csselementmap title=dom-document-cssElementMap>cssElementMap</a>;<!--CSSREF-->
|
8051
8151
|
|
8052
8152
|
// <a href=#dynamic-markup-insertion>dynamic markup insertion</a>
|
8053
8153
|
attribute DOMString <a href=#dom-innerhtml title=dom-innerHTML>innerHTML</a>;
|
@@ -8215,19 +8315,20 @@ interface <dfn id=htmldocument>HTMLDocument</dfn> {
|
|
8215
8315
|
attribute represents the cookies of the resource from which the
|
8216
8316
|
<code><a href=#document>Document</a></code> was created.</p>
|
8217
8317
|
|
8218
|
-
<p>
|
8219
|
-
|
8220
|
-
|
8221
|
-
|
8222
|
-
|
8223
|
-
|
8224
|
-
|
8225
|
-
|
8226
|
-
|
8227
|
-
|
8228
|
-
|
8229
|
-
|
8230
|
-
|
8318
|
+
<p>A <code><a href=#document>Document</a></code> object that falls into one of the
|
8319
|
+
following conditions is a <dfn id=cookie-free-document-object>cookie-free <code>Document</code>
|
8320
|
+
object</dfn>:</p>
|
8321
|
+
|
8322
|
+
<ul><li>A <code><a href=#document>Document</a></code> that has no <a href=#browsing-context>browsing
|
8323
|
+
context</a>.</li>
|
8324
|
+
|
8325
|
+
<li>A <code><a href=#document>Document</a></code> whose <a href="#the-document's-address" title="the document's
|
8326
|
+
address">address</a> does not use a server-based naming
|
8327
|
+
authority.</li>
|
8328
|
+
|
8329
|
+
</ul><!--Other specifications can also define <code>Document</code>
|
8330
|
+
objects as being <span title="cookie-free Document
|
8331
|
+
object">cookie-free <code>Document</code> objects</span>.--><p id=sandboxCookies>On getting, if the document is a
|
8231
8332
|
<a href=#cookie-free-document-object>cookie-free <code>Document</code> object</a>, then the user
|
8232
8333
|
agent must return the empty string. Otherwise, if the
|
8233
8334
|
<code><a href=#document>Document</a></code>'s <a href=#origin>origin</a> is not a
|
@@ -8720,6 +8821,83 @@ interface <dfn id=htmldocument>HTMLDocument</dfn> {
|
|
8720
8821
|
> optional tag name.
|
8721
8822
|
-->
|
8722
8823
|
|
8824
|
+
<!--CSSREF-->
|
8825
|
+
<hr><dl class=domintro><dt><var title="">element</var> . <code title=dom-document-cssElementMap><a href=#dom-document-csselementmap>cssElementMap</a></code></dt>
|
8826
|
+
<dd>
|
8827
|
+
|
8828
|
+
<p>Returns a <code><a href=#domelementmap>DOMElementMap</a></code> object for the
|
8829
|
+
<code><a href=#document>Document</a></code> representing the current <span title="CSS
|
8830
|
+
element reference identifier">CSS element reference
|
8831
|
+
identifiers</span>.</p>
|
8832
|
+
|
8833
|
+
</dd>
|
8834
|
+
|
8835
|
+
</dl><div class=impl>
|
8836
|
+
|
8837
|
+
<p>The <dfn id=dom-document-csselementmap title=dom-document-cssElementMap><code>cssElementMap</code></dfn>
|
8838
|
+
IDL attribute allows authors to define <span title="CSS element
|
8839
|
+
reference identifier">CSS element reference identifiers</span>,
|
8840
|
+
which are used in certain CSS features to override the normal <a href=#concept-id title=concept-id>ID</a>-based mapping. <a href=#refsCSSIMAGES>[CSSIMAGES]</a></p>
|
8841
|
+
|
8842
|
+
<p>When a <code><a href=#document>Document</a></code> is created, it must be associated
|
8843
|
+
with an initially-empty <dfn id=css-id-overrides-list>CSS ID overrides list</dfn>, which
|
8844
|
+
consists of a list of mappings each of which consists of a string
|
8845
|
+
name mapped to an <code><a href=#element>Element</a></code> node.</p>
|
8846
|
+
|
8847
|
+
<p>Each entry in the <a href=#css-id-overrides-list>CSS ID overrides list</a>, while it is
|
8848
|
+
in the list, defines a <span>CSS element reference identifier</span>
|
8849
|
+
mapping the given name to the given <code><a href=#element>Element</a></code>. <a href=#refsCSSIMAGES>[CSSIMAGES]</a></p>
|
8850
|
+
|
8851
|
+
<p>On getting, the <code title=dom-document-cssElementMap><a href=#dom-document-csselementmap>cssElementMap</a></code> IDL
|
8852
|
+
attribute must return a <code><a href=#domelementmap>DOMElementMap</a></code> object,
|
8853
|
+
associated with the following algorithms, which expose the current
|
8854
|
+
mappings:</p>
|
8855
|
+
|
8856
|
+
<dl><dt>The algorithm for getting the list of name-element mappings</dt>
|
8857
|
+
|
8858
|
+
<dd>
|
8859
|
+
|
8860
|
+
<p>Return the <code><a href=#document>Document</a></code>'s <a href=#css-id-overrides-list>CSS ID overrides
|
8861
|
+
list</a>, maintaining the order in which the entries were
|
8862
|
+
originally added to the list.</p>
|
8863
|
+
|
8864
|
+
</dd>
|
8865
|
+
|
8866
|
+
<dt>The algorithm for for mapping a name to a certain element</dt>
|
8867
|
+
|
8868
|
+
<dd>
|
8869
|
+
|
8870
|
+
<p>Let <var title="">name</var> be the name passed to the
|
8871
|
+
algorithm and <var title="">element</var> be the
|
8872
|
+
<code><a href=#element>Element</a></code> passed to the algorithm.</p>
|
8873
|
+
|
8874
|
+
<p>If <var title="">element</var> is null, run the algorithm for
|
8875
|
+
deleting mappings by name, passing it <var title="">name</var>.</p>
|
8876
|
+
|
8877
|
+
<p>Otherwise, if there is an entry in the <code><a href=#document>Document</a></code>'s
|
8878
|
+
<a href=#css-id-overrides-list>CSS ID overrides list</a> whose name is <var title="">name</var>, replace its current value with <var title="">element</var>.</p>
|
8879
|
+
|
8880
|
+
<p>Otherwise, add a mapping to the <code><a href=#document>Document</a></code>'s
|
8881
|
+
<a href=#css-id-overrides-list>CSS ID overrides list</a> whose name is <var title="">name</var> and whose element is <var title="">element</var>.</p>
|
8882
|
+
|
8883
|
+
</dd>
|
8884
|
+
|
8885
|
+
<dt>The algorithm for deleting mappings by name</dt>
|
8886
|
+
|
8887
|
+
<dd>
|
8888
|
+
|
8889
|
+
<p>If there is an entry in the <code><a href=#document>Document</a></code>'s <a href=#css-id-overrides-list>CSS
|
8890
|
+
ID overrides list</a> whose name is the name passed to this
|
8891
|
+
algorithm, remove it. This also undefines the <span>CSS element
|
8892
|
+
reference identifier</span> for that name. <a href=#refsCSSIMAGES>[CSSIMAGES]</a></p>
|
8893
|
+
|
8894
|
+
</dd>
|
8895
|
+
|
8896
|
+
</dl><p>The same object must be returned each time.</p>
|
8897
|
+
|
8898
|
+
</div>
|
8899
|
+
<!--CSSREF-->
|
8900
|
+
|
8723
8901
|
<div class=impl>
|
8724
8902
|
|
8725
8903
|
<hr><p>The <code><a href=#htmldocument>HTMLDocument</a></code> interface <span title="support
|
@@ -9691,7 +9869,8 @@ Transport Protocol">HTTP</abbr> today.</p></pre>
|
|
9691
9869
|
element that is a descendant of the element whose <a href=#the-directionality title="the directionality">directionality</a> is being
|
9692
9870
|
determined and that is either:</p>
|
9693
9871
|
|
9694
|
-
<ul class=brief><li>A <code><a href=#
|
9872
|
+
<ul class=brief><li>A <code><a href=#the-bdi-element>bdi</a></code> element.
|
9873
|
+
<li>A <code><a href=#script>script</a></code> element.
|
9695
9874
|
<li>A <code><a href=#the-style-element>style</a></code> element.
|
9696
9875
|
<li>An element with a <code title=attr-dir><a href=#the-dir-attribute>dir</a></code> attribute in a defined state.
|
9697
9876
|
</ul></li>
|
@@ -11151,7 +11330,7 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
|
|
11151
11330
|
overridden. The following table lists these elements<span class=impl> and their <span>implicit ARIA semantics</span></span>,
|
11152
11331
|
along with the restrictions that apply to those elements. Each
|
11153
11332
|
language feature (element or attribute) in a cell in the first
|
11154
|
-
column implies, unless otherwise
|
11333
|
+
column implies, unless otherwise overridden, the ARIA semantic (role,
|
11155
11334
|
state, or property) given in the cell in the second column of the
|
11156
11335
|
same row, but this semantic may be overridden under the conditions
|
11157
11336
|
listed in the cell in the third column of that row. In addition, any
|
@@ -11630,6 +11809,10 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
|
|
11630
11809
|
<li><p>Change the <a href="#document's-character-encoding">document's character encoding</a> to
|
11631
11810
|
UTF-8.</li>
|
11632
11811
|
|
11812
|
+
<li><p>Set the <code><a href=#document>Document</a></code> object's <a href=#reload-override-flag>reload override
|
11813
|
+
flag</a> and set the <code><a href=#document>Document</a></code>'s <a href=#reload-override-buffer>reload
|
11814
|
+
override buffer</a> to the empty string.</li>
|
11815
|
+
|
11633
11816
|
<li><p>Change <a href="#the-document's-address">the document's address</a> to the
|
11634
11817
|
<a href=#entry-script>entry script</a>'s <a href="#script's-document" title="script's
|
11635
11818
|
document">document</a>'s <a href="#the-document's-address" title="the document's
|
@@ -11823,10 +12006,10 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
|
|
11823
12006
|
|
11824
12007
|
<li>
|
11825
12008
|
|
11826
|
-
<p>If the <a href=#insertion-point>insertion point</a> is undefined, the
|
11827
|
-
|
11828
|
-
|
11829
|
-
unloaded</a>, then these steps
|
12009
|
+
<p>If the <a href=#insertion-point>insertion point</a> is undefined, call the
|
12010
|
+
<code title=dom-document-open><a href=#dom-document-open>open()</a></code> method on the <code title=Document><a href=#document>document</a></code> object (with no arguments). If
|
12011
|
+
the user <a href=#refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be
|
12012
|
+
unloaded</a>, then abort these steps. Otherwise, the
|
11830
12013
|
<a href=#insertion-point>insertion point</a> will point at just before the end of
|
11831
12014
|
the (empty) <a href=#the-input-stream>input stream</a>.</p>
|
11832
12015
|
|
@@ -11834,28 +12017,30 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
|
|
11834
12017
|
|
11835
12018
|
<li>
|
11836
12019
|
|
11837
|
-
<p>
|
11838
|
-
to the method
|
11839
|
-
|
12020
|
+
<p>Insert the string consisting of the concatenation of all the
|
12021
|
+
arguments to the method into the <a href=#the-input-stream>input stream</a> just
|
12022
|
+
before the <a href=#insertion-point>insertion point</a>.</p>
|
11840
12023
|
|
11841
12024
|
</li>
|
11842
12025
|
|
11843
12026
|
<li>
|
11844
12027
|
|
11845
|
-
<p>If
|
11846
|
-
|
11847
|
-
|
12028
|
+
<p>If the <code><a href=#document>Document</a></code> object's <a href=#reload-override-flag>reload override
|
12029
|
+
flag</a> is set, then append the string consisting of the
|
12030
|
+
concatenation of all the arguments to the method to the
|
12031
|
+
<code><a href=#document>Document</a></code>'s <a href=#reload-override-buffer>reload override buffer</a>.</p>
|
11848
12032
|
|
11849
12033
|
</li>
|
11850
12034
|
|
11851
12035
|
<li>
|
11852
12036
|
|
11853
|
-
<p>
|
11854
|
-
|
11855
|
-
|
11856
|
-
|
11857
|
-
|
11858
|
-
|
12037
|
+
<p>If there is no <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>,
|
12038
|
+
have the tokenizer process the characters that were inserted, one
|
12039
|
+
at a time, processing resulting tokens as they are emitted, and
|
12040
|
+
stopping when the tokenizer reaches the insertion point or when
|
12041
|
+
the processing of the tokenizer is aborted by the tree
|
12042
|
+
construction stage (this can happen if a <code><a href=#script>script</a></code> end
|
12043
|
+
tag token is emitted by the tokenizer).
|
11859
12044
|
|
11860
12045
|
<p class=note>If the <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code> method was
|
11861
12046
|
called from script executing inline (i.e. executing because the
|
@@ -11867,7 +12052,7 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
|
|
11867
12052
|
|
11868
12053
|
<li>
|
11869
12054
|
|
11870
|
-
<p>Finally, the method
|
12055
|
+
<p>Finally, return from the method.</p>
|
11871
12056
|
|
11872
12057
|
</li>
|
11873
12058
|
|
@@ -13366,7 +13551,7 @@ gave me some of the songs they wrote. I love sharing my music.</p>
|
|
13366
13551
|
<td><code title="">refresh</code>
|
13367
13552
|
<td>
|
13368
13553
|
<tr class=impl><td><a href=#attr-meta-http-equiv-set-cookie title=attr-meta-http-equiv-set-cookie>Cookie setter</a>
|
13369
|
-
<td><code title="">
|
13554
|
+
<td><code title="">set-cookie</code>
|
13370
13555
|
<td>Non-conforming
|
13371
13556
|
</table><!--
|
13372
13557
|
DATA: According to Henri's validator stats, here are common
|
@@ -13639,17 +13824,15 @@ people expect to have work and what is necessary.
|
|
13639
13824
|
<code><a href=#meta>meta</a></code> element's <code><a href=#document>Document</a></code>'s
|
13640
13825
|
<a href=#browsing-context>browsing context</a> did not have the <a href=#sandboxed-automatic-features-browsing-context-flag>sandboxed
|
13641
13826
|
automatic features browsing context flag</a> set when the
|
13642
|
-
<code><a href=#document>Document</a></code> was created, the user agent <a href=#navigate title=navigate>navigates</a
|
13643
|
-
<a href=#browsing-context>browsing context</a> to <var title="">url</var>, with
|
13644
|
-
<a href=#
|
13645
|
-
|
13646
|
-
<a href=#source-browsing-context>source browsing context</a>.</li>
|
13827
|
+
<code><a href=#document>Document</a></code> was created, the user agent <a href=#navigate title=navigate>navigates</a><!--DONAV meta refresh--> the
|
13828
|
+
<code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> to <var title="">url</var>, with <a href=#replacement-enabled>replacement enabled</a>, and
|
13829
|
+
with the <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a>
|
13830
|
+
as the <a href=#source-browsing-context>source browsing context</a>.</li>
|
13647
13831
|
|
13648
13832
|
<li><p>Provide the user with an interface that, when selected,
|
13649
|
-
<a href=#navigate title=navigate>navigates</a
|
13650
|
-
context</a> to <var title="">url</var>, with the document's
|
13651
|
-
|
13652
|
-
context</a>.</li>
|
13833
|
+
<a href=#navigate title=navigate>navigates</a><!--DONAV meta
|
13834
|
+
refresh--> a <a href=#browsing-context>browsing context</a> to <var title="">url</var>, with the document's browsing context as the
|
13835
|
+
<a href=#source-browsing-context>source browsing context</a>.</li>
|
13653
13836
|
|
13654
13837
|
<li><p>Do nothing.</li>
|
13655
13838
|
|
@@ -22189,8 +22372,8 @@ href="?audio">audio</a> test instead.)</p></pre>
|
|
22189
22372
|
|
22190
22373
|
<p>The <dfn id=attr-iframe-srcdoc title=attr-iframe-srcdoc><code>srcdoc</code></dfn>
|
22191
22374
|
attribute gives the content of the page that the <a href=#nested-browsing-context>nested
|
22192
|
-
browsing context</a> is to contain.
|
22193
|
-
|
22375
|
+
browsing context</a> is to contain. The value of the attribute is
|
22376
|
+
the source of <dfn id=an-iframe-srcdoc-document>an <code>iframe</code> <code title=attr-iframe-srcdoc>srcdoc</code> document</dfn>.</p>
|
22194
22377
|
|
22195
22378
|
<p>For <code><a href=#the-iframe-element>iframe</a></code> elements in <a href=#html-documents>HTML documents</a>,
|
22196
22379
|
the attribute, if present, must have a value using <a href=#syntax>the HTML
|
@@ -22231,14 +22414,14 @@ href="?audio">audio</a> test instead.)</p></pre>
|
|
22231
22414
|
first time.</p>
|
22232
22415
|
|
22233
22416
|
<p>Whenever an <code><a href=#the-iframe-element>iframe</a></code> element with a <a href=#nested-browsing-context>nested
|
22234
|
-
browsing context</a> has its <code title=attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> attribute set
|
22235
|
-
the user agent must <a href=#process-the-iframe-attributes>process the <code>iframe</code>
|
22417
|
+
browsing context</a> has its <code title=attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> attribute set, changed, or
|
22418
|
+
removed, the user agent must <a href=#process-the-iframe-attributes>process the <code>iframe</code>
|
22236
22419
|
attributes</a>.</p>
|
22237
22420
|
|
22238
22421
|
<p>Similarly, whenever an <code><a href=#the-iframe-element>iframe</a></code> element with a
|
22239
22422
|
<a href=#nested-browsing-context>nested browsing context</a> but with no <code title=attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> attribute specified has its
|
22240
|
-
<code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute set
|
22241
|
-
the user agent must <a href=#process-the-iframe-attributes>process the <code>iframe</code>
|
22423
|
+
<code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code> attribute set, changed, or
|
22424
|
+
removed, the user agent must <a href=#process-the-iframe-attributes>process the <code>iframe</code>
|
22242
22425
|
attributes</a>.</p> <!-- It doesn't happen when the base URL is
|
22243
22426
|
changed, though. -->
|
22244
22427
|
|
@@ -22249,11 +22432,14 @@ href="?audio">audio</a> test instead.)</p></pre>
|
|
22249
22432
|
<dl class=switch><dt>If the <code title=attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> attribute
|
22250
22433
|
is specified</dt>
|
22251
22434
|
|
22252
|
-
<dd><p><a href=#navigate>Navigate</a
|
22253
|
-
context</a> to a resource whose
|
22254
|
-
<code><a href=#text/html>text/html</a></code>, whose
|
22255
|
-
<code><a href=#about:srcdoc>about:srcdoc</a></code>, and whose data
|
22256
|
-
the attribute
|
22435
|
+
<dd><p><a href=#navigate>Navigate</a><!--DONAV iframe--> the element's
|
22436
|
+
<a href=#browsing-context>browsing context</a> to a resource whose
|
22437
|
+
<a href=#content-type>Content-Type</a> is <code><a href=#text/html>text/html</a></code>, whose
|
22438
|
+
<a href=#url>URL</a> is <code><a href=#about:srcdoc>about:srcdoc</a></code>, and whose data
|
22439
|
+
consists of the value of the attribute. The resulting
|
22440
|
+
<code><a href=#document>Document</a></code> must be considered <a href=#an-iframe-srcdoc-document>an
|
22441
|
+
<code>iframe</code> <code title=attr-iframe-srcdoc>srcdoc</code>
|
22442
|
+
document</a>.</dd>
|
22257
22443
|
|
22258
22444
|
<dt>If the <code title=attr-iframe-src><a href=#attr-iframe-src>src</a></code>
|
22259
22445
|
attribute is specified but the <code title=attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> attribute is not</dt>
|
@@ -22277,8 +22463,8 @@ href="?audio">audio</a> test instead.)</p></pre>
|
|
22277
22463
|
first time, <code><a href=#about:blank>about:blank</a></code> is loaded
|
22278
22464
|
normally.)</li>
|
22279
22465
|
|
22280
|
-
<li><p><a href=#navigate>Navigate</a
|
22281
|
-
context</a> to the resulting <a href=#absolute-url>absolute
|
22466
|
+
<li><p><a href=#navigate>Navigate</a><!--DONAV iframe--> the element's
|
22467
|
+
<a href=#browsing-context>browsing context</a> to the resulting <a href=#absolute-url>absolute
|
22282
22468
|
URL</a>.</li>
|
22283
22469
|
|
22284
22470
|
</ol><p><i>Empty</i>: When the steps above require the user agent to
|
@@ -22378,15 +22564,15 @@ href="?audio">audio</a> test instead.)</p></pre>
|
|
22378
22564
|
</footer>
|
22379
22565
|
<article>
|
22380
22566
|
<footer> At <time pubdate>2009-08-21T23:35Z</time>, <a href="/users/ch">ch</a> writes: </footer>
|
22381
|
-
<iframe seamless sandbox
|
22567
|
+
<iframe seamless sandbox srcdoc="<p>did you get a cover picture yet?"></iframe>
|
22382
22568
|
</article>
|
22383
22569
|
<article>
|
22384
22570
|
<footer> At <time pubdate>2009-08-21T23:44Z</time>, <a href="/users/cap">cap</a> writes: </footer>
|
22385
|
-
<iframe seamless sandbox
|
22571
|
+
<iframe seamless sandbox srcdoc="<p>Yeah, you can see it <a href=&quot;/gallery?mode=cover&amp;amp;page=1&quot;>in my gallery</a>."></iframe>
|
22386
22572
|
</article>
|
22387
22573
|
<article>
|
22388
22574
|
<footer> At <time pubdate>2009-08-21T23:58Z</time>, <a href="/users/ch">ch</a> writes: </footer>
|
22389
|
-
<iframe seamless sandbox
|
22575
|
+
<iframe seamless sandbox srcdoc="<p>hey that's earl's table.
|
22390
22576
|
<p>you should get earl&amp;amp;me on the next cover."></iframe>
|
22391
22577
|
</article></pre>
|
22392
22578
|
|
@@ -22796,8 +22982,10 @@ href="?audio">audio</a> test instead.)</p></pre>
|
|
22796
22982
|
document, or the <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active
|
22797
22983
|
document</a>'s <em><a href="#the-document's-address" title="the document's
|
22798
22984
|
address">address</a></em> has the <a href=#same-origin>same origin</a> as the
|
22799
|
-
<code><a href=#the-iframe-element>iframe</a></code> element's document, the
|
22800
|
-
|
22985
|
+
<code><a href=#the-iframe-element>iframe</a></code> element's document, or the <a href=#browsing-context>browsing
|
22986
|
+
context</a>'s <a href=#active-document>active document</a> is <a href=#an-iframe-srcdoc-document>an
|
22987
|
+
<code>iframe</code> <code title=attr-iframe-srcdoc>srcdoc</code>
|
22988
|
+
document</a>, the following requirements apply:</span></p>
|
22801
22989
|
|
22802
22990
|
<div class=impl>
|
22803
22991
|
|
@@ -22863,7 +23051,7 @@ href="?audio">audio</a> test instead.)</p></pre>
|
|
22863
23051
|
<p>User agents should, in general, act as if the <a href=#active-document>active
|
22864
23052
|
document</a> of the <code><a href=#the-iframe-element>iframe</a></code>'s <a href=#nested-browsing-context>nested browsing
|
22865
23053
|
context</a> was part of the document that the
|
22866
|
-
<code><a href=#the-iframe-element>iframe</a></code> is in.</p>
|
23054
|
+
<code><a href=#the-iframe-element>iframe</a></code> is in, if any.</p>
|
22867
23055
|
|
22868
23056
|
<p class=example>For example if the user agent supports listing
|
22869
23057
|
all the links in a document, links in "seamlessly" nested
|
@@ -23725,12 +23913,12 @@ href="?audio">audio</a> test instead.)</p></pre>
|
|
23725
23913
|
|
23726
23914
|
<p>If the <a href=#url>URL</a> of the given resource is not
|
23727
23915
|
<code><a href=#about:blank>about:blank</a></code>, the element's <a href=#nested-browsing-context>nested browsing
|
23728
|
-
context</a> must then be <a href=#navigate title=navigate>navigated</a
|
23729
|
-
<a href=#replacement-enabled>replacement enabled</a>, and with the
|
23916
|
+
context</a> must then be <a href=#navigate title=navigate>navigated</a><!--DONAV object--> to that
|
23917
|
+
resource, with <a href=#replacement-enabled>replacement enabled</a>, and with the
|
23730
23918
|
<code><a href=#the-object-element>object</a></code> element's document's <a href=#browsing-context>browsing
|
23731
|
-
context</a> as the <a href=#source-browsing-context>source browsing
|
23732
|
-
|
23733
|
-
<code><a href=#the-object-element>object</a></code> element doesn't get updated if the
|
23919
|
+
context</a> as the <a href=#source-browsing-context>source browsing context</a>.
|
23920
|
+
(The <code title=attr-object-data><a href=#attr-object-data>data</a></code> attribute of
|
23921
|
+
the <code><a href=#the-object-element>object</a></code> element doesn't get updated if the
|
23734
23922
|
browsing context gets further navigated to other
|
23735
23923
|
locations.)</p>
|
23736
23924
|
|
@@ -24212,7 +24400,8 @@ href="?audio">audio</a> test instead.)</p></pre>
|
|
24212
24400
|
<a href=#timed-track-cue title="timed track cue">timed track cues</a> whose
|
24213
24401
|
<a href=#timed-track-cue-active-flag>timed track cue active flag</a> is set and whose
|
24214
24402
|
<a href=#timed-track>timed track</a> is in the <a href=#timed-track-showing title="timed track
|
24215
|
-
showing">showing</a>
|
24403
|
+
showing">showing</a> or <a href=#timed-track-showing-by-default title="timed track showing by
|
24404
|
+
default">showing by default</a> modes.</p>
|
24216
24405
|
<!--KEEP-START w3c-html--><!--TT-->
|
24217
24406
|
|
24218
24407
|
<p>In addition to the above, the user agent may provide messages to
|
@@ -24725,23 +24914,25 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
24725
24914
|
<dd><a href=#global-attributes>Global attributes</a></dd>
|
24726
24915
|
<dd><code title=attr-track-kind><a href=#attr-track-kind>kind</a></code></dd>
|
24727
24916
|
<dd><code title=attr-track-src><a href=#attr-track-src>src</a></code></dd>
|
24728
|
-
<dd><code title=attr-track-charset><a href=#attr-track-charset>charset</a></code></dd>
|
24729
24917
|
<dd><code title=attr-track-srclang><a href=#attr-track-srclang>srclang</a></code></dd>
|
24730
24918
|
<dd><code title=attr-track-label><a href=#attr-track-label>label</a></code></dd>
|
24919
|
+
<dd><code title=attr-track-default><a href=#attr-track-default>default</a></code></dd>
|
24731
24920
|
<dt>DOM interface:</dt>
|
24732
24921
|
<dd>
|
24733
24922
|
<pre class=idl>interface <dfn id=htmltrackelement>HTMLTrackElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
|
24734
24923
|
attribute DOMString <a href=#dom-track-kind title=dom-track-kind>kind</a>;
|
24735
24924
|
attribute DOMString <a href=#dom-track-src title=dom-track-src>src</a>;
|
24736
|
-
attribute DOMString <a href=#dom-track-charset title=dom-track-charset>charset</a>;
|
24737
24925
|
attribute DOMString <a href=#dom-track-srclang title=dom-track-srclang>srclang</a>;
|
24738
24926
|
attribute DOMString <a href=#dom-track-label title=dom-track-label>label</a>;
|
24927
|
+
attribute boolean <a href=#dom-track-default title=dom-track-default>default</a>;
|
24739
24928
|
|
24740
24929
|
readonly attribute <a href=#timedtrack>TimedTrack</a> <a href=#dom-track-track title=dom-track-track>track</a>;
|
24741
24930
|
};</pre>
|
24742
24931
|
</dd>
|
24743
24932
|
</dl><p>The <code><a href=#the-track-element>track</a></code> element allows authors to specify explicit
|
24744
|
-
external <a href=#timed-track title="timed track">timed tracks</a>
|
24933
|
+
external text-based <a href=#timed-track title="timed track">timed tracks</a>
|
24934
|
+
for <a href=#media-element title="media element">media elements</a>. It does not
|
24935
|
+
<a href=#represents title=represents>represent</a> anything on its own.</p>
|
24745
24936
|
|
24746
24937
|
<p>The <dfn id=attr-track-kind title=attr-track-kind><code>kind</code></dfn>
|
24747
24938
|
attribute is an <a href=#enumerated-attribute>enumerated attribute</a>. The following
|
@@ -24754,19 +24945,29 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
24754
24945
|
<th>Brief description
|
24755
24946
|
<tbody><tr><td><dfn id=attr-track-kind-keyword-subtitles title=attr-track-kind-keyword-subtitles><code>subtitles</code></dfn>
|
24756
24947
|
<td><dfn id=attr-track-kind-subtitles title=attr-track-kind-subtitles>Subtitles</dfn>
|
24757
|
-
<td>
|
24948
|
+
<td>
|
24949
|
+
<p>Transcription or translation of the dialogue, suitable for when the sound is available but not understood (e.g. because the user does not understand the language of the <a href=#media-resource>media resource</a>'s soundtrack).
|
24950
|
+
<p>Displayed over the video.
|
24758
24951
|
<tr><td><dfn id=attr-track-kind-keyword-captions title=attr-track-kind-keyword-captions><code>captions</code></dfn>
|
24759
24952
|
<td><dfn id=attr-track-kind-captions title=attr-track-kind-captions>Captions</dfn>
|
24760
|
-
<td>
|
24953
|
+
<td>
|
24954
|
+
<p>Transcription or translation of the dialogue, sound effects, relevant musical cues, and other relevant audio information, suitable for when the soundtrack is unavailable (e.g. because it is muted or because the user is deaf).
|
24955
|
+
<p>Displayed over the video; labeled as appropriate for the hard-of-hearing.
|
24761
24956
|
<tr><td><dfn id=attr-track-kind-keyword-descriptions title=attr-track-kind-keyword-descriptions><code>descriptions</code></dfn>
|
24762
24957
|
<td><dfn id=attr-track-kind-descriptions title=attr-track-kind-descriptions>Descriptions</dfn>
|
24763
|
-
<td>
|
24958
|
+
<td>
|
24959
|
+
<p>Textual descriptions of the video component of the <a href=#media-resource>media resource</a>, intended for audio synthesis when the visual component is unavailable (e.g. because the user is interacting with the application without a screen while driving, or because the user is blind).
|
24960
|
+
<p>Synthesized as separate audio track.
|
24764
24961
|
<tr><td><dfn id=attr-track-kind-keyword-chapters title=attr-track-kind-keyword-chapters><code>chapters</code></dfn>
|
24765
24962
|
<td><dfn id=attr-track-kind-chapters title=attr-track-kind-chapters>Chapters</dfn>
|
24766
|
-
<td>
|
24963
|
+
<td>
|
24964
|
+
<p>Chapter titles, intended to be used for navigating the <a href=#media-resource>media resource</a>.
|
24965
|
+
<p>Displayed as an interactive list in the user agent's interface.
|
24767
24966
|
<tr><td><dfn id=attr-track-kind-keyword-metadata title=attr-track-kind-keyword-metadata><code>metadata</code></dfn>
|
24768
24967
|
<td><dfn id=attr-track-kind-metadata title=attr-track-kind-metadata>Metadata</dfn>
|
24769
|
-
<td>
|
24968
|
+
<td>
|
24969
|
+
<p>Tracks intended for use from script.
|
24970
|
+
<p>Not displayed by the user agent.
|
24770
24971
|
</table><p>The attribute may be omitted. The <i>missing value default</i> is
|
24771
24972
|
the <a href=#attr-track-kind-subtitles title=attr-track-kind-subtitles>subtitles</a> state.</p>
|
24772
24973
|
|
@@ -24787,18 +24988,12 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
24787
24988
|
|
24788
24989
|
</div>
|
24789
24990
|
|
24991
|
+
<!--TTSRT-->
|
24790
24992
|
<p>If the elements's <a href=#track-url>track URL</a> identifies a
|
24791
24993
|
<a href=#websrt>WebSRT</a> resource, and the element's <code title=attr-track-kind><a href=#attr-track-kind>kind</a></code> attribute is not in the <a href=#attr-track-kind-metadata title=attr-track-kind-metadata>metadata</a> state, then the
|
24792
24994
|
<a href=#websrt>WebSRT</a> file must be a <a href=#websrt-file-using-cue-text>WebSRT file using cue
|
24793
24995
|
text</a>.</p>
|
24794
|
-
|
24795
|
-
<p>If the elements's <a href=#track-url>track URL</a> identifies a
|
24796
|
-
<a href=#websrt>WebSRT</a> resource, then the <dfn id=attr-track-charset title=attr-track-charset><code>charset</code></dfn> attribute may
|
24797
|
-
be specified. If the attribute is set, its value must be a valid
|
24798
|
-
character encoding name, must be an <a href=#ascii-case-insensitive>ASCII
|
24799
|
-
case-insensitive</a> match for the <a href=#preferred-mime-name>preferred MIME
|
24800
|
-
name</a> for that encoding, and must match the character encoding
|
24801
|
-
of the <a href=#websrt>WebSRT</a> file. <a href=#refsIANACHARSET>[IANACHARSET]</a></p>
|
24996
|
+
<!--TTSRT-->
|
24802
24997
|
|
24803
24998
|
<p>The <dfn id=attr-track-srclang title=attr-track-srclang><code>srclang</code></dfn>
|
24804
24999
|
attribute gives the language of the timed track data. The value must
|
@@ -24841,6 +25036,12 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
24841
25036
|
|
24842
25037
|
</div>
|
24843
25038
|
|
25039
|
+
<p>The <dfn id=attr-track-default title=attr-track-default><code>default</code></dfn>
|
25040
|
+
attribute, if specified, indicates that the track is to be enabled
|
25041
|
+
if the user's preferences do not indicate that another track would
|
25042
|
+
be more appropriate. There must not be more than one
|
25043
|
+
<code><a href=#the-track-element>track</a></code> element with the same parent node with the <code title=attr-track-default><a href=#attr-track-default>default</a></code> attribute specified.</p>
|
25044
|
+
|
24844
25045
|
<dl class=domintro><dt><var title="">track</var> . <code title=dom-track-track><a href=#dom-track-track>track</a></code></dt>
|
24845
25046
|
|
24846
25047
|
<dd>
|
@@ -24856,11 +25057,11 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
24856
25057
|
<a href=#timed-track>timed track</a>'s corresponding <code><a href=#timedtrack>TimedTrack</a></code>
|
24857
25058
|
object.</p>
|
24858
25059
|
|
24859
|
-
<p>The <dfn id=dom-track-src title=dom-track-src><code>src</code></dfn>, <dfn id=dom-track-
|
24860
|
-
<a href=#reflect>reflect</a> the respective content attributes of the
|
24861
|
-
name. The <dfn id=dom-track-kind title=dom-track-kind><code>kind</code></dfn>
|
24862
|
-
|
24863
|
-
name, <a href=#limited-to-only-known-values>limited to only known values</a>.</p>
|
25060
|
+
<p>The <dfn id=dom-track-src title=dom-track-src><code>src</code></dfn>, <dfn id=dom-track-srclang title=dom-track-srclang><code>srclang</code></dfn>, <dfn id=dom-track-label title=dom-track-label><code>label</code></dfn>, and <dfn id=dom-track-default title=dom-track-default><code>default</code></dfn> IDL attributes
|
25061
|
+
must <a href=#reflect>reflect</a> the respective content attributes of the
|
25062
|
+
same name. The <dfn id=dom-track-kind title=dom-track-kind><code>kind</code></dfn>
|
25063
|
+
IDL attribute must <a href=#reflect>reflect</a> the content attribute of the
|
25064
|
+
same name, <a href=#limited-to-only-known-values>limited to only known values</a>.</p>
|
24864
25065
|
|
24865
25066
|
</div>
|
24866
25067
|
|
@@ -26557,14 +26758,15 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
26557
26758
|
|
26558
26759
|
<p>If the <a href=#autoplaying-flag>autoplaying flag</a> is true, and the <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> attribute is true, and the
|
26559
26760
|
<a href=#media-element>media element</a> has an <code title=attr-media-autoplay><a href=#attr-media-autoplay>autoplay</a></code> attribute specified,
|
26560
|
-
and the <a href=#media-element>media element</a>
|
26561
|
-
|
26562
|
-
|
26563
|
-
|
26564
|
-
|
26761
|
+
and the <a href=#media-element>media element</a>'s <code><a href=#document>Document</a></code>'s
|
26762
|
+
<a href=#browsing-context>browsing context</a> did not have the <a href=#sandboxed-automatic-features-browsing-context-flag>sandboxed
|
26763
|
+
automatic features browsing context flag</a> set when the
|
26764
|
+
<code><a href=#document>Document</a></code> was created, then the user agent may also
|
26765
|
+
set the <code title=dom-media-paused><a href=#dom-media-paused>paused</a></code> attribute to
|
26766
|
+
false, <a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple
|
26767
|
+
event</a> named <code title=event-media-play><a href=#event-media-play>play</a></code>, and
|
26565
26768
|
<a href=#queue-a-task>queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a>
|
26566
|
-
named <code title=event-media-
|
26567
|
-
a task</a> to <a href=#fire-a-simple-event>fire a simple event</a> named <code title=event-media-playing><a href=#event-media-playing>playing</a></code>.</p>
|
26769
|
+
named <code title=event-media-playing><a href=#event-media-playing>playing</a></code>.</p>
|
26568
26770
|
|
26569
26771
|
<p class=note>User agents are not required to autoplay, and it
|
26570
26772
|
is suggested that user agents honor user preferences on the
|
@@ -26976,8 +27178,9 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
26976
27178
|
|
26977
27179
|
<ol><!--KEEP-END w3c-html--><!--TT--><li><p>Let <var title="">current cues</var> be an ordered list of
|
26978
27180
|
<a href=#timed-track-cue title="timed track cue">cues</a>, initialized to contain
|
26979
|
-
all the <a href=#timed-track-cue title="timed track cue">cues</a> of all the <a href=#timed-track-hidden title="timed track hidden">hidden</a
|
26980
|
-
|
27181
|
+
all the <a href=#timed-track-cue title="timed track cue">cues</a> of all the <a href=#timed-track-hidden title="timed track hidden">hidden</a>, <a href=#timed-track-showing title="timed track
|
27182
|
+
showing">showing</a>, or <a href=#timed-track-showing-by-default title="timed track showing by
|
27183
|
+
default">showing by default</a> <a href=#timed-track title="timed track">timed
|
26981
27184
|
tracks</a> of the <a href=#media-element>media element</a> (not the <a href=#timed-track-disabled title="timed track disabled">disabled</a> ones) whose <a href=#timed-track-cue-start-time title="timed track cue start time">start times</a> are less than
|
26982
27185
|
or equal to the <a href=#current-playback-position>current playback position</a> and whose
|
26983
27186
|
<a href=#timed-track-cue-end-time title="timed track cue end time">end times</a> are greater
|
@@ -26986,8 +27189,9 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
26986
27189
|
|
26987
27190
|
<li><p>Let <var title="">other cues</var> be an ordered list of
|
26988
27191
|
<a href=#timed-track-cue title="timed track cue">cues</a>, initialized to contain
|
26989
|
-
all the <a href=#timed-track-cue title="timed track cue">cues</a> of <a href=#timed-track-hidden title="timed track hidden">hidden</a
|
26990
|
-
|
27192
|
+
all the <a href=#timed-track-cue title="timed track cue">cues</a> of <a href=#timed-track-hidden title="timed track hidden">hidden</a>, <a href=#timed-track-showing title="timed track
|
27193
|
+
showing">showing</a>, and <a href=#timed-track-showing-by-default title="timed track showing by
|
27194
|
+
default">showing by default</a> <a href=#timed-track title="timed track">timed
|
26991
27195
|
tracks</a> of the <a href=#media-element>media element</a> that are not
|
26992
27196
|
present in <var title="">current cues</var>, also in <a href=#timed-track-cue-order>timed
|
26993
27197
|
track cue order</a>.</li>
|
@@ -27071,9 +27275,14 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27071
27275
|
|
27072
27276
|
<li><p>Run the <a href=#rules-for-updating-the-timed-track-rendering>rules for updating the timed track
|
27073
27277
|
rendering</a> of each of the <a href=#timed-track title="timed track">timed
|
27074
|
-
tracks</a> in <var title="">affected tracks</var> that are <a href=#timed-track-showing title="timed track showing">showing</a>
|
27075
|
-
|
27076
|
-
|
27278
|
+
tracks</a> in <var title="">affected tracks</var> that are <a href=#timed-track-showing title="timed track showing">showing</a> or <a href=#timed-track-showing-by-default title="timed
|
27279
|
+
track showing by default">showing by default</a>.
|
27280
|
+
<!--TTSRT-->
|
27281
|
+
For example, for <a href=#timed-track title="timed track">timed tracks</a>
|
27282
|
+
based on <a href=#websrt>WebSRT</a>, the <a href=#rules-for-updating-the-display-of-websrt-timed-tracks>rules for updating the
|
27283
|
+
display of WebSRT timed tracks</a>.
|
27284
|
+
<!--TTSRT-->
|
27285
|
+
</li>
|
27077
27286
|
<!--KEEP-START w3c-html--><!--TT-->
|
27078
27287
|
|
27079
27288
|
</ol><!--KEEP-END w3c-html--><!--TT--><p>For the purposes of the algorithm above, a <a href=#timed-track-cue>timed track
|
@@ -27241,7 +27450,7 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27241
27450
|
|
27242
27451
|
<!--KEEP-END w3c-html--><!--TT-->
|
27243
27452
|
<!--<div data-component="other Hixie drafts (editor: Ian Hickson)">-->
|
27244
|
-
<h5 id=timed-tracks><span class=secno>4.8.10.10 </span>
|
27453
|
+
<h5 id=text-timed-tracks><span class=secno>4.8.10.10 </span>Text timed tracks</h5>
|
27245
27454
|
|
27246
27455
|
<h6 id=timed-track-model><span class=secno>4.8.10.10.1 </span>Timed track model</h6>
|
27247
27456
|
|
@@ -27398,8 +27607,9 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27398
27607
|
</dd>
|
27399
27608
|
|
27400
27609
|
<dt><dfn id=timed-track-showing title="timed track showing">Showing</dfn>
|
27610
|
+
<dt><dfn id=timed-track-showing-by-default title="timed track showing by default">Showing by default</dfn>
|
27401
27611
|
|
27402
|
-
|
27612
|
+
</dt><dd>
|
27403
27613
|
|
27404
27614
|
<p>Indicates that the timed track is active. If no attempt has
|
27405
27615
|
yet been made to obtain the track's cues, the user agent will
|
@@ -27415,6 +27625,13 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27415
27625
|
user can navigate to any point in the <a href=#media-resource>media
|
27416
27626
|
resource</a> by selecting a cue.</p>
|
27417
27627
|
|
27628
|
+
<p>The <a href=#timed-track-showing-by-default title="timed track showing by default">showing by
|
27629
|
+
default</a> state is used in conjunction with the <code title=attr-track-default><a href=#attr-track-default>default</a></code> attribute on
|
27630
|
+
<code><a href=#the-track-element>track</a></code> elements to indicate that the timed track was
|
27631
|
+
enabled due to that attribute. This allows the user agent to
|
27632
|
+
override the state if a later track is discovered that is more
|
27633
|
+
appropriate per the user's preferences.</p>
|
27634
|
+
|
27418
27635
|
</dd>
|
27419
27636
|
|
27420
27637
|
</dl></dd>
|
@@ -27425,14 +27642,18 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27425
27642
|
|
27426
27643
|
<p>A list of <a href=#timed-track-cue title="timed track cue">timed track
|
27427
27644
|
cues</a>, along with <dfn id=rules-for-updating-the-timed-track-rendering>rules for updating the timed track
|
27428
|
-
rendering</dfn
|
27429
|
-
|
27645
|
+
rendering</dfn>.
|
27646
|
+
<!--TTSRT-->
|
27647
|
+
For example, for <a href=#websrt>WebSRT</a>, the <a href=#rules-for-updating-the-display-of-websrt-timed-tracks>rules for updating
|
27648
|
+
the display of WebSRT timed tracks</a>.
|
27649
|
+
<!--TTSRT-->
|
27650
|
+
</p>
|
27430
27651
|
|
27431
27652
|
<p>The <a href=#timed-track-list-of-cues title="timed track list of cues">list of cues of a
|
27432
27653
|
timed track</a> can change dynamically, either because the
|
27433
27654
|
<a href=#timed-track>timed track</a> has <a href=#timed-track-not-loaded title="timed track not
|
27434
27655
|
loaded">not yet been loaded</a> or is still <a href=#timed-track-loading title="timed
|
27435
|
-
track loading">loading</a>, or because the
|
27656
|
+
track loading">loading</a>, or because the <a href=#timed-track>timed
|
27436
27657
|
track</a> corresponds to a <code><a href=#mutabletimedtrack>MutableTimedTrack</a></code>
|
27437
27658
|
object, whose API allows individual cues can be added or removed
|
27438
27659
|
dynamically.</p>
|
@@ -27497,6 +27718,7 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27497
27718
|
consecutive lines displayed to the right of each other<!-- used for
|
27498
27719
|
mongolian -->).</p>
|
27499
27720
|
|
27721
|
+
<!--TTSRT-->
|
27500
27722
|
<p>If the <a href=#timed-track-cue-writing-direction title="timed track cue writing direction">writing
|
27501
27723
|
direction</a> is <a href=#timed-track-cue-horizontal-writing-direction title="timed track cue horizontal
|
27502
27724
|
writing direction">horizontal</a>, then <a href=#timed-track-cue-line-position title="timed
|
@@ -27511,9 +27733,11 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27511
27733
|
video, and <a href=#timed-track-cue-text-position title="timed track cue text position">text
|
27512
27734
|
position</a> and <a href=#timed-track-cue-size title="timed track cue size">size</a>
|
27513
27735
|
percentages are relative to the height of the video.</p>
|
27736
|
+
<!--TTSRT-->
|
27514
27737
|
|
27515
27738
|
</dd>
|
27516
27739
|
|
27740
|
+
<!--TTSRT-->
|
27517
27741
|
<dt><dfn id=timed-track-cue-snap-to-lines-flag title="timed track cue snap-to-lines flag">A snap-to-lines flag</dfn>
|
27518
27742
|
<dd>
|
27519
27743
|
<p>A boolean indicating whether the <a href=#timed-track-cue-line-position title="timed track cue
|
@@ -27541,6 +27765,7 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27541
27765
|
by the <a href=#timed-track-cue-writing-direction title="timed track cue writing direction">writing
|
27542
27766
|
direction</a>.</p>
|
27543
27767
|
</dd>
|
27768
|
+
<!--TTSRT-->
|
27544
27769
|
|
27545
27770
|
<dt><dfn id=timed-track-cue-size title="timed track cue size">A size</dfn>
|
27546
27771
|
<dd>
|
@@ -27550,6 +27775,7 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27550
27775
|
track cue writing direction">writing direction</a>.</p>
|
27551
27776
|
</dd>
|
27552
27777
|
|
27778
|
+
<!--TTSRT-->
|
27553
27779
|
<dt><dfn id=timed-track-cue-alignment title="timed track cue alignment">An alignment</dfn>
|
27554
27780
|
<dd>
|
27555
27781
|
<p>An alignment for the text of each line of the cue, either <dfn id=timed-track-cue-start-alignment title="timed track cue start alignment">start alignment</dfn> (the
|
@@ -27561,11 +27787,7 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27561
27787
|
depends on the Unicode bidirectional algorithm and the <a href=#timed-track-cue-writing-direction title="timed track cue writing direction">writing
|
27562
27788
|
direction</a>. <a href=#refsBIDI>[BIDI]</a></p>
|
27563
27789
|
</dd>
|
27564
|
-
|
27565
|
-
<dt><dfn id=timed-track-cue-voice-identifier title="timed track cue voice identifier">A voice identifier</dfn>
|
27566
|
-
<dd>
|
27567
|
-
<p>A string identifying the voice with which the cue is associated.</p>
|
27568
|
-
</dd>
|
27790
|
+
<!--TTSRT-->
|
27569
27791
|
|
27570
27792
|
<dt><dfn id=timed-track-cue-text title="timed track cue text">The text of the cue</dfn>
|
27571
27793
|
<dd>
|
@@ -27600,14 +27822,17 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27600
27822
|
disabled">disabled</a>; and whenever the <a href=#media-element>media
|
27601
27823
|
element</a>'s <code title=dom-media-readyState><a href=#dom-media-readystate>readyState</a></code> is changed back to
|
27602
27824
|
<code title=dom-media-HAVE_NOTHING><a href=#dom-media-have_nothing>HAVE_NOTHING</a></code>. When the
|
27603
|
-
flag is unset in this way for one or more cues in <a href=#timed-track title="timed track">timed tracks</a> that were <a href=#timed-track-showing title="timed track showing">showing</a>
|
27604
|
-
|
27605
|
-
|
27606
|
-
|
27607
|
-
|
27608
|
-
|
27609
|
-
|
27610
|
-
|
27825
|
+
flag is unset in this way for one or more cues in <a href=#timed-track title="timed track">timed tracks</a> that were <a href=#timed-track-showing title="timed track showing">showing</a> or <a href=#timed-track-showing-by-default title="timed
|
27826
|
+
track showing by default">showing by default</a> prior to the
|
27827
|
+
relevant incident, the user agent must, after having unset the
|
27828
|
+
flag for all the affected cues, apply the <a href=#rules-for-updating-the-timed-track-rendering>rules for updating
|
27829
|
+
the timed track rendering</a> of those <a href=#timed-track title="timed
|
27830
|
+
track">timed tracks</a>.
|
27831
|
+
<!--TTSRT-->
|
27832
|
+
For example, for <a href=#timed-track title="timed track">timed tracks</a>
|
27833
|
+
based on <a href=#websrt>WebSRT</a>, the <a href=#rules-for-updating-the-display-of-websrt-timed-tracks>rules for updating the
|
27834
|
+
display of WebSRT timed tracks</a>.</p>
|
27835
|
+
<!--TTSRT-->
|
27611
27836
|
</dd>
|
27612
27837
|
|
27613
27838
|
<dt>The <dfn id=timed-track-cue-display-state title="timed track cue display state">display state</dfn>
|
@@ -27812,6 +28037,30 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27812
28037
|
<dd>
|
27813
28038
|
<p>Let the <a href=#timed-track-mode>timed track mode</a> be <a href=#timed-track-showing title="timed
|
27814
28039
|
track showing">showing</a>.</p>
|
28040
|
+
|
28041
|
+
<p>If there is a <a href=#timed-track>timed track</a> in the <a href=#media-element>media
|
28042
|
+
element</a>'s <a href=#list-of-timed-tracks>list of timed tracks</a> whose
|
28043
|
+
<a href=#timed-track-mode>timed track mode</a> is <a href=#timed-track-showing-by-default title="timed track showing
|
28044
|
+
by default">showing by default</a>, the user agent must
|
28045
|
+
furthermore change <em>that</em> <a href=#timed-track>timed track</a>'s
|
28046
|
+
<a href=#timed-track-mode>timed track mode</a> to <a href=#timed-track-hidden title="timed track
|
28047
|
+
hidden">hidden</a>.</p> <!-- so that we still get events and
|
28048
|
+
stuff: we can expect authors to forget that default doesn't mean
|
28049
|
+
that it'll always be turned on, and that they'll still rely on
|
28050
|
+
events firing even if it doesn't show -->
|
28051
|
+
|
28052
|
+
</dd>
|
28053
|
+
|
28054
|
+
<dt>If the <code><a href=#the-track-element>track</a></code> element has a <code title=attr-track-default><a href=#attr-track-default>default</a></code> attribute specified, and
|
28055
|
+
there is no other <a href=#timed-track>timed track</a> in the <a href=#media-element>media
|
28056
|
+
element</a>'s <a href=#list-of-timed-tracks>list of timed tracks</a> whose
|
28057
|
+
<a href=#timed-track-mode>timed track mode</a> is <a href=#timed-track-showing title="timed track
|
28058
|
+
showing">showing</a> or <a href=#timed-track-showing-by-default title="timed track
|
28059
|
+
showing by default">showing by default</a></dt>
|
28060
|
+
|
28061
|
+
<dd>
|
28062
|
+
<p>Let the <a href=#timed-track-mode>timed track mode</a> be <a href=#timed-track-showing-by-default title="timed
|
28063
|
+
track showing by default">showing by default</a>.</p>
|
27815
28064
|
</dd>
|
27816
28065
|
|
27817
28066
|
<dt>Otherwise</dt>
|
@@ -27823,18 +28072,20 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27823
28072
|
|
27824
28073
|
</dl><p>When a <a href=#timed-track>timed track</a> corresponding to a
|
27825
28074
|
<code><a href=#the-track-element>track</a></code> element is created with <a href=#timed-track-mode>timed track
|
27826
|
-
mode</a> set to <a href=#timed-track-hidden title="timed track hidden">hidden</a
|
27827
|
-
<a href=#timed-track-showing title="timed track showing">showing</a>,
|
27828
|
-
<a href=#timed-track>timed track</a> corresponding to a
|
27829
|
-
|
27830
|
-
|
27831
|
-
|
27832
|
-
|
27833
|
-
|
27834
|
-
|
27835
|
-
|
27836
|
-
|
27837
|
-
|
28075
|
+
mode</a> set to <a href=#timed-track-hidden title="timed track hidden">hidden</a>,
|
28076
|
+
<a href=#timed-track-showing title="timed track showing">showing</a>, or <a href=#timed-track-showing-by-default title="timed track showing by default">showing by default</a>,
|
28077
|
+
and when a <a href=#timed-track>timed track</a> corresponding to a
|
28078
|
+
<code><a href=#the-track-element>track</a></code> element is created with <a href=#timed-track-mode>timed track
|
28079
|
+
mode</a> set to <a href=#timed-track-disabled title="timed track
|
28080
|
+
disabled">disabled</a> and subsequently changes its <a href=#timed-track-mode>timed
|
28081
|
+
track mode</a> to <a href=#timed-track-hidden title="timed track hidden">hidden</a>,
|
28082
|
+
<a href=#timed-track-showing title="timed track showing">showing</a>, or <a href=#timed-track-showing-by-default title="timed track showing by default">showing by default</a> for
|
28083
|
+
the first time, the user agent must immediately and synchronously
|
28084
|
+
run the following algorithm. This algorithm interacts closely with
|
28085
|
+
the <a href=#event-loop>event loop</a> mechanism; in particular, it has a
|
28086
|
+
<a href=#synchronous-section>synchronous section</a> (which is triggered as part of the
|
28087
|
+
<a href=#event-loop>event loop</a> algorithm). The step in that section is
|
28088
|
+
marked with ⌛.</p>
|
27838
28089
|
|
27839
28090
|
<ol><li><p>Set the <a href=#timed-track-readiness-state>timed track readiness state</a> to <a href=#timed-track-loading title="timed track loading">loading</a>.</li>
|
27840
28091
|
|
@@ -27867,13 +28118,12 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27867
28118
|
unsupported (this causes the load to fail, as described below). If
|
27868
28119
|
a type is obtained, and represents a supported timed track format,
|
27869
28120
|
then the resource's data must be passed to the appropriate parser
|
27870
|
-
|
27871
|
-
<
|
27872
|
-
|
27873
|
-
|
27874
|
-
|
27875
|
-
|
27876
|
-
parser must use its default character encoding behavior.</p>
|
28121
|
+
<!--TTSRT-->
|
28122
|
+
(e.g. the <a href=#websrt-parser>WebSRT parser</a> if the <a href=#content-type title=Content-Type>Content Type metadata</a> is
|
28123
|
+
<code><a href=#text/srt>text/srt</a></code>)
|
28124
|
+
<!--TTSRT-->
|
28125
|
+
as it is received, with the <a href=#timed-track-list-of-cues>timed
|
28126
|
+
track list of cues</a> being used for that parser's output.</p>
|
27877
28127
|
|
27878
28128
|
<p>If the <a href=#fetch title=fetch>fetching algorithm</a> fails for
|
27879
28129
|
any reason (network error, the server returns an error code, a
|
@@ -27902,12 +28152,14 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27902
28152
|
<ul><li>the <a href=#track-url>track URL</a> changes so that it is no longer
|
27903
28153
|
equal to <var title="">URL</var>, while the <a href=#timed-track-mode>timed track
|
27904
28154
|
mode</a> is set to <a href=#timed-track-hidden title="timed track
|
27905
|
-
hidden">hidden</a
|
27906
|
-
showing">showing</a
|
28155
|
+
hidden">hidden</a>, <a href=#timed-track-showing title="timed track
|
28156
|
+
showing">showing</a>, or <a href=#timed-track-showing-by-default title="timed track showing by
|
28157
|
+
default">showing by default</a>; or</li>
|
27907
28158
|
|
27908
|
-
<li>the <a href=#timed-track-mode>timed track mode</a> changes to <a href=#timed-track-hidden title="timed track hidden">hidden</a
|
27909
|
-
track showing">showing</a>,
|
27910
|
-
|
28159
|
+
<li>the <a href=#timed-track-mode>timed track mode</a> changes to <a href=#timed-track-hidden title="timed track hidden">hidden</a>, <a href=#timed-track-showing title="timed
|
28160
|
+
track showing">showing</a>, or <a href=#timed-track-showing-by-default title="timed track
|
28161
|
+
showing by default">showing by default</a>, while the
|
28162
|
+
<a href=#track-url>track URL</a> is not equal to <var title="">URL</var></li>
|
27911
28163
|
|
27912
28164
|
</ul><p>...then the user agent must run the following steps:</p>
|
27913
28165
|
|
@@ -27932,8 +28184,9 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27932
28184
|
<li><p><i>Monitoring</i>: Wait until the <a href=#track-url>track URL</a> is
|
27933
28185
|
no longer equal to <var title="">URL</var>, at the same time as the
|
27934
28186
|
<a href=#timed-track-mode>timed track mode</a> is set to <a href=#timed-track-hidden title="timed track
|
27935
|
-
hidden">hidden</a
|
27936
|
-
showing">showing</a
|
28187
|
+
hidden">hidden</a>, <a href=#timed-track-showing title="timed track
|
28188
|
+
showing">showing</a>, or <a href=#timed-track-showing-by-default title="timed track showing by
|
28189
|
+
default">showing by default</a>.</li>
|
27937
28190
|
|
27938
28191
|
<li><p>Wait until the <a href=#timed-track-readiness-state>timed track readiness state</a> is
|
27939
28192
|
no longer set to <a href=#timed-track-loading title="timed track
|
@@ -27958,6 +28211,7 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
27958
28211
|
</ol></div>
|
27959
28212
|
|
27960
28213
|
|
28214
|
+
<!--TTSRT-->
|
27961
28215
|
<div class=impl>
|
27962
28216
|
|
27963
28217
|
<h6 id=guidelines-for-exposing-cues-in-various-formats-as-timed-track-cues><span class=secno>4.8.10.10.4 </span><dfn>Guidelines for exposing cues</dfn> in various formats as
|
@@ -28008,23 +28262,15 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
28008
28262
|
<dt>The <a href=#timed-track-cue-size>timed track cue size</a>
|
28009
28263
|
<dt>The <a href=#timed-track-cue-alignment>timed track cue alignment</a>
|
28010
28264
|
</dt></dt></dt><dd>
|
28011
|
-
<p>If the
|
28265
|
+
<p>If the format uses a rendering and positioning model for
|
28012
28266
|
cues that can be largely simulated using the <a href=#websrt-cue-text-rendering-rules>WebSRT cue text
|
28013
28267
|
rendering rules</a>, then these should be set to the values
|
28014
28268
|
that would give the same effect for <a href=#websrt>WebSRT</a>
|
28015
28269
|
cues. Otherwise, they should be set to zero.</p>
|
28016
28270
|
</dd>
|
28017
28271
|
|
28018
|
-
<dt>The <a href=#timed-track-cue-voice-identifier>timed track cue voice identifier</a>
|
28019
|
-
<dd>
|
28020
|
-
<p>Should be set to the empty string if the format has no
|
28021
|
-
obvious analogue to cue voices. The <a href=#timed-track-cue-voice-identifier>timed track cue voice
|
28022
|
-
identifier</a> may be set to strings that cannot be expressed
|
28023
|
-
using <a href=#websrt>WebSRT</a>, if the format supports voices that do
|
28024
|
-
not correspond to the voices used by WebSRT.</p>
|
28025
|
-
</dd>
|
28026
|
-
|
28027
28272
|
</dl></div>
|
28273
|
+
<!--TTSRT-->
|
28028
28274
|
|
28029
28275
|
|
28030
28276
|
<h6 id=timed-track-api><span class=secno>4.8.10.10.5 </span>Timed track API</h6>
|
@@ -28129,13 +28375,13 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
28129
28375
|
<dd>
|
28130
28376
|
<p>The <a href=#timed-track-disabled>timed track disabled</a> mode.</p>
|
28131
28377
|
</dd>
|
28132
|
-
<dt><code><a href=#timedtrack>TimedTrack</a></code> . <code title=dom-TimedTrack-HIDDEN><a href=#dom-timedtrack-hidden>HIDDEN</a></code> (
|
28378
|
+
<dt><code><a href=#timedtrack>TimedTrack</a></code> . <code title=dom-TimedTrack-HIDDEN><a href=#dom-timedtrack-hidden>HIDDEN</a></code> (1)</dt>
|
28133
28379
|
<dd>
|
28134
28380
|
<p>The <a href=#timed-track-hidden>timed track hidden</a> mode.</p>
|
28135
28381
|
</dd>
|
28136
|
-
<dt><code><a href=#timedtrack>TimedTrack</a></code> . <code title=dom-TimedTrack-SHOWING><a href=#dom-timedtrack-showing>SHOWING</a></code> (
|
28382
|
+
<dt><code><a href=#timedtrack>TimedTrack</a></code> . <code title=dom-TimedTrack-SHOWING><a href=#dom-timedtrack-showing>SHOWING</a></code> (2)</dt>
|
28137
28383
|
<dd>
|
28138
|
-
<p>The <a href=#timed-track-showing>timed track showing</a>
|
28384
|
+
<p>The <a href=#timed-track-showing>timed track showing</a> and <a href=#timed-track-showing-by-default title="timed track showing by default">showing by default</a> modes.</p>
|
28139
28385
|
</dd>
|
28140
28386
|
</dl><p>Can be set, to change the mode.</p>
|
28141
28387
|
</dd>
|
@@ -28192,7 +28438,7 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
28192
28438
|
<dt><dfn id=dom-timedtrack-hidden title=dom-TimedTrack-HIDDEN><code>HIDDEN</code></dfn> (numeric value 1)</dt>
|
28193
28439
|
<dd>The <a href=#timed-track-hidden>timed track hidden</a> mode.</dd>
|
28194
28440
|
<dt><dfn id=dom-timedtrack-showing title=dom-TimedTrack-SHOWING><code>SHOWING</code></dfn> (numeric value 2)</dt>
|
28195
|
-
<dd>The <a href=#timed-track-showing>timed track showing</a>
|
28441
|
+
<dd>The <a href=#timed-track-showing>timed track showing</a> and <a href=#timed-track-showing-by-default title="timed track showing by default">showing by default</a> modes.</dd>
|
28196
28442
|
</dl><p>On setting, if the new value is not either 0, 1, or 2, the user
|
28197
28443
|
agent must throw an <code><a href=#invalid_access_err>INVALID_ACCESS_ERR</a></code>
|
28198
28444
|
exception. Otherwise, if the new value isn't equal to what the
|
@@ -28227,6 +28473,12 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
28227
28473
|
track</a> that the <code><a href=#timedtrack>TimedTrack</a></code> object represents to
|
28228
28474
|
the <a href=#timed-track-showing>timed track showing</a> mode.</p>
|
28229
28475
|
|
28476
|
+
<p class=note>If the mode had been <a href=#timed-track-showing-by-default title="timed track
|
28477
|
+
showing by default">showing by default</a>, this will change it
|
28478
|
+
to <a href=#timed-track-showing title="timed track showing">showing</a>, even though
|
28479
|
+
the value of <code title=dom-TimedTrack-mode><a href=#dom-timedtrack-mode>mode</a></code> would
|
28480
|
+
appear not to change.</p>
|
28481
|
+
|
28230
28482
|
</dd>
|
28231
28483
|
|
28232
28484
|
</dl><p>If the <a href=#timed-track-mode>timed track mode</a> of the <a href=#timed-track>timed
|
@@ -28328,10 +28580,13 @@ interface <dfn id=htmlaudioelement>HTMLAudioElement</dfn> : <a href=#htmlmediael
|
|
28328
28580
|
<a href=#timed-track-readiness-state>timed track readiness state</a> to the <a href=#timed-track-loaded>timed track
|
28329
28581
|
loaded</a> state, its <a href=#timed-track-mode>timed track mode</a> to the
|
28330
28582
|
<a href=#timed-track-hidden>timed track hidden</a> mode, and its <a href=#timed-track-list-of-cues>timed track
|
28331
|
-
list of cues</a> to an empty list
|
28583
|
+
list of cues</a> to an empty list.
|
28584
|
+
<!--TTSRT-->
|
28585
|
+
Associate the <a href=#timed-track-list-of-cues>timed track list of cues</a> with the
|
28332
28586
|
<a href=#rules-for-updating-the-display-of-websrt-timed-tracks>rules for updating the display of WebSRT timed tracks</a>
|
28333
|
-
as its <a href=#rules-for-updating-the-timed-track-rendering>rules for updating the timed track
|
28334
|
-
|
28587
|
+
as its <a href=#rules-for-updating-the-timed-track-rendering>rules for updating the timed track rendering</a>.
|
28588
|
+
<!--TTSRT-->
|
28589
|
+
</p>
|
28335
28590
|
|
28336
28591
|
</li>
|
28337
28592
|
|
@@ -28479,7 +28734,10 @@ window.onbeforeunload = function () {
|
|
28479
28734
|
|
28480
28735
|
</div>
|
28481
28736
|
|
28482
|
-
<hr><pre class=idl>
|
28737
|
+
<hr><pre class=idl>
|
28738
|
+
<!--TTSRT-->
|
28739
|
+
[<a href=#dom-timedtrackcue title=dom-TimedTrackCue>Constructor</a>(in DOMString id, in double startTime, in double endTime, in DOMString text, in optional DOMString settings, in optional boolean pauseOnExit)]
|
28740
|
+
<!--TTSRT-->
|
28483
28741
|
interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
28484
28742
|
readonly attribute <a href=#timedtrack>TimedTrack</a> <a href=#dom-timedtrackcue-track title=dom-TimedTrackCue-track>track</a>;
|
28485
28743
|
readonly attribute DOMString <a href=#dom-timedtrackcue-id title=dom-TimedTrackCue-id>id</a>;
|
@@ -28488,14 +28746,15 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28488
28746
|
readonly attribute double <a href=#dom-timedtrackcue-endtime title=dom-TimedTrackCue-endTime>endTime</a>;
|
28489
28747
|
readonly attribute boolean <a href=#dom-timedtrackcue-pauseonexit title=dom-TimedTrackCue-pauseOnExit>pauseOnExit</a>;
|
28490
28748
|
|
28749
|
+
<!--TTSRT-->
|
28491
28750
|
readonly attribute DOMString <a href=#dom-timedtrackcue-direction title=dom-TimedTrackCue-direction>direction</a>;
|
28492
28751
|
readonly attribute boolean <a href=#dom-timedtrackcue-snaptolines title=dom-TimedTrackCue-snapToLines>snapToLines</a>;
|
28493
28752
|
readonly attribute long <a href=#dom-timedtrackcue-lineposition title=dom-TimedTrackCue-linePosition>linePosition</a>;
|
28494
28753
|
readonly attribute long <a href=#dom-timedtrackcue-textposition title=dom-TimedTrackCue-textPosition>textPosition</a>;
|
28495
28754
|
readonly attribute long <a href=#dom-timedtrackcue-size title=dom-TimedTrackCue-size>size</a>;
|
28496
28755
|
readonly attribute DOMString <a href=#dom-timedtrackcue-alignment title=dom-TimedTrackCue-alignment>alignment</a>;
|
28756
|
+
<!--TTSRT-->
|
28497
28757
|
|
28498
|
-
readonly attribute DOMString <a href=#dom-timedtrackcue-voice title=dom-TimedTrackCue-voice>voice</a>;
|
28499
28758
|
DOMString <a href=#dom-timedtrackcue-getcueassource() title=dom-TimedTrackCue-getCueAsSource()>getCueAsSource</a>();
|
28500
28759
|
<a href=#documentfragment>DocumentFragment</a> <a href=#dom-timedtrackcue-getcueashtml() title=dom-TimedTrackCue-getCueAsHTML()>getCueAsHTML</a>();
|
28501
28760
|
|
@@ -28503,7 +28762,7 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28503
28762
|
readonly attribute <a href=#function>Function</a> <a href=#handler-timedtrackcue-onexit title=handler-TimedTrackCue-onexit>onexit</a>;
|
28504
28763
|
};</pre>
|
28505
28764
|
|
28506
|
-
<dl class=domintro
|
28765
|
+
<dl class=domintro><!--TTSRT--><dt><var title="">cue</var> = new <code title=dom-TimedTrackCue><a href=#dom-timedtrackcue>TimedTrackCue</a></code>( <var title="">id</var>, <var title="">startTime</var>, <var title="">endTime</var>, <var title="">text</var> [, <var title="">settings</var> [, <var title="">pauseOnExit</var> ] ] )</dt>
|
28507
28766
|
<dd>
|
28508
28767
|
<p>Returns a new <code><a href=#timedtrackcue>TimedTrackCue</a></code> object, for use with the <code title=dom-MutableTimedTrack-addCue><a href=#dom-mutabletimedtrack-addcue>addCue()</a></code> method.</p>
|
28509
28768
|
<p>The <var title="">id</var> argument sets the <a href=#timed-track-cue-identifier>timed track cue identifier</a>.</p>
|
@@ -28511,9 +28770,9 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28511
28770
|
<p>The <var title="">endTime</var> argument sets the <a href=#timed-track-cue-end-time>timed track cue end time</a>.</p>
|
28512
28771
|
<p>The <var title="">text</var> argument sets the <a href=#timed-track-cue-text>timed track cue text</a>.</p>
|
28513
28772
|
<p>The <var title="">settings</var> argument is a string in the format of <a href=#websrt-cue-settings>WebSRT cue settings</a>. If omitted, the empty string is assumed.</p>
|
28514
|
-
<p>The <var title="">voice</var> argument sets the <a href=#timed-track-cue-voice-identifier>timed track cue voice identifier</a>. If omitted, the empty string is assumed.</p>
|
28515
28773
|
<p>The <var title="">pauseOnExit</var> argument sets the <a href=#timed-track-cue-pause-on-exit-flag>timed track cue pause-on-exit flag</a>. If omitted, false is assumed.</p>
|
28516
28774
|
</dd>
|
28775
|
+
<!--TTSRT-->
|
28517
28776
|
|
28518
28777
|
<dt><var title="">cue</var> . <a href=#dom-timedtrackcue-track title=dom-TimedTrackCue-track>track</a></dt>
|
28519
28778
|
<dd>
|
@@ -28542,6 +28801,7 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28542
28801
|
<p>Returns true if the <a href=#timed-track-cue-pause-on-exit-flag>timed track cue pause-on-exit flag</a> is set, false otherwise.</p>
|
28543
28802
|
</dd>
|
28544
28803
|
|
28804
|
+
<!--TTSRT-->
|
28545
28805
|
<dt><var title="">cue</var> . <a href=#dom-timedtrackcue-direction title=dom-TimedTrackCue-direction>direction</a></dt>
|
28546
28806
|
<dd>
|
28547
28807
|
<p>Returns a string representing the <a href=#timed-track-cue-writing-direction>timed track cue writing direction</a>, as follows:</p>
|
@@ -28585,11 +28845,7 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28585
28845
|
<dt>If it is <a href=#timed-track-cue-end-alignment title="timed track cue end alignment">end alignment</a></dt>
|
28586
28846
|
<dd><p>The string "<code title="">end</code>".</dd>
|
28587
28847
|
</dl></dd>
|
28588
|
-
|
28589
|
-
<dt><var title="">cue</var> . <a href=#dom-timedtrackcue-voice title=dom-TimedTrackCue-voice>voice</a></dt>
|
28590
|
-
<dd>
|
28591
|
-
<p>Returns the <a href=#timed-track-cue-voice-identifier>timed track cue voice identifier</a>.</p>
|
28592
|
-
</dd>
|
28848
|
+
<!--TTSRT-->
|
28593
28849
|
|
28594
28850
|
<dt><var title="">source</var> = <var title="">cue</var> . <span title=dom-TimedTrackCue-getCueAsSource>getCueAsSource</span>()</dt>
|
28595
28851
|
<dd>
|
@@ -28603,7 +28859,8 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28603
28859
|
|
28604
28860
|
</dl><div class=impl>
|
28605
28861
|
|
28606
|
-
|
28862
|
+
<!--TTSRT-->
|
28863
|
+
<p>The <dfn id=dom-timedtrackcue title=dom-TimedTrackCue><code>TimedTrackCue(<var title="">id</var>, <var title="">startTime</var>, <var title="">endTime</var>, <var title="">text</var>, <var title="">settings</var>, <var title="">pauseOnExit</var>)</code></dfn> constructor, when invoked,
|
28607
28864
|
must run the following steps:</p>
|
28608
28865
|
|
28609
28866
|
<ol><li><p>Create a new <a href=#timed-track-cue>timed track cue</a> that is not
|
@@ -28625,10 +28882,6 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28625
28882
|
pause-on-exit flag</a> be true if the <var title="">pauseOnExit</var> is present and true. Otherwise, let it
|
28626
28883
|
be false.</li>
|
28627
28884
|
|
28628
|
-
<li><p>Let <var title="">cue</var>'s <a href=#timed-track-cue-voice-identifier>timed track cue voice
|
28629
|
-
identifier</a> be the value of the <var title="">voice</var>
|
28630
|
-
argument, if it is present, or the empty string otherwise.</li>
|
28631
|
-
|
28632
28885
|
<li><p>Let <var title="">cue</var>'s <a href=#timed-track-cue-text>timed track cue
|
28633
28886
|
text</a> be the value of the <var title="">text</var> argument,
|
28634
28887
|
and let the rules for its interpretation be the <a href=#websrt-cue-text-parsing-rules>WebSRT cue
|
@@ -28670,7 +28923,7 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28670
28923
|
<li><p>Return the <code><a href=#timedtrackcue>TimedTrackCue</a></code> object representing
|
28671
28924
|
<var title="">cue</var>.</li>
|
28672
28925
|
|
28673
|
-
</ol
|
28926
|
+
</ol><!--TTSRT--><p>The <dfn id=dom-timedtrackcue-track title=dom-TimedTrackCue-track><code>track</code></dfn>
|
28674
28927
|
attribute must return the <code><a href=#timedtrack>TimedTrack</a></code> object of the
|
28675
28928
|
<a href=#timed-track>timed track</a> with which the <a href=#timed-track-cue>timed track cue</a>
|
28676
28929
|
that the <code><a href=#timedtrackcue>TimedTrackCue</a></code> object represents is associated,
|
@@ -28702,6 +28955,7 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28702
28955
|
direction</a> of the <a href=#timed-track-cue>timed track cue</a> that the
|
28703
28956
|
<code><a href=#timedtrackcue>TimedTrackCue</a></code> object represents.</p>
|
28704
28957
|
|
28958
|
+
<!--TTSRT-->
|
28705
28959
|
<p>The <dfn id=dom-timedtrackcue-snaptolines title=dom-TimedTrackCue-snapToLines><code>snapToLines</code></dfn>
|
28706
28960
|
attribute must return true if the <a href=#timed-track-cue-snap-to-lines-flag>timed track cue
|
28707
28961
|
snap-to-lines flag</a> of the <a href=#timed-track-cue>timed track cue</a> that
|
@@ -28732,9 +28986,10 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28732
28986
|
with.</li>
|
28733
28987
|
|
28734
28988
|
<li><p>Let <var title="">n</var> be the number of <a href=#timed-track title="timed track">timed tracks</a> whose <a href=#timed-track-mode>timed track
|
28735
|
-
mode</a> is <a href=#timed-track-showing title="timed track showing">showing</a>
|
28736
|
-
|
28737
|
-
|
28989
|
+
mode</a> is <a href=#timed-track-showing title="timed track showing">showing</a> or
|
28990
|
+
<a href=#timed-track-showing-by-default title="timed track showing by default">showing by
|
28991
|
+
default</a> and that are in the <a href=#media-element>media element</a>'s
|
28992
|
+
<a href=#list-of-timed-tracks>list of timed tracks</a> before <var title="">track</var>.</li>
|
28738
28993
|
|
28739
28994
|
<li><p>Return <var title="">n</var>.</li>
|
28740
28995
|
|
@@ -28752,11 +29007,7 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28752
29007
|
attribute must return the <a href=#timed-track-cue-alignment>timed track cue alignment</a> of
|
28753
29008
|
the <a href=#timed-track-cue>timed track cue</a> that the <code><a href=#timedtrackcue>TimedTrackCue</a></code>
|
28754
29009
|
object represents.</p>
|
28755
|
-
|
28756
|
-
<p>The <dfn id=dom-timedtrackcue-voice title=dom-TimedTrackCue-voice><code>voice</code></dfn>
|
28757
|
-
attribute must return the <a href=#timed-track-cue-voice-identifier>timed track cue voice
|
28758
|
-
identifier</a> of the <a href=#timed-track-cue>timed track cue</a> that the
|
28759
|
-
<code><a href=#timedtrackcue>TimedTrackCue</a></code> object represents.</p>
|
29010
|
+
<!--TTSRT-->
|
28760
29011
|
|
28761
29012
|
<p>The <dfn id=dom-timedtrackcue-getcueassource() title=dom-TimedTrackCue-getCueAsSource()><code>getCueAsSource()</code></dfn>
|
28762
29013
|
method must return the raw <a href=#timed-track-cue-text>timed track cue text</a>.</p>
|
@@ -28765,9 +29016,13 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28765
29016
|
method must convert the <a href=#timed-track-cue-text>timed track cue text</a> to a
|
28766
29017
|
<code><a href=#documentfragment>DocumentFragment</a></code> for the <a href=#media-element>media element</a>'s
|
28767
29018
|
<code><a href=#document>Document</a></code>, using the appropriate rules for doing
|
28768
|
-
so.
|
29019
|
+
so.
|
29020
|
+
<!--TTSRT-->
|
29021
|
+
For example, for <a href=#websrt>WebSRT</a>, those rules are the
|
28769
29022
|
<a href=#websrt-cue-text-parsing-rules>WebSRT cue text parsing rules</a> and the <a href=#websrt-cue-text-dom-construction-rules>WebSRT cue
|
28770
|
-
text DOM construction rules</a>.
|
29023
|
+
text DOM construction rules</a>.
|
29024
|
+
<!--TTSRT-->
|
29025
|
+
</p>
|
28771
29026
|
|
28772
29027
|
</div>
|
28773
29028
|
|
@@ -28823,7 +29078,6 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28823
29078
|
<li><a href=#websrt-cue-timings>WebSRT cue timings</a>.</li>
|
28824
29079
|
<li>Optionally, one or more U+0020 SPACE characters or U+0009 CHARACTER TABULATION (tab) characters followed by <a href=#websrt-cue-settings>WebSRT cue settings</a>.</li>
|
28825
29080
|
<li>A <a href=#websrt-line-terminator>WebSRT line terminator</a>.</li>
|
28826
|
-
<li>Optionally, a <a href=#websrt-voice-declaration>WebSRT voice declaration</a> followed by zero or more U+0020 SPACE characters or U+0009 CHARACTER TABULATION (tab) characters.</li>
|
28827
29081
|
<li>The <dfn id=cue-payload>cue payload</dfn>: either <a href=#websrt-cue-text>WebSRT cue text</a> or <a href=#websrt-metadata-text>WebSRT metadata text</a>.</li>
|
28828
29082
|
</ol><p><a href=#websrt-cue-text>WebSRT cue text</a> is syntactically a subset of
|
28829
29083
|
<a href=#websrt-metadata-text>WebSRT metadata text</a>. Conformance checkers, when
|
@@ -28975,22 +29229,6 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28975
29229
|
<ol><li>A U+0041 LATIN CAPITAL LETTER A character.</li>
|
28976
29230
|
<li>A U+003A COLON character (:).</li>
|
28977
29231
|
<li>One of the following strings: "<code title="">start</code>", "<code title="">middle</code>", "<code title="">end</code>"</li>
|
28978
|
-
</ol><p>A <dfn id=websrt-voice-declaration>WebSRT voice declaration</dfn> consists of the following
|
28979
|
-
components, in the order given:</p>
|
28980
|
-
|
28981
|
-
<ol><li>A U+003C LESS-THAN SIGN character (<).</li>
|
28982
|
-
<li>One of the following:
|
28983
|
-
<ul class=brief><li>One character in the range U+0031 DIGIT ONE (1) to U+0039
|
28984
|
-
DIGIT NINE (9), followed by zero or more characters in the range
|
28985
|
-
U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)
|
28986
|
-
<li>The string "<dfn id=timed-track-cue-narrator-voice title="timed track cue narrator voice"><code>narrator</code></dfn>".</li>
|
28987
|
-
<li>The string "<dfn id=timed-track-cue-music-voice title="timed track cue music voice"><code>music</code></dfn>".</li>
|
28988
|
-
<li>The string "<dfn id=timed-track-cue-lyric-voice title="timed track cue lyric voice"><code>lyric</code></dfn>".</li>
|
28989
|
-
<li>The string "<dfn id=timed-track-cue-sound-voice title="timed track cue sound voice"><code>sound</code></dfn>".</li> <!-- for audio fx descriptions -->
|
28990
|
-
<li>The string "<dfn id=timed-track-cue-comment-voice title="timed track cue comment voice"><code>comment</code></dfn>".</li> <!-- for annotations -->
|
28991
|
-
<li>The string "<dfn id=timed-track-cue-credit-voice title="timed track cue credit voice"><code>credit</code></dfn>".</li>
|
28992
|
-
</ul></li>
|
28993
|
-
<li>A U+003E GREATER-THAN SIGN character (>).</li>
|
28994
29232
|
</ol><p><dfn id=websrt-metadata-text>WebSRT metadata text</dfn> consists of any sequence of one
|
28995
29233
|
or more characters other than U+000A LINE FEED (LF) characters and
|
28996
29234
|
U+000D CARRIAGE RETURN (CR) characters, each optionally separated
|
@@ -28999,93 +29237,171 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
28999
29237
|
does not start or end with a <a href=#websrt-line-terminator>WebSRT line
|
29000
29238
|
terminator</a>.)</p>
|
29001
29239
|
|
29002
|
-
<p><dfn id=websrt-cue-text>WebSRT cue text</dfn> consists of
|
29240
|
+
<p><dfn id=websrt-cue-text>WebSRT cue text</dfn> consists of zero or more <a href=#websrt-cue-components>WebSRT
|
29003
29241
|
cue components</a>, in any order, each optionally separated from
|
29004
29242
|
the next by a <a href=#websrt-line-terminator>WebSRT line terminator</a>.</p>
|
29005
29243
|
|
29006
29244
|
<p>The <dfn id=websrt-cue-components>WebSRT cue components</dfn> are:</p>
|
29007
29245
|
|
29008
|
-
<ul><li>A <a href=#websrt-cue-
|
29009
|
-
<li>A <a href=#websrt-cue-amp-escape>WebSRT cue amp escape</a>, representing a "&" character in the text of the cue.</li>
|
29010
|
-
<li>A <a href=#websrt-cue-lt-escape>WebSRT cue lt escape</a>, representing a "<" character in the text of the cue.</li>
|
29011
|
-
<li>A <a href=#websrt-cue-timestamp>WebSRT cue timestamp</a>.</li>
|
29246
|
+
<ul><li>A <a href=#websrt-cue-class-span>WebSRT cue class span</a>.</li>
|
29012
29247
|
<li>A <a href=#websrt-cue-italics-span>WebSRT cue italics span</a>.</li>
|
29013
29248
|
<li>A <a href=#websrt-cue-bold-span>WebSRT cue bold span</a>.</li>
|
29014
29249
|
<li>A <a href=#websrt-cue-ruby-span>WebSRT cue ruby span</a>.</li>
|
29250
|
+
<li>A <a href=#websrt-cue-voice-span>WebSRT cue voice span</a>.</li>
|
29251
|
+
|
29252
|
+
<li>A <a href=#websrt-cue-timestamp>WebSRT cue timestamp</a>.</li>
|
29253
|
+
|
29254
|
+
<li>A <a href=#websrt-cue-text-span>WebSRT cue text span</a>, representing the text of the cue.</li>
|
29255
|
+
|
29256
|
+
<li>A <a href=#websrt-cue-amp-escape>WebSRT cue amp escape</a>, representing a "&" character in the text of the cue.</li>
|
29257
|
+
<li>A <a href=#websrt-cue-lt-escape>WebSRT cue lt escape</a>, representing a "<" character in the text of the cue.</li>
|
29258
|
+
<li>A <a href=#websrt-cue-gt-escape>WebSRT cue gt escape</a>, representing a ">" character in the text of the cue.</li>
|
29259
|
+
|
29015
29260
|
</ul><p><dfn id=websrt-cue-internal-text>WebSRT cue internal text</dfn> consists of an optional
|
29016
29261
|
<a href=#websrt-line-terminator>WebSRT line terminator</a>, followed by zero or more
|
29017
29262
|
<a href=#websrt-cue-components>WebSRT cue components</a>, in any order, each optionally
|
29018
29263
|
followed by a <a href=#websrt-line-terminator>WebSRT line terminator</a>.</p>
|
29019
29264
|
|
29020
|
-
<p>A <dfn id=websrt-cue-text-span>WebSRT cue text span</dfn> consists of one or more
|
29021
|
-
characters other than U+000A LINE FEED (LF) characters, U+000D
|
29022
|
-
CARRIAGE RETURN (CR) characters, U+0026 AMPERSAND characters (&),
|
29023
|
-
and U+003C LESS-THAN SIGN characters (<).</p>
|
29024
29265
|
|
29025
|
-
<p>A <dfn id=websrt-cue-amp-escape>WebSRT cue amp escape</dfn> is the five character string
|
29026
|
-
consisting of a U+0026 AMPERSAND character (&), a U+0061 LATIN SMALL
|
29027
|
-
LETTER A character, a U+006D LATIN SMALL LETTER M character, a
|
29028
|
-
U+0070 LATIN SMALL LETTER P character, and a U+003B SEMICOLON
|
29029
|
-
character (;).
|
29030
29266
|
|
29031
|
-
<p>A <dfn id=websrt-cue-
|
29032
|
-
|
29033
|
-
|
29034
|
-
|
29267
|
+
<p>A <dfn id=websrt-cue-class-span>WebSRT cue class span</dfn> consists of a <a href=#websrt-cue-span-start-tag>WebSRT cue
|
29268
|
+
span start tag</a> "<code title="">c</code>" that disallows an
|
29269
|
+
annotation, <a href=#websrt-cue-internal-text>WebSRT cue internal text</a> representing cue
|
29270
|
+
text, and a <a href=#websrt-cue-span-end-tag>WebSRT cue span end tag</a> "<code title="">c</code>".</p>
|
29035
29271
|
|
29036
|
-
<p>A <dfn id=websrt-cue-
|
29037
|
-
|
29038
|
-
|
29039
|
-
|
29040
|
-
|
29041
|
-
greater than the times represented by any previous <a href=#websrt-cue-timestamp title="WebSRT cue timestamp">WebSRT cue timestamps</a> in the
|
29042
|
-
cue, as well as greater than the cue's start time offset, and less
|
29043
|
-
than the cue's end time offset.</p>
|
29272
|
+
<p>A <dfn id=websrt-cue-italics-span>WebSRT cue italics span</dfn> consists of a <a href=#websrt-cue-span-start-tag>WebSRT
|
29273
|
+
cue span start tag</a> "<code title="">i</code>" that disallows
|
29274
|
+
an annotation, <a href=#websrt-cue-internal-text>WebSRT cue internal text</a> representing
|
29275
|
+
the italicized text, and a <a href=#websrt-cue-span-end-tag>WebSRT cue span end tag</a>
|
29276
|
+
"<code title="">i</code>".</p>
|
29044
29277
|
|
29045
|
-
<p>A <dfn id=websrt-cue-
|
29046
|
-
|
29047
|
-
|
29048
|
-
<a href=#websrt-cue-
|
29049
|
-
text, and finally a U+003C LESS-THAN SIGN character (<), a U+002F
|
29050
|
-
SOLIDUS character (/), a U+0069 LATIN SMALL LETTER I character, and
|
29051
|
-
a U+003E GREATER-THAN SIGN character (>).</p>
|
29052
|
-
|
29053
|
-
<p>A <dfn id=websrt-cue-bold-span>WebSRT cue bold span</dfn> consists of a U+003C LESS-THAN
|
29054
|
-
SIGN character (<), a U+0062 LATIN SMALL LETTER B character, and
|
29055
|
-
a U+003E GREATER-THAN SIGN character (>), then <a href=#websrt-cue-internal-text>WebSRT cue
|
29056
|
-
internal text</a> representing the bolded text, and finally a
|
29057
|
-
U+003C LESS-THAN SIGN character (<), a U+002F SOLIDUS character
|
29058
|
-
(/), a U+0062 LATIN SMALL LETTER B character, and a U+003E
|
29059
|
-
GREATER-THAN SIGN character (>).</p>
|
29278
|
+
<p>A <dfn id=websrt-cue-bold-span>WebSRT cue bold span</dfn> consists of a <a href=#websrt-cue-span-start-tag>WebSRT cue
|
29279
|
+
span start tag</a> "<code title="">b</code>" that disallows an
|
29280
|
+
annotation, <a href=#websrt-cue-internal-text>WebSRT cue internal text</a> representing the
|
29281
|
+
boldened text, and a <a href=#websrt-cue-span-end-tag>WebSRT cue span end tag</a> "<code title="">b</code>".</p>
|
29060
29282
|
|
29061
29283
|
<p>A <dfn id=websrt-cue-ruby-span>WebSRT cue ruby span</dfn> consists of the following
|
29062
29284
|
components, in the order given:</p>
|
29063
29285
|
|
29064
|
-
<ol><li>
|
29286
|
+
<ol><li>A <a href=#websrt-cue-span-start-tag>WebSRT cue span start tag</a> "<code title="">i</code>" that disallows an annotation.</li>
|
29065
29287
|
<li>One or more occurrences of the following group of components, in the order given:
|
29066
29288
|
<ol><li><a href=#websrt-cue-internal-text>WebSRT cue internal text</a>, representing the ruby base.</li>
|
29067
|
-
<li>
|
29068
|
-
<li><a href=#websrt-cue-internal-text>WebSRT cue internal text</a>, representing the ruby text component of
|
29069
|
-
<li>
|
29070
|
-
the last occurance of this group of components in the
|
29289
|
+
<li>A <a href=#websrt-cue-span-start-tag>WebSRT cue span start tag</a> "<code title="">rt</code>" that disallows an annotation.</li>
|
29290
|
+
<li><a href=#websrt-cue-internal-text>WebSRT cue internal text</a>, representing the ruby text component of the ruby annotation.</li>
|
29291
|
+
<li>A <a href=#websrt-cue-span-end-tag>WebSRT cue span end tag</a> "<code title="">rt</code>".
|
29292
|
+
If this is the last occurance of this group of components in the
|
29071
29293
|
<a href=#websrt-cue-ruby-span>WebSRT cue ruby span</a>, then this last end tag string
|
29072
29294
|
may be omitted.</li>
|
29073
29295
|
</ol></li>
|
29074
29296
|
<li>If the last end tag string was not omitted: Optionally, a <a href=#websrt-line-terminator>WebSRT line terminator</a>.</li>
|
29075
29297
|
<li>If the last end tag string was not omitted: Zero or more U+0020 SPACE characters or U+0009 CHARACTER TABULATION (tab) characters, each optionally followed by a <a href=#websrt-line-terminator>WebSRT line terminator</a>.</li>
|
29076
|
-
<li>
|
29077
|
-
</ol><
|
29298
|
+
<li>A <a href=#websrt-cue-span-end-tag>WebSRT cue span end tag</a> "<code title="">ruby</code>".</li>
|
29299
|
+
</ol><p>A <dfn id=websrt-cue-voice-span>WebSRT cue voice span</dfn> consists of the following
|
29300
|
+
components, in the order given:</p>
|
29301
|
+
|
29302
|
+
<ol><li>A <a href=#websrt-cue-span-start-tag>WebSRT cue span start tag</a> "<code title="">v</code>" that requires an annotation; the annotation represents the name of the voice.</li>
|
29303
|
+
<li><a href=#websrt-cue-internal-text>WebSRT cue internal text</a>.</li>
|
29304
|
+
<li>A <a href=#websrt-cue-span-end-tag>WebSRT cue span end tag</a> "<code title="">v</code>". If this <a href=#websrt-cue-voice-span>WebSRT cue voice span</a> is the only <a href=#websrt-cue-components title="WebSRT cue components">component</a> of its <a href=#websrt-cue-text>WebSRT cue text</a> sequence, then the end tag may be omitted for brevity.</li>
|
29305
|
+
</ol><p>A <dfn id=websrt-cue-span-start-tag>WebSRT cue span start tag</dfn> has a <var title="">tag
|
29306
|
+
name</var> and either allows, requires, and disallows an annotation,
|
29307
|
+
and consists of the following components, in the order given:</p>
|
29308
|
+
|
29309
|
+
<ol><li>A U+003C LESS-THAN SIGN character (<).</li>
|
29310
|
+
|
29311
|
+
<li>The <var title="">tag name</var>.</li>
|
29312
|
+
|
29313
|
+
<li>Zero or more occurrences of the following sequence:
|
29314
|
+
|
29315
|
+
<ol><li>U+002E FULL STOP character (.)</li>
|
29316
|
+
|
29317
|
+
<li>One or more characters other than U+0009 CHARACTER TABULATION
|
29318
|
+
(tab) characters, U+000A LINE FEED (LF) characters, U+000D
|
29319
|
+
CARRIAGE RETURN (CR) characters, U+0020 SPACE characters, U+0026
|
29320
|
+
AMPERSAND characters (&), U+003C LESS-THAN SIGN characters
|
29321
|
+
(<), U+003E GREATER-THAN SIGN characters (>), and U+002E FULL
|
29322
|
+
STOP characters (.), representing a class that describes the cue
|
29323
|
+
span's significance.</li>
|
29324
|
+
|
29325
|
+
</ol></li>
|
29326
|
+
|
29327
|
+
<li>
|
29328
|
+
<!--
|
29329
|
+
<dl class="switch">
|
29330
|
+
|
29331
|
+
<dt>If the start tag allows an annotation:</dt>
|
29332
|
+
|
29333
|
+
<dd>Optionally, a <span>WebSRT cue span start tag annotation</span>.</dd>
|
29334
|
+
|
29335
|
+
<dt>-->If the start tag requires an annotation:<!--</dt>
|
29336
|
+
|
29337
|
+
<dd>A <span>WebSRT cue span start tag annotation</span>.</dd>
|
29338
|
+
|
29339
|
+
</dl>
|
29340
|
+
|
29341
|
+
<p>A <dfn>WebSRT cue span start tag annotation</dfn> consists of-->
|
29342
|
+
|
29343
|
+
one or more of the following components, the concatenation of
|
29344
|
+
their representations having a value that contains at least one
|
29345
|
+
character other than U+0020 SPACE and U+0009 CHARACTER TABULATION
|
29346
|
+
(tab) characters:<!--</p>-->
|
29347
|
+
|
29348
|
+
<ul><li><a href=#websrt-cue-span-start-tag-annotation-text>WebSRT cue span start tag annotation text</a>, representing the text of the annotation.</li>
|
29349
|
+
<li>A <a href=#websrt-cue-amp-escape>WebSRT cue amp escape</a>, representing a "&" character in the text of the annotation.</li>
|
29350
|
+
<li>A <a href=#websrt-cue-lt-escape>WebSRT cue lt escape</a>, representing a "<" character in the text of the annotation.</li>
|
29351
|
+
<li>A <a href=#websrt-cue-gt-escape>WebSRT cue gt escape</a>, representing a ">" character in the text of the annotation.</li>
|
29352
|
+
</ul></li>
|
29353
|
+
|
29354
|
+
<li>A U+003E GREATER-THAN SIGN character (>).</li>
|
29355
|
+
|
29356
|
+
</ol><p>A <dfn id=websrt-cue-span-end-tag>WebSRT cue span end tag</dfn> has a <var title="">tag
|
29357
|
+
name</var> and consists of the following components, in the order
|
29358
|
+
given:</p>
|
29359
|
+
|
29360
|
+
<ol><li>A U+003C LESS-THAN SIGN character (<).</li>
|
29361
|
+
<li>U+002F SOLIDUS character (/).</li>
|
29362
|
+
<li>The <var title="">tag name</var>.</li>
|
29363
|
+
<li>A U+003E GREATER-THAN SIGN character (>).</li>
|
29364
|
+
</ol><p>A <dfn id=websrt-cue-timestamp>WebSRT cue timestamp</dfn> consists of a U+003C LESS-THAN
|
29365
|
+
SIGN character (<), followed by a <a href=#websrt-timestamp>WebSRT timestamp</a>
|
29366
|
+
representing the time that the given point in the cue becomes
|
29367
|
+
active, followed by a U+003E GREATER-THAN SIGN character (>). The
|
29368
|
+
time represented by the <a href=#websrt-timestamp>WebSRT timestamp</a> must be
|
29369
|
+
greater than the times represented by any previous <a href=#websrt-cue-timestamp title="WebSRT cue timestamp">WebSRT cue timestamps</a> in the
|
29370
|
+
cue, as well as greater than the cue's start time offset, and less
|
29371
|
+
than the cue's end time offset.</p>
|
29372
|
+
|
29373
|
+
<p>A <dfn id=websrt-cue-text-span>WebSRT cue text span</dfn> consists of one or more
|
29374
|
+
characters other than U+000A LINE FEED (LF) characters, U+000D
|
29375
|
+
CARRIAGE RETURN (CR) characters, U+0026 AMPERSAND characters (&),
|
29376
|
+
and U+003C LESS-THAN SIGN characters (<).</p>
|
29377
|
+
|
29378
|
+
<p><dfn id=websrt-cue-span-start-tag-annotation-text>WebSRT cue span start tag annotation text</dfn> consists of
|
29379
|
+
one or more characters other than U+000A LINE FEED (LF) characters,
|
29380
|
+
U+000D CARRIAGE RETURN (CR) characters, U+0026 AMPERSAND characters
|
29381
|
+
(&), and U+003E GREATER-THAN SIGN characters (>).</p>
|
29382
|
+
|
29383
|
+
<p>A <dfn id=websrt-cue-amp-escape>WebSRT cue amp escape</dfn> is the five character string
|
29384
|
+
"<code title="">&</code>".</p>
|
29385
|
+
|
29386
|
+
<p>A <dfn id=websrt-cue-lt-escape>WebSRT cue lt escape</dfn> is the five character string
|
29387
|
+
"<code title=""><</code>".</p>
|
29388
|
+
|
29389
|
+
<p>A <dfn id=websrt-cue-gt-escape>WebSRT cue gt escape</dfn> is the five character string
|
29390
|
+
"<code title="">></code>".</p>
|
29391
|
+
|
29392
|
+
|
29393
|
+
|
29394
|
+
<div class=impl>
|
29078
29395
|
|
29079
29396
|
<h6 id=parsing-0><span class=secno>4.8.10.11.2 </span>Parsing</h6>
|
29080
29397
|
|
29081
|
-
<p>A <dfn id=websrt-parser>WebSRT parser</dfn>, given an input byte stream
|
29398
|
+
<p>A <dfn id=websrt-parser>WebSRT parser</dfn>, given an input byte stream and a
|
29082
29399
|
<a href=#timed-track-list-of-cues>timed track list of cues</a> <var title="">output</var>,
|
29083
|
-
|
29084
|
-
|
29085
|
-
|
29086
|
-
|
29087
|
-
|
29088
|
-
<var title="">output</var>. <a href=#refsRFC3629>[RFC3629]</a></p>
|
29400
|
+
must <a href=#decoded-as-utf-8,-with-error-handling title="decoded as UTF-8, with error handling">decode the
|
29401
|
+
byte stream as UTF-8, with error handling</a>, and then must
|
29402
|
+
parse the resulting string according to the <a href=#websrt-parser-algorithm>WebSRT parser
|
29403
|
+
algorithm</a> below. This results in <a href=#timed-track-cue title="timed track
|
29404
|
+
cue">timed track cues</a> being added to <var title="">output</var>. <a href=#refsRFC3629>[RFC3629]</a></p>
|
29089
29405
|
|
29090
29406
|
<p>A <a href=#websrt-parser>WebSRT parser</a>, specifically its conversion and
|
29091
29407
|
parsing steps, is typically run asynchronously, with the input byte
|
@@ -29157,9 +29473,6 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29157
29473
|
alignment</a> be <a href=#timed-track-cue-middle-alignment title="timed track cue middle
|
29158
29474
|
alignment">middle alignment</a>.</li>
|
29159
29475
|
|
29160
|
-
<li><p>Let <var title="">cue</var>'s <a href=#timed-track-cue-voice-identifier>timed track cue
|
29161
|
-
voice identifier</a> be the empty string.</li>
|
29162
|
-
|
29163
29476
|
<li><p>Let <var title="">cue</var>'s <a href=#timed-track-cue-text>timed track cue
|
29164
29477
|
text</a> be the empty string.</li>
|
29165
29478
|
|
@@ -29208,10 +29521,23 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29208
29521
|
<li><p>Let <var title="">cue text</var> be the empty
|
29209
29522
|
string.</li>
|
29210
29523
|
|
29211
|
-
<li><p><i>Cue text loop</i>: <
|
29212
|
-
|
29213
|
-
|
29214
|
-
|
29524
|
+
<li><p><i>Cue text loop</i>: If <var title="">position</var> is
|
29525
|
+
past the end of <var title="">input</var>, then discard <var title="">cue</var> and jump to the step labeled <i>cue text
|
29526
|
+
processing</i>.</li>
|
29527
|
+
|
29528
|
+
<li><p>If the character indicated by <var title="">position</var>
|
29529
|
+
is a U+000D CARRIAGE RETURN (CR) character, advance <var title="">position</var> to the next character in <var title="">input</var>.</li>
|
29530
|
+
|
29531
|
+
<li><p>If <var title="">position</var> is past the end of <var title="">input</var>, then discard <var title="">cue</var> and jump
|
29532
|
+
to the step labeled <i>cue text processing</i>.</li>
|
29533
|
+
|
29534
|
+
<li><p>If the character indicated by <var title="">position</var>
|
29535
|
+
is a U+000A LINE FEED (LF) character, advance <var title="">position</var> to the next character in <var title="">input</var>.</li>
|
29536
|
+
|
29537
|
+
<li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are
|
29538
|
+
<em>not</em> U+000D CARRIAGE RETURN (CR) or U+000A LINE FEED (LF)
|
29539
|
+
characters. Let <var title="">line</var> be those characters, if
|
29540
|
+
any.</li>
|
29215
29541
|
|
29216
29542
|
<li><p>If <var title="">line</var> is the empty string, then jump
|
29217
29543
|
to the step labeled <i>cue text processing</i>.</li>
|
@@ -29225,9 +29551,12 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29225
29551
|
|
29226
29552
|
<li><p>Return to the step labeled <i>cue text loop</i>.</li>
|
29227
29553
|
|
29228
|
-
<li><p><i>Cue text processing</i>: <a href=#
|
29229
|
-
|
29230
|
-
|
29554
|
+
<li><p><i>Cue text processing</i>: Let the <a href=#timed-track-cue-text>timed track cue
|
29555
|
+
text</a> of <var title="">cue</var> be <var title="">cue
|
29556
|
+
text</var>, and let the rules for its interpretation be the
|
29557
|
+
<a href=#websrt-cue-text-parsing-rules>WebSRT cue text parsing rules</a>, the <a href=#websrt-cue-text-rendering-rules>WebSRT cue
|
29558
|
+
text rendering rules</a>, and the <a href=#websrt-cue-text-dom-construction-rules>WebSRT cue text DOM
|
29559
|
+
construction rules</a>.</li>
|
29231
29560
|
|
29232
29561
|
<li><p>Add <var title="">cue</var> to the <a href=#timed-track-list-of-cues>timed track list of
|
29233
29562
|
cues</a> <var title="">output</var>.</li>
|
@@ -29643,100 +29972,6 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29643
29972
|
|
29644
29973
|
<li><p>Return <var title="">result</var>.</li>
|
29645
29974
|
|
29646
|
-
</ol><p>When the steps above say that a user agent is to <dfn id=collect-websrt-cue-voice-and-text>collect
|
29647
|
-
WebSRT cue voice and text</dfn> from a string <var title="">input</var> for a <a href=#timed-track-cue>timed track cue</a> <var title="">cue</var>, the user agent must run the following steps:</p>
|
29648
|
-
|
29649
|
-
<ol><li><p>Let <var title="">input</var> be the string being
|
29650
|
-
parsed.</li>
|
29651
|
-
|
29652
|
-
<li><p>Let <var title="">position</var> be a pointer into <var title="">input</var>, initially pointing at the start of the
|
29653
|
-
string.</li>
|
29654
|
-
|
29655
|
-
<li><p>If <var title="">position</var> is past the end of <var title="">input</var>, return an error and abort these
|
29656
|
-
steps.</li>
|
29657
|
-
|
29658
|
-
<li>
|
29659
|
-
|
29660
|
-
<p>Examine the first few characters of <var title="">input</var>
|
29661
|
-
and process them as described by the match set of rules from the
|
29662
|
-
following list:</p>
|
29663
|
-
|
29664
|
-
<dl class=switch><dt>If <var title="">input</var> starts with the string "<code title=""><narrator></code>"</dt>
|
29665
|
-
<dd>
|
29666
|
-
<p>Let <var title="">cue</var>'s <a href=#timed-track-cue-voice-identifier>timed track cue voice
|
29667
|
-
identifier</a> be the string "<code title="timed track cue narrator voice"><a href=#timed-track-cue-narrator-voice>narrator</a></code>"
|
29668
|
-
and advance <var title="">position</var> past the matching substring.</p>
|
29669
|
-
</dd>
|
29670
|
-
|
29671
|
-
<dt>If <var title="">input</var> starts with the string "<code title=""><music></code>"</dt>
|
29672
|
-
<dd>
|
29673
|
-
<p>Let <var title="">cue</var>'s <a href=#timed-track-cue-voice-identifier>timed track cue voice
|
29674
|
-
identifier</a> be the string "<code title="timed track cue music voice"><a href=#timed-track-cue-music-voice>music</a></code>"
|
29675
|
-
and advance <var title="">position</var> past the matching substring.</p>
|
29676
|
-
</dd>
|
29677
|
-
|
29678
|
-
<dt>If <var title="">input</var> starts with the string "<code title=""><lyric></code>"</dt>
|
29679
|
-
<dd>
|
29680
|
-
<p>Let <var title="">cue</var>'s <a href=#timed-track-cue-voice-identifier>timed track cue voice
|
29681
|
-
identifier</a> be the string "<code title="timed track cue lyric voice"><a href=#timed-track-cue-lyric-voice>lyric</a></code>"
|
29682
|
-
and advance <var title="">position</var> past the matching substring.</p>
|
29683
|
-
</dd>
|
29684
|
-
|
29685
|
-
<dt>If <var title="">input</var> starts with the string "<code title=""><sound></code>"</dt>
|
29686
|
-
<dd>
|
29687
|
-
<p>Let <var title="">cue</var>'s <a href=#timed-track-cue-voice-identifier>timed track cue voice
|
29688
|
-
identifier</a> be the string "<code title="timed track cue sound voice"><a href=#timed-track-cue-sound-voice>sound</a></code>"
|
29689
|
-
and advance <var title="">position</var> past the matching substring.</p>
|
29690
|
-
</dd>
|
29691
|
-
|
29692
|
-
<dt>If <var title="">input</var> starts with the string "<code title=""><comment></code>"</dt>
|
29693
|
-
<dd>
|
29694
|
-
<p>Let <var title="">cue</var>'s <a href=#timed-track-cue-voice-identifier>timed track cue voice
|
29695
|
-
identifier</a> be the string "<code title="timed track cue comment voice"><a href=#timed-track-cue-comment-voice>comment</a></code>"
|
29696
|
-
and advance <var title="">position</var> past the matching substring.</p>
|
29697
|
-
</dd>
|
29698
|
-
|
29699
|
-
<dt>If <var title="">input</var> starts with the string "<code title=""><credit></code>"</dt>
|
29700
|
-
<dd>
|
29701
|
-
<p>Let <var title="">cue</var>'s <a href=#timed-track-cue-voice-identifier>timed track cue voice
|
29702
|
-
identifier</a> be the string "<code title="timed track cue credit voice"><a href=#timed-track-cue-credit-voice>credit</a></code>"
|
29703
|
-
and advance <var title="">position</var> past the matching substring.</p>
|
29704
|
-
</dd>
|
29705
|
-
|
29706
|
-
|
29707
|
-
<dt>If <var title="">input</var> starts with a U+003C LESS-THAN
|
29708
|
-
SIGN character (<), followed by a character in the range
|
29709
|
-
U+0031 DIGIT ONE (1) to U+0039 DIGIT NINE (9), followed by zero
|
29710
|
-
or more characters in the range U+0030 DIGIT ZERO (0) to U+0039
|
29711
|
-
DIGIT NINE (9), followed by a U+003E GREATER-THAN SIGN character
|
29712
|
-
(>)</dt>
|
29713
|
-
|
29714
|
-
<dd>
|
29715
|
-
<p>Let <var title="">cue</var>'s <a href=#timed-track-cue-voice-identifier>timed track cue voice
|
29716
|
-
identifier</a> be the string of digits (characters in the
|
29717
|
-
range U+0030 DIGIT ZERO to U+0039 DIGIT NINE) in the matching
|
29718
|
-
substring, and advance <var title="">position</var> past the
|
29719
|
-
matching substring.</p>
|
29720
|
-
</dd>
|
29721
|
-
|
29722
|
-
<dt>Otherwise</dt>
|
29723
|
-
<dd>
|
29724
|
-
<p>Leave the <var title="">cue</var>'s <a href=#timed-track-cue-voice-identifier>timed track cue voice
|
29725
|
-
identifier</a> set to the empty string.</p>
|
29726
|
-
</dd>
|
29727
|
-
|
29728
|
-
</dl></li>
|
29729
|
-
|
29730
|
-
<li><p>If <var title="">position</var> is past the end of <var title="">input</var>, return an error and abort these
|
29731
|
-
steps.</li>
|
29732
|
-
|
29733
|
-
<li><p>Let the <a href=#timed-track-cue-text>timed track cue text</a> of <var title="">cue</var> be the substring of <var title="">input</var>
|
29734
|
-
from the position indicated by <var title="">position</var> to the
|
29735
|
-
end of the <var title="">input</var>, and let the rules for its
|
29736
|
-
interpretation be the <a href=#websrt-cue-text-parsing-rules>WebSRT cue text parsing rules</a>,
|
29737
|
-
the <a href=#websrt-cue-text-rendering-rules>WebSRT cue text rendering rules</a>, and the
|
29738
|
-
<a href=#websrt-cue-text-dom-construction-rules>WebSRT cue text DOM construction rules</a>.</li>
|
29739
|
-
|
29740
29975
|
</ol><h6 id=websrt-cue-text-parsing-rules><span class=secno>4.8.10.11.3 </span><dfn>WebSRT cue text parsing rules</dfn></h6>
|
29741
29976
|
|
29742
29977
|
<p>A <dfn id=websrt-node-object>WebSRT Node Object</dfn> is a conceptual construct used to
|
@@ -29754,9 +29989,10 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29754
29989
|
similar to elements in HTML or the DOM. <a href=#websrt-internal-node-object title="WebSRT Internal
|
29755
29990
|
Node Object">WebSRT Internal Node Objects</a> have an ordered
|
29756
29991
|
list of child <a href=#websrt-node-object title="WebSRT Node Object">WebSRT Node
|
29757
|
-
Objects</a
|
29758
|
-
to be the <i>parent</i> of the
|
29759
|
-
parent-child relationships so
|
29992
|
+
Objects</a>, and an ordered list of class names. The <a href=#websrt-internal-node-object>WebSRT
|
29993
|
+
Internal Node Object</a> is said to be the <i>parent</i> of the
|
29994
|
+
children. Cycles do not occur; the parent-child relationships so
|
29995
|
+
constructed form a tree structure.</p>
|
29760
29996
|
|
29761
29997
|
<p>There are five concrete classes of <a href=#websrt-internal-node-object title="WebSRT Internal
|
29762
29998
|
Node Object">WebSRT Internal Node Objects</a>:</p>
|
@@ -29767,6 +30003,14 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29767
30003
|
Node Object">WebSRT Node Objects</a>.</p>
|
29768
30004
|
</dd>
|
29769
30005
|
|
30006
|
+
<dt><dfn id=websrt-class-object title="WebSRT Class Object">WebSRT Class Objects</dfn></dt>
|
30007
|
+
<dd>
|
30008
|
+
<p>These represent spans of text (a <a href=#websrt-cue-class-span>WebSRT cue class
|
30009
|
+
span</a>) in <a href=#websrt-cue-text>WebSRT cue text</a>, and are used to
|
30010
|
+
annotate parts of the cue with classes without implying further
|
30011
|
+
meaning (such as italics or bold).</p>
|
30012
|
+
</dd>
|
30013
|
+
|
29770
30014
|
<dt><dfn id=websrt-italic-object title="WebSRT Italic Object">WebSRT Italic Objects</dfn></dt>
|
29771
30015
|
<dd>
|
29772
30016
|
<p>These represent spans of italic text (a <a href=#websrt-cue-italics-span>WebSRT cue
|
@@ -29792,6 +30036,14 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29792
30036
|
text</a>.</p>
|
29793
30037
|
</dd>
|
29794
30038
|
|
30039
|
+
<dt><dfn id=websrt-voice-object title="WebSRT Voice Object">WebSRT Voice Objects</dfn></dt>
|
30040
|
+
<dd>
|
30041
|
+
<p>These represent spans of text associated with a specific voice
|
30042
|
+
(a <a href=#websrt-cue-voice-span>WebSRT cue voice span</a>) in <a href=#websrt-cue-text>WebSRT cue
|
30043
|
+
text</a>. A <a href=#websrt-voice-object>WebSRT Voice Object</a> has a value, which
|
30044
|
+
is the name of the voice.</p>
|
30045
|
+
</dd>
|
30046
|
+
|
29795
30047
|
</dl><p><dfn id=websrt-leaf-node-object title="WebSRT Leaf Node Object">WebSRT Leaf Node
|
29796
30048
|
Objects</dfn> are those that contain data, such as text, and cannot
|
29797
30049
|
contain child <a href=#websrt-node-object title="WebSRT Node Object">WebSRT Node
|
@@ -29863,61 +30115,57 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29863
30115
|
<p>Ignore the token.</p>
|
29864
30116
|
</dd>
|
29865
30117
|
|
30118
|
+
<dt>If the tag name is "<code title="">c</code>"</dt>
|
30119
|
+
<dd>
|
30120
|
+
<p><a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node
|
30121
|
+
Object">Attach</a> a <a href=#websrt-class-object>WebSRT Class Object</a>.</p>
|
30122
|
+
</dd>
|
30123
|
+
|
29866
30124
|
<dt>If the tag name is "<code title="">i</code>"</dt>
|
29867
30125
|
<dd>
|
29868
|
-
<p
|
29869
|
-
|
30126
|
+
<p><a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node
|
30127
|
+
Object">Attach</a> a <a href=#websrt-italic-object>WebSRT Italic Object</a>.</p>
|
29870
30128
|
</dd>
|
29871
30129
|
|
29872
30130
|
<dt>If the tag name is "<code title="">b</code>"</dt>
|
29873
30131
|
<dd>
|
29874
|
-
<p
|
29875
|
-
|
30132
|
+
<p><a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node
|
30133
|
+
Object">Attach</a> a <a href=#websrt-bold-object>WebSRT Bold Object</a>.</p>
|
29876
30134
|
</dd>
|
29877
30135
|
|
29878
30136
|
<dt>If the tag name is "<code title="">ruby</code>"</dt>
|
29879
30137
|
<dd>
|
29880
|
-
<p
|
29881
|
-
|
30138
|
+
<p><a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node
|
30139
|
+
Object">Attach</a> a <a href=#websrt-ruby-object>WebSRT Ruby Object</a>.</p>
|
29882
30140
|
</dd>
|
29883
30141
|
|
29884
30142
|
<dt>If the tag name is "<code title="">rt</code>"</dt>
|
29885
30143
|
<dd>
|
29886
30144
|
<p>If <var title="">current</var> is a <a href=#websrt-ruby-object>WebSRT Ruby
|
29887
|
-
Object</a>, then
|
29888
|
-
Object</a
|
29889
|
-
Object
|
29890
|
-
<p>Otherwise, ignore the token.</p>
|
30145
|
+
Object</a>, then <a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node
|
30146
|
+
Object">attach</a> a <a href=#websrt-ruby-text-object>WebSRT Ruby Text
|
30147
|
+
Object</a>.</p>
|
29891
30148
|
</dd>
|
29892
30149
|
|
29893
|
-
<dt>
|
30150
|
+
<dt>If the tag name is "<code title="">v</code>"</dt>
|
29894
30151
|
<dd>
|
30152
|
+
<p><a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node
|
30153
|
+
Object">Attach</a> a <a href=#websrt-voice-object>WebSRT Voice Object</a>, and
|
30154
|
+
set its value to the token's annotation string.</p>
|
30155
|
+
</dd>
|
29895
30156
|
|
29896
|
-
|
29897
|
-
|
29898
|
-
|
29899
|
-
|
29900
|
-
the string.</li>
|
29901
|
-
|
29902
|
-
<li><p><a href=#collect-a-websrt-timestamp>Collect a WebSRT timestamp</a>.</li>
|
29903
|
-
|
29904
|
-
<li>
|
29905
|
-
|
29906
|
-
<p>If that algorithm does not fail, and if <var title="">position</var> now points at the end of <var title="">input</var> (i.e. there are no trailing characters
|
29907
|
-
after the timestamp), then create a <a href=#websrt-timestamp-object>WebSRT Timestamp
|
29908
|
-
Object</a> whose value is the collected time, then append
|
29909
|
-
it to <var title="">current</var>.</p>
|
29910
|
-
|
29911
|
-
<p>Otherwise, ignore the token.</p>
|
29912
|
-
|
29913
|
-
</li>
|
29914
|
-
|
29915
|
-
</ol></dd>
|
30157
|
+
<dt>Otherwise</dt>
|
30158
|
+
<dd>
|
30159
|
+
<p>Ignore the token.</p>
|
30160
|
+
</dd>
|
29916
30161
|
|
29917
30162
|
</dl><p>When the steps above say to <dfn id=attach-a-websrt-internal-node-object>attach a WebSRT Internal
|
29918
|
-
Node Object</dfn>
|
29919
|
-
|
29920
|
-
|
30163
|
+
Node Object</dfn> of a particular class, the user agent must
|
30164
|
+
first create an object of the specified class, then set its list
|
30165
|
+
of classes to the list of classes in the token, append the newly
|
30166
|
+
created node object to <var title="">current</var>, and finally
|
30167
|
+
let <var title="">current</var> be the newly created node
|
30168
|
+
object.</p>
|
29921
30169
|
|
29922
30170
|
</dd>
|
29923
30171
|
|
@@ -29927,6 +30175,10 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29927
30175
|
<p>If any of the following conditions is true, then let <var title="">current</var> be the parent node of <var title="">current</var>.</p>
|
29928
30176
|
|
29929
30177
|
<ul class=brief><li>The tag name of the end tag token <var title="">token</var>
|
30178
|
+
is "<code title="">c</code>" and <var title="">current</var> is
|
30179
|
+
a <a href=#websrt-class-object>WebSRT Class Object</a>.</li>
|
30180
|
+
|
30181
|
+
<li>The tag name of the end tag token <var title="">token</var>
|
29930
30182
|
is "<code title="">i</code>" and <var title="">current</var> is
|
29931
30183
|
a <a href=#websrt-italic-object>WebSRT Italic Object</a>.</li>
|
29932
30184
|
|
@@ -29942,6 +30194,10 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29942
30194
|
is "<code title="">rt</code>" and <var title="">current</var> is
|
29943
30195
|
a <a href=#websrt-ruby-text-object>WebSRT Ruby Text Object</a>.</li>
|
29944
30196
|
|
30197
|
+
<li>The tag name of the end tag token <var title="">token</var>
|
30198
|
+
is "<code title="">v</code>" and <var title="">current</var> is
|
30199
|
+
a <a href=#websrt-voice-object>WebSRT Voice Object</a>.</li>
|
30200
|
+
|
29945
30201
|
</ul><p>Otherwise, if the tag name of the end tag token <var title="">token</var> is "<code title="">ruby</code>" and <var title="">current</var> is a <a href=#websrt-ruby-text-object>WebSRT Ruby Text
|
29946
30202
|
Object</a>, then let <var title="">current</var> be the
|
29947
30203
|
parent node of <var title="">current</var> of the parent node of
|
@@ -29951,14 +30207,39 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29951
30207
|
|
29952
30208
|
</dd>
|
29953
30209
|
|
30210
|
+
<dt>If <var title="">token</var> is a timestamp tag</dt>
|
30211
|
+
<dd>
|
30212
|
+
|
30213
|
+
<ol><li><p>Let <var title="">input</var> be the tag value.</li>
|
30214
|
+
|
30215
|
+
<li><p>Let <var title="">position</var> be a pointer into
|
30216
|
+
<var title="">input</var>, initially pointing at the start of
|
30217
|
+
the string.</li>
|
30218
|
+
|
30219
|
+
<li><p><a href=#collect-a-websrt-timestamp>Collect a WebSRT timestamp</a>.</li>
|
30220
|
+
|
30221
|
+
<li>
|
30222
|
+
|
30223
|
+
<p>If that algorithm does not fail, and if <var title="">position</var> now points at the end of <var title="">input</var> (i.e. there are no trailing characters
|
30224
|
+
after the timestamp), then create a <a href=#websrt-timestamp-object>WebSRT Timestamp
|
30225
|
+
Object</a> whose value is the collected time, then append
|
30226
|
+
it to <var title="">current</var>.</p>
|
30227
|
+
|
30228
|
+
<p>Otherwise, ignore the token.</p>
|
30229
|
+
|
30230
|
+
</li>
|
30231
|
+
|
30232
|
+
</ol></dd>
|
30233
|
+
|
29954
30234
|
</dl></li>
|
29955
30235
|
|
29956
30236
|
<li><p>Jump to the step labeled <i>loop</i>.</li>
|
29957
30237
|
|
29958
30238
|
</ol><p>The <dfn id=websrt-cue-text-tokeniser>WebSRT cue text tokeniser</dfn> is as follows. It emits
|
29959
30239
|
a token, which is either a string (whose value is a sequence of
|
29960
|
-
Unicode characters), a start tag (with a tag name
|
29961
|
-
(with a tag
|
30240
|
+
Unicode characters), a start tag (with a tag name, a list of
|
30241
|
+
classes, and optionally an annotation), an end tag (with a tag
|
30242
|
+
name), or a timestamp tag (with a tag value).</p>
|
29962
30243
|
|
29963
30244
|
<ol><li><p>Let <var title="">input</var> and <var title="">position</var> be the same variables as those of the same
|
29964
30245
|
name in the algorithm that invoked these steps.</li>
|
@@ -29968,7 +30249,9 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29968
30249
|
|
29969
30250
|
<li><p>Let <var title="">result</var> be the empty string.</li>
|
29970
30251
|
|
29971
|
-
<li><p>Let <var title="">
|
30252
|
+
<li><p>Let <var title="">buffer</var> be the empty string.</li>
|
30253
|
+
|
30254
|
+
<li><p>Let <var title="">classes</var> be an empty list.</li>
|
29972
30255
|
|
29973
30256
|
<li><p><i>Loop</i>: If <var title="">position</var> is past the end of
|
29974
30257
|
<var title="">input</var>, let <var title="">c</var> be an
|
@@ -29988,7 +30271,7 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
29988
30271
|
|
29989
30272
|
<dl><dt>U+0026 AMPERSAND (&)</dt>
|
29990
30273
|
<dd>
|
29991
|
-
<p>Set <var title="">
|
30274
|
+
<p>Set <var title="">buffer</var> to <var title="">c</var>,
|
29992
30275
|
set <var title="">tokeniser state</var> to the <a href=#websrt-escape-state>WebSRT
|
29993
30276
|
escape state</a>, and jump to the step labeled
|
29994
30277
|
<i>next</i>.</p>
|
@@ -30024,15 +30307,18 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
30024
30307
|
<dl><dt>U+003B SEMICOLON character (;)</dt>
|
30025
30308
|
<dd>
|
30026
30309
|
|
30027
|
-
<p>First, examine the value of <var title="">
|
30310
|
+
<p>First, examine the value of <var title="">buffer</var>:</p>
|
30028
30311
|
|
30029
|
-
<p>If <var title="">
|
30312
|
+
<p>If <var title="">buffer</var> is the string "<code title="">&amp</code>", then append a U+0026 AMPERSAND
|
30030
30313
|
character (&) to <var title="">result</var>.</p>
|
30031
30314
|
|
30032
|
-
<p>If <var title="">
|
30315
|
+
<p>If <var title="">buffer</var> is the string "<code title="">&lt</code>", then append a U+003C LESS-THAN SIGN
|
30033
30316
|
character (<) to <var title="">result</var>.</p>
|
30034
30317
|
|
30035
|
-
<p>
|
30318
|
+
<p>If <var title="">buffer</var> is the string "<code title="">&gt</code>", then append a U+003E GREATER-THAN SIGN
|
30319
|
+
character (>) to <var title="">result</var>.</p>
|
30320
|
+
|
30321
|
+
<p>Otherwise, append <var title="">buffer</var> followed by a
|
30036
30322
|
U+003B SEMICOLON character (;) to <var title="">result</var>.</p>
|
30037
30323
|
|
30038
30324
|
<p>Then, in any case, set <var title="">tokeniser state</var>
|
@@ -30041,23 +30327,23 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
30041
30327
|
|
30042
30328
|
</dd>
|
30043
30329
|
|
30044
|
-
<dt>Characters in the range U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER Z</dt>
|
30045
|
-
<dt>Characters in the range U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z</dt>
|
30046
30330
|
<dt>Characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)</dt>
|
30331
|
+
<dt>Characters in the range U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z</dt>
|
30332
|
+
<dt>Characters in the range U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER Z</dt>
|
30047
30333
|
<dd>
|
30048
|
-
<p>Append <var title="">c</var> to <var title="">
|
30334
|
+
<p>Append <var title="">c</var> to <var title="">buffer</var>
|
30049
30335
|
and jump to the step labeled <i>next</i>.</p>
|
30050
30336
|
</dd>
|
30051
30337
|
|
30052
30338
|
<dt>End-of-file marker</dt>
|
30053
30339
|
<dd>
|
30054
|
-
<p>Append <var title="">
|
30340
|
+
<p>Append <var title="">buffer</var> to <var title="">result</var>, return a string token whose value is
|
30055
30341
|
<var title="">result</var>, and abort these steps.</p>
|
30056
30342
|
</dd>
|
30057
30343
|
|
30058
30344
|
<dt>Anything else</dt>
|
30059
30345
|
<dd>
|
30060
|
-
<p>Append <var title="">
|
30346
|
+
<p>Append <var title="">buffer</var> to <var title="">result</var>, set <var title="">tokeniser state</var>
|
30061
30347
|
to the <a href=#websrt-data-state>WebSRT data state</a>, and jump to the step
|
30062
30348
|
labeled <i>next</i>.</p>
|
30063
30349
|
</dd>
|
@@ -30070,18 +30356,43 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
30070
30356
|
|
30071
30357
|
<p>Jump to the entry that matches the value of <var title="">c</var>:</p>
|
30072
30358
|
|
30073
|
-
<dl><dt>U+
|
30359
|
+
<dl><dt>U+0020 SPACE character</dt>
|
30360
|
+
<dt>U+0009 CHARACTER TABULATION (tab) character</dt>
|
30361
|
+
<dd>
|
30362
|
+
<!-- assert: >result< is the empty string -->
|
30363
|
+
<p>Set <var title="">tokeniser state</var> to the <a href=#websrt-start-tag-annotation-state>WebSRT
|
30364
|
+
start tag annotation state</a>, and jump to the step labeled
|
30365
|
+
<i>next</i>.</p>
|
30366
|
+
</dd>
|
30367
|
+
|
30368
|
+
<dt>U+002E FULL STOP character (.)</dt>
|
30369
|
+
<dd>
|
30370
|
+
<!-- assert: >result< is the empty string -->
|
30371
|
+
<p>Set <var title="">tokeniser state</var> to the <a href=#websrt-start-tag-class-state>WebSRT
|
30372
|
+
start tag class state</a>, and jump to the step labeled
|
30373
|
+
<i>next</i>.</p>
|
30374
|
+
</dd>
|
30375
|
+
|
30376
|
+
<dt>U+002F SOLIDUS character (/)</dt>
|
30074
30377
|
<dd>
|
30075
30378
|
<p>Set <var title="">tokeniser state</var> to the <a href=#websrt-end-tag-state>WebSRT
|
30076
30379
|
end tag state</a>, and jump to the step labeled
|
30077
30380
|
<i>next</i>.</p>
|
30078
30381
|
</dd>
|
30079
30382
|
|
30383
|
+
<dt>Characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)</dt>
|
30384
|
+
<dd>
|
30385
|
+
<p>Set <var title="">result</var> to <var title="">c</var>,
|
30386
|
+
set <var title="">tokeniser state</var> to the <a href=#websrt-timestamp-tag-state>WebSRT
|
30387
|
+
timestamp tag state</a>, and jump to the step labeled
|
30388
|
+
<i>next</i>.</p>
|
30389
|
+
</dd>
|
30390
|
+
|
30080
30391
|
<dt>U+003E GREATER-THAN SIGN character (>)</dt>
|
30081
30392
|
<dt>End-of-file marker</dt>
|
30082
30393
|
<dd>
|
30083
|
-
<p>Return a start tag whose tag name is the empty string
|
30084
|
-
abort these steps.</p>
|
30394
|
+
<p>Return a start tag whose tag name is the empty string, with
|
30395
|
+
no classes and no annotation, and abort these steps.</p>
|
30085
30396
|
</dd>
|
30086
30397
|
|
30087
30398
|
<dt>Anything else</dt>
|
@@ -30100,10 +30411,26 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
30100
30411
|
|
30101
30412
|
<p>Jump to the entry that matches the value of <var title="">c</var>:</p>
|
30102
30413
|
|
30103
|
-
<dl><dt>U+
|
30414
|
+
<dl><dt>U+0020 SPACE character</dt>
|
30415
|
+
<dt>U+0009 CHARACTER TABULATION (tab) character</dt>
|
30416
|
+
<dd>
|
30417
|
+
<p>Set <var title="">tokeniser state</var> to the <a href=#websrt-start-tag-annotation-state>WebSRT
|
30418
|
+
start tag annotation state</a>, and jump to the step labeled
|
30419
|
+
<i>next</i>.</p>
|
30420
|
+
</dd>
|
30421
|
+
|
30422
|
+
<dt>U+002E FULL STOP character (.)</dt>
|
30423
|
+
<dd>
|
30424
|
+
<p>Set <var title="">tokeniser state</var> to the <a href=#websrt-start-tag-class-state>WebSRT
|
30425
|
+
start tag class state</a>, and jump to the step labeled
|
30426
|
+
<i>next</i>.</p>
|
30427
|
+
</dd>
|
30428
|
+
|
30429
|
+
<dt>U+003E GREATER-THAN SIGN character (>)</dt>
|
30104
30430
|
<dt>End-of-file marker</dt>
|
30105
30431
|
<dd>
|
30106
|
-
<p>Return a start tag whose tag name is <var title="">result</var
|
30432
|
+
<p>Return a start tag whose tag name is <var title="">result</var>, with no classes and no annotation, and
|
30433
|
+
abort these steps.</p>
|
30107
30434
|
</dd>
|
30108
30435
|
|
30109
30436
|
<dt>Anything else</dt>
|
@@ -30114,6 +30441,74 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
30114
30441
|
|
30115
30442
|
</dl></dd>
|
30116
30443
|
|
30444
|
+
<dt><dfn id=websrt-start-tag-class-state>WebSRT start tag class state</dfn></dt>
|
30445
|
+
|
30446
|
+
<dd>
|
30447
|
+
|
30448
|
+
<p>Jump to the entry that matches the value of <var title="">c</var>:</p>
|
30449
|
+
|
30450
|
+
<dl><dt>U+0020 SPACE character</dt>
|
30451
|
+
<dt>U+0009 CHARACTER TABULATION (tab) character</dt>
|
30452
|
+
<dd>
|
30453
|
+
<p>Append to <var title="">classes</var> an entry whose value
|
30454
|
+
is <var title="">buffer</var>, set <var title="">buffer</var>
|
30455
|
+
to the empty string, set <var title="">tokeniser state</var>
|
30456
|
+
to the <a href=#websrt-start-tag-annotation-state>WebSRT start tag annotation state</a>, and
|
30457
|
+
jump to the step labeled <i>next</i>.</p>
|
30458
|
+
</dd>
|
30459
|
+
|
30460
|
+
<dt>U+002E FULL STOP character (.)</dt>
|
30461
|
+
<dd>
|
30462
|
+
<p>Append to <var title="">classes</var> an entry whose value
|
30463
|
+
is <var title="">buffer</var>, set <var title="">buffer</var>
|
30464
|
+
to the empty string, and jump to the step labeled
|
30465
|
+
<i>next</i>.</p>
|
30466
|
+
</dd>
|
30467
|
+
|
30468
|
+
<dt>U+003E GREATER-THAN SIGN character (>)</dt>
|
30469
|
+
<dt>End-of-file marker</dt>
|
30470
|
+
<dd>
|
30471
|
+
<p>Append to <var title="">classes</var> an entry whose value
|
30472
|
+
is <var title="">buffer</var>, then return a start tag whose
|
30473
|
+
tag name is <var title="">result</var>, with the classes given
|
30474
|
+
in <var title="">classes</var> but no annotation, and abort
|
30475
|
+
these steps.</p>
|
30476
|
+
</dd>
|
30477
|
+
|
30478
|
+
<dt>Anything else</dt>
|
30479
|
+
<dd>
|
30480
|
+
<p>Append <var title="">c</var> to <var title="">buffer</var>
|
30481
|
+
and jump to the step labeled <i>next</i>.</p>
|
30482
|
+
</dd>
|
30483
|
+
|
30484
|
+
</dl></dd>
|
30485
|
+
|
30486
|
+
<dt><dfn id=websrt-start-tag-annotation-state>WebSRT start tag annotation state</dfn></dt>
|
30487
|
+
|
30488
|
+
<dd>
|
30489
|
+
|
30490
|
+
<p>Jump to the entry that matches the value of <var title="">c</var>:</p>
|
30491
|
+
|
30492
|
+
<dl><dt>U+003E GREATER-THAN SIGN character (>)</dt>
|
30493
|
+
<dt>End-of-file marker</dt>
|
30494
|
+
<dd>
|
30495
|
+
<p>Remove any leading or trailing U+0020 SPACE or U+0009
|
30496
|
+
CHARACTER TABULATION (tab) characters from <var title="">buffer</var>, and replace any sequence of one or
|
30497
|
+
more consecutive U+0020 SPACE and U+0009 CHARACTER TABULATION
|
30498
|
+
(tab) characters in <var title="">buffer</var> with a single
|
30499
|
+
U+0020 SPACE character; then, return a start tag whose tag name is
|
30500
|
+
<var title="">result</var>, with the classes given in <var title="">classes</var>, and with <var title="">buffer</var> as
|
30501
|
+
the annotation, and abort these steps.</p>
|
30502
|
+
</dd>
|
30503
|
+
|
30504
|
+
<dt>Anything else</dt>
|
30505
|
+
<dd>
|
30506
|
+
<p>Append <var title="">c</var> to <var title="">buffer</var>
|
30507
|
+
and jump to the step labeled <i>next</i>.</p>
|
30508
|
+
</dd>
|
30509
|
+
|
30510
|
+
</dl></dd>
|
30511
|
+
|
30117
30512
|
<dt><dfn id=websrt-end-tag-state>WebSRT end tag state</dfn></dt>
|
30118
30513
|
|
30119
30514
|
<dd>
|
@@ -30134,6 +30529,26 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
30134
30529
|
|
30135
30530
|
</dl></dd>
|
30136
30531
|
|
30532
|
+
<dt><dfn id=websrt-timestamp-tag-state>WebSRT timestamp tag state</dfn></dt>
|
30533
|
+
|
30534
|
+
<dd>
|
30535
|
+
|
30536
|
+
<p>Jump to the entry that matches the value of <var title="">c</var>:</p>
|
30537
|
+
|
30538
|
+
<dl><dt>U+003E GREATER-THAN SIGN character (>)</dt>
|
30539
|
+
<dt>End-of-file marker</dt>
|
30540
|
+
<dd>
|
30541
|
+
<p>Return a timestamp tag whose tag name is <var title="">result</var> and abort these steps.</p>
|
30542
|
+
</dd>
|
30543
|
+
|
30544
|
+
<dt>Anything else</dt>
|
30545
|
+
<dd>
|
30546
|
+
<p>Append <var title="">c</var> to <var title="">result</var>
|
30547
|
+
and jump to the step labeled <i>next</i>.</p>
|
30548
|
+
</dd>
|
30549
|
+
|
30550
|
+
</dl></dd>
|
30551
|
+
|
30137
30552
|
</dl></li>
|
30138
30553
|
|
30139
30554
|
<li><p><i>Next</i>: Advance <var title="">position</var> to the next
|
@@ -30154,19 +30569,30 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
30154
30569
|
<th>DOM node
|
30155
30570
|
<tbody><tr><td><a href=#list-of-websrt-node-objects>List of WebSRT Node Objects</a>
|
30156
30571
|
<td><code><a href=#documentfragment>DocumentFragment</a></code> node
|
30572
|
+
<tr><td><a href=#websrt-class-object>WebSRT Class Object</a>
|
30573
|
+
<td><code><a href=#htmlelement>HTMLElement</a></code> element node with <code title=dom-Node-localName><a href=#dom-node-localname>localName</a></code> "<code><a href=#the-span-element>span</a></code>".
|
30157
30574
|
<tr><td><a href=#websrt-italic-object>WebSRT Italic Object</a>
|
30158
|
-
<td><code><a href=#htmlelement>HTMLElement</a></code> element node with <code title=dom-Node-localName><a href=#dom-node-localname>localName</a></code> "<code><a href=#the-i-element>i</a></code>"
|
30575
|
+
<td><code><a href=#htmlelement>HTMLElement</a></code> element node with <code title=dom-Node-localName><a href=#dom-node-localname>localName</a></code> "<code><a href=#the-i-element>i</a></code>".
|
30159
30576
|
<tr><td><a href=#websrt-bold-object>WebSRT Bold Object</a>
|
30160
|
-
<td><code><a href=#htmlelement>HTMLElement</a></code> element node with <code title=dom-Node-localName><a href=#dom-node-localname>localName</a></code> "<code><a href=#the-b-element>b</a></code>"
|
30577
|
+
<td><code><a href=#htmlelement>HTMLElement</a></code> element node with <code title=dom-Node-localName><a href=#dom-node-localname>localName</a></code> "<code><a href=#the-b-element>b</a></code>".
|
30161
30578
|
<tr><td><a href=#websrt-ruby-object>WebSRT Ruby Object</a>
|
30162
|
-
<td><code><a href=#htmlelement>HTMLElement</a></code> element node with <code title=dom-Node-localName><a href=#dom-node-localname>localName</a></code> "<code><a href=#the-ruby-element>ruby</a></code>"
|
30579
|
+
<td><code><a href=#htmlelement>HTMLElement</a></code> element node with <code title=dom-Node-localName><a href=#dom-node-localname>localName</a></code> "<code><a href=#the-ruby-element>ruby</a></code>".
|
30163
30580
|
<tr><td><a href=#websrt-ruby-text-object>WebSRT Ruby Text Object</a>
|
30164
|
-
<td><code><a href=#htmlelement>HTMLElement</a></code> element node with <code title=dom-Node-localName><a href=#dom-node-localname>localName</a></code> "<code><a href=#the-rt-element>rt</a></code>"
|
30581
|
+
<td><code><a href=#htmlelement>HTMLElement</a></code> element node with <code title=dom-Node-localName><a href=#dom-node-localname>localName</a></code> "<code><a href=#the-rt-element>rt</a></code>".
|
30582
|
+
<tr><td><a href=#websrt-voice-object>WebSRT Voice Object</a>
|
30583
|
+
<td><code><a href=#htmlelement>HTMLElement</a></code> element node with <code title=dom-Node-localName><a href=#dom-node-localname>localName</a></code> "<code><a href=#the-q-element>q</a></code>", a <code title=attr-title><a href=#the-title-attribute>title</a></code> attribute set to the <a href=#websrt-voice-object>WebSRT Voice Object</a>'s value.
|
30165
30584
|
<tr><td><a href=#websrt-text-object>WebSRT Text Object</a>
|
30166
30585
|
<td><code><a href=#text>Text</a></code> node whose character data is the value of the <a href=#websrt-text-object>WebSRT Text Object</a>.
|
30167
30586
|
<tr><td><a href=#websrt-timestamp-object>WebSRT Timestamp Object</a>
|
30168
30587
|
<td><code><a href=#processinginstruction>ProcessingInstruction</a></code> node whose <code title=dom-ProcessingInstruction-target>target</code> is "<code title="">timestamp</code>" and whose <code title=dom-ProcessingInstruction-data>data</code> is a <a href=#websrt-timestamp>WebSRT timestamp</a> representing the value of the <a href=#websrt-timestamp-object>WebSRT Timestamp Object</a>, with all optional components included and with the seconds separator being a U+002E FULL STOP character (.).
|
30169
|
-
</table><p
|
30588
|
+
</table><p><code><a href=#htmlelement>HTMLElement</a></code> nodes created as part of the mapping
|
30589
|
+
described above must have their <code title=dom-Node-namespaceURI><a href=#dom-node-namespaceuri>namespaceURI</a></code> set to the
|
30590
|
+
<a href=#html-namespace-0>HTML namespace</a>, and must have a <code title=attr-class><a href=#classes>class</a></code> attribute set to the string obtained
|
30591
|
+
by concatenating all the classes that apply to the corresponding
|
30592
|
+
<a href=#websrt-internal-node-object>WebSRT Internal Node Object</a>, each separated from the
|
30593
|
+
next by a single U+0020 SPACE character.</p>
|
30594
|
+
|
30595
|
+
<p>The <code title=dom-Node-ownerDocument><a href=#dom-node-ownerdocument>ownerDocument</a></code>
|
30170
30596
|
attribute of all nodes in the DOM tree must be set to the given
|
30171
30597
|
document <var title="">owner</var>.</p>
|
30172
30598
|
|
@@ -30222,8 +30648,9 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
30222
30648
|
<p>For the purposes of listing chapters in the <a href=#media-resource>media
|
30223
30649
|
resource</a>, only <a href=#timed-track title="timed track">timed tracks</a>
|
30224
30650
|
in the <a href=#media-element>media element</a>'s <a href=#list-of-timed-tracks>list of timed
|
30225
|
-
tracks</a> <a href=#timed-track-showing title="timed track showing">showing</a>
|
30226
|
-
|
30651
|
+
tracks</a> <a href=#timed-track-showing title="timed track showing">showing</a> or
|
30652
|
+
<a href=#timed-track-showing-by-default title="timed track showing by default">showing by
|
30653
|
+
default</a> and whose <a href=#timed-track-kind>timed track kind</a> is <code title=dom-timedtrack-kind-chapters><a href=#dom-timedtrack-kind-chapters>chapters</a></code> should be used.
|
30227
30654
|
Each <a href=#timed-track-cue title="timed track cue">cue</a> in such a <a href=#timed-track>timed
|
30228
30655
|
track</a> represents a chapter starting at the cue's <a href=#timed-track-cue-start-time title="timed track cue start time">start time</a>. The name of
|
30229
30656
|
the chapter is the <a href=#timed-track-cue-text>timed track cue text</a>, interpreted
|
@@ -30823,8 +31250,7 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
30823
31250
|
|
30824
31251
|
<dd>
|
30825
31252
|
|
30826
|
-
<p>Returns a <code title="">data:</code> URL for the image in the
|
30827
|
-
canvas.</p>
|
31253
|
+
<p>Returns a <a href=#data-protocol title="data protocol"><code title="">data:</code> URL</a> for the image in the canvas.</p>
|
30828
31254
|
|
30829
31255
|
<p>The first argument, if provided, controls the type of the image
|
30830
31256
|
to be returned (e.g. PNG or JPEG). The default is <code title="">image/png</code>; that type is also used if the given
|
@@ -30837,17 +31263,20 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
30837
31263
|
</dl><div class=impl>
|
30838
31264
|
|
30839
31265
|
<p>The <dfn id=dom-canvas-todataurl title=dom-canvas-toDataURL><code>toDataURL()</code></dfn> method
|
30840
|
-
must, when called with no arguments, return a <
|
30841
|
-
|
31266
|
+
must, when called with no arguments, return a <a href=#data-protocol title="data
|
31267
|
+
protocol"><code title="">data:</code> URL</a> containing a
|
31268
|
+
representation of the image as a PNG file. <a href=#refsPNG>[PNG]</a> <a href=#refsRFC2397>[RFC2397]</a></p>
|
30842
31269
|
|
30843
31270
|
<p>If the canvas has no pixels (i.e. either its horizontal dimension
|
30844
31271
|
or its vertical dimension is zero) then the method must return the
|
30845
|
-
string "<code title="">data:,</code>". (This is the shortest <
|
31272
|
+
string "<code title="">data:,</code>". (This is the shortest <a href=#data-protocol title="data protocol"><code title="">data:</code> URL</a>; it
|
31273
|
+
represents the empty string in a <code title="">text/plain</code>
|
31274
|
+
resource.)</p>
|
30846
31275
|
|
30847
31276
|
<p>When the <code title=dom-canvas-toDataURL><a href=#dom-canvas-todataurl>toDataURL(<var title="">type</var>)</a></code> method is called with one <em>or
|
30848
|
-
more</em> arguments, it must return a <
|
30849
|
-
URL containing a
|
30850
|
-
<var title="">type</var>. The possible values are <a href=#mime-type title="MIME
|
31277
|
+
more</em> arguments, it must return a <a href=#data-protocol title="data
|
31278
|
+
protocol"><code title="">data:</code> URL</a> containing a
|
31279
|
+
representation of the image in the format given by <var title="">type</var>. The possible values are <a href=#mime-type title="MIME
|
30851
31280
|
type">MIME types</a> with no parameters, for example
|
30852
31281
|
<code>image/png</code>, <code>image/jpeg</code>, or even maybe
|
30853
31282
|
<code>image/svg+xml</code> if the implementation actually keeps
|
@@ -30857,15 +31286,17 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
30857
31286
|
<p>For image types that do not support an alpha channel, the image
|
30858
31287
|
must be composited onto a solid black background using the
|
30859
31288
|
source-over operator, and the resulting image must be the one used
|
30860
|
-
to create the <code title="">data:</code> URL
|
31289
|
+
to create the <a href=#data-protocol title="data protocol"><code title="">data:</code> URL</a>.</p>
|
30861
31290
|
|
30862
31291
|
<p>Only support for <code>image/png</code> is required. User agents
|
30863
31292
|
may support other types. If the user agent does not support the
|
30864
31293
|
requested type, it must return the image using the PNG format.</p>
|
30865
31294
|
|
30866
|
-
<p>User agents must <a href=#converted-to-ascii-lowercase title="converted to ASCII
|
30867
|
-
provided type to ASCII lowercase</a>
|
30868
|
-
support that type and before creating
|
31295
|
+
<p>User agents must <a href=#converted-to-ascii-lowercase title="converted to ASCII
|
31296
|
+
lowercase">convert the provided type to ASCII lowercase</a>
|
31297
|
+
before establishing if they support that type and before creating
|
31298
|
+
the <a href=#data-protocol title="data protocol"><code title="">data:</code>
|
31299
|
+
URL</a>.</p>
|
30869
31300
|
|
30870
31301
|
</div>
|
30871
31302
|
|
@@ -30907,6 +31338,10 @@ interface <dfn id=timedtrackcue>TimedTrackCue</dfn> {
|
|
30907
31338
|
more carefully control compression settings, image metadata,
|
30908
31339
|
etc.</p>
|
30909
31340
|
|
31341
|
+
<!-- should we explicitly require the URL to be base64-encoded and
|
31342
|
+
not have any parameters, to ensure the same exact URL is generated
|
31343
|
+
in each browser? -->
|
31344
|
+
|
30910
31345
|
</div>
|
30911
31346
|
|
30912
31347
|
<!--2DCONTEXT-->
|
@@ -31267,9 +31702,9 @@ idea from Mihai:
|
|
31267
31702
|
the translation distance in the horizontal direction and the <var title="">y</var> argument represents the translation distance in the
|
31268
31703
|
vertical direction. The arguments are in coordinate space units.</p>
|
31269
31704
|
|
31270
|
-
<p>The <dfn id=dom-context-2d-transform title=dom-context-2d-transform><code>transform(<var title="">a</var>, <var title="">b</var>, <var title="">c</var>, <var title="">d</var>, <var title="">e</var>,
|
31271
|
-
|
31272
|
-
|
31705
|
+
<p>The <dfn id=dom-context-2d-transform title=dom-context-2d-transform><code>transform(<var title="">a</var>, <var title="">b</var>, <var title="">c</var>, <var title="">d</var>, <var title="">e</var>, <var title="">f</var>)</code></dfn> method must replace the current
|
31706
|
+
transformation matrix with the result of multiplying the current
|
31707
|
+
transformation matrix with the matrix described by:</p>
|
31273
31708
|
|
31274
31709
|
</div>
|
31275
31710
|
|
@@ -31798,6 +32233,17 @@ idea from Mihai:
|
|
31798
32233
|
stroking or filling effect requires that they be drawn, and are
|
31799
32234
|
affected by the current transformation matrix.</p>
|
31800
32235
|
|
32236
|
+
<p>If the original image data is a bitmap image, the value painted
|
32237
|
+
at a point in the area of the repetitions is computed by filtering
|
32238
|
+
the original image data. The user agent may use any filtering
|
32239
|
+
algorithm (for example bilinear interpolation or nearest-neighbor).
|
32240
|
+
When the filtering algorithm requires a pixel value from outside the
|
32241
|
+
original image data, it must instead use the value from wrapping the
|
32242
|
+
pixel's coordinates to the original image's dimensions. (That is,
|
32243
|
+
the filter uses 'repeat' behavior, regardless of the value of
|
32244
|
+
<var title="">repetition</var>.)
|
32245
|
+
<!-- drawImage() has a similar paragraph with different rules -->
|
32246
|
+
|
31801
32247
|
<p>When the <code title=dom-context-2d-createPattern><a href=#dom-context-2d-createpattern>createPattern()</a></code> method
|
31802
32248
|
is passed an animated image as its <var title="">image</var>
|
31803
32249
|
argument, the user agent must use the poster frame of the animation,
|
@@ -33274,10 +33720,6 @@ v5DVT (also check for '- -' bits in the part above) --><p>The <dfn id=dom-contex
|
|
33274
33720
|
arguments is zero, the implementation must raise an
|
33275
33721
|
<code><a href=#index_size_err>INDEX_SIZE_ERR</a></code> exception.</p>
|
33276
33722
|
|
33277
|
-
<p>Pixels of the source rectangle that are not entirely within the
|
33278
|
-
source image must be treated as transparent black.</p> <!-- see
|
33279
|
-
CORE-32111 http://krijnhoetmer.nl/irc-logs/whatwg/20100818#l-737 -->
|
33280
|
-
|
33281
33723
|
<p>The destination rectangle is the rectangle whose corners are the
|
33282
33724
|
four points (<var title="">dx</var>, <var title="">dy</var>),
|
33283
33725
|
(<span title=""><var title="">dx</var>+<var title="">dw</var></span>, <var title="">dy</var>), (<span title=""><var title="">dx</var>+<var title="">dw</var></span>, <span title=""><var title="">dy</var>+<var title="">dh</var></span>), (<var title="">dx</var>, <span title=""><var title="">dy</var>+<var title="">dh</var></span>).</p>
|
@@ -33304,6 +33746,19 @@ v5DVT (also check for '- -' bits in the part above) --><p>The <dfn id=dom-contex
|
|
33304
33746
|
back onto the canvas, so it is possible to copy parts of a canvas
|
33305
33747
|
onto overlapping parts of itself.</p>
|
33306
33748
|
|
33749
|
+
<p>If the original image data is a bitmap image, the value painted
|
33750
|
+
at a point in the destination rectangle is computed by filtering the
|
33751
|
+
original image data. The user agent may use any filtering algorithm
|
33752
|
+
(for example bilinear interpolation or nearest-neighbor). When the
|
33753
|
+
filtering algorithm requires a pixel value from outside the original
|
33754
|
+
image data, it must instead use the value from the nearest edge
|
33755
|
+
pixel. (That is, the filter uses 'clamp-to-edge' behavior.)</p>
|
33756
|
+
<!-- see CORE-32111 and:
|
33757
|
+
http://krijnhoetmer.nl/irc-logs/whatwg/20100818#l-737
|
33758
|
+
http://www.w3.org/Bugs/Public/show_bug.cgi?id=10799#c11
|
33759
|
+
-->
|
33760
|
+
<!-- createPattern() has a similar paragraph with different rules -->
|
33761
|
+
|
33307
33762
|
<p>When the <code title=dom-context-2d-drawImage><a href=#dom-context-2d-drawimage>drawImage()</a></code> method
|
33308
33763
|
is passed an animated image as its <var title="">image</var>
|
33309
33764
|
argument, the user agent must use the poster frame of the animation,
|
@@ -34724,11 +35179,12 @@ function AddCloud(data, x, y) { ... }</pre>
|
|
34724
35179
|
|
34725
35180
|
</div>
|
34726
35181
|
|
34727
|
-
<p>Tables have rows and
|
34728
|
-
|
34729
|
-
|
34730
|
-
|
34731
|
-
are in the
|
35182
|
+
<p>Tables have rows, columns, and cells given by their descendants.
|
35183
|
+
The rows and columns form a grid; a table's cells must completely
|
35184
|
+
cover that grid without overlap. <span class="impl note">Precise
|
35185
|
+
rules for determining whether this conformance requirement is met
|
35186
|
+
are described in the description of the <a href=#table-model>table
|
35187
|
+
model</a>.</span></p>
|
34732
35188
|
|
34733
35189
|
<p id=table-descriptions>For tables that consist of more than just
|
34734
35190
|
a grid of cells with headers in the first row and headers in the
|
@@ -35876,7 +36332,7 @@ the cell that corresponds to the values of the two dice.
|
|
35876
36332
|
|
35877
36333
|
<p>The <dfn id=dom-th-scope title=dom-th-scope><code>scope</code></dfn> IDL
|
35878
36334
|
attribute must <a href=#reflect>reflect</a> the content attribute of the
|
35879
|
-
same name
|
36335
|
+
same name, <a href=#limited-to-only-known-values>limited to only known values</a>.</p>
|
35880
36336
|
|
35881
36337
|
</div>
|
35882
36338
|
|
@@ -46326,6 +46782,14 @@ out of 233 257 824 bytes available</meter></p></pre>
|
|
46326
46782
|
<ol><li><p>Let <var title="">target</var> be the element's
|
46327
46783
|
<code><a href=#document>Document</a></code>.</li>
|
46328
46784
|
|
46785
|
+
<li><p>Let <var title="">target</var> has no <a href=#browsing-context>browsing
|
46786
|
+
context</a>, abort these steps.</li>
|
46787
|
+
|
46788
|
+
<li><p>Let <var title="">target</var>'s <a href=#browsing-context>browsing
|
46789
|
+
context</a> has no <a href=#top-level-browsing-context>top-level browsing context</a> (e.g.
|
46790
|
+
it is a <a href=#nested-browsing-context>nested browsing context</a> with no <a href=#parent-browsing-context>parent
|
46791
|
+
browsing context</a>), abort these steps.</li>
|
46792
|
+
|
46329
46793
|
<li><p>If <var title="">target</var>'s <a href=#browsing-context>browsing
|
46330
46794
|
context</a> had the <a href=#sandboxed-automatic-features-browsing-context-flag>sandboxed automatic features browsing
|
46331
46795
|
context flag</a> set when <var title="">target</var> was
|
@@ -46489,11 +46953,11 @@ out of 233 257 824 bytes available</meter></p></pre>
|
|
46489
46953
|
element is a <a href=#concept-submit-button title=concept-submit-button>submit
|
46490
46954
|
button</a> and has such an attribute; or the value of its
|
46491
46955
|
<a href=#form-owner>form owner</a>'s <code title=attr-fs-target><a href=#attr-fs-target>target</a></code>
|
46492
|
-
attribute, if <em>it</em> has such an attribute; or, if
|
46493
|
-
|
46494
|
-
<code
|
46495
|
-
the <code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute
|
46496
|
-
first such <code><a href=#the-base-element>base</a></code> element; or, if there is no such
|
46956
|
+
attribute, if <em>it</em> has such an attribute; or, if the
|
46957
|
+
<code><a href=#document>Document</a></code> contains a <code><a href=#the-base-element>base</a></code> element with a
|
46958
|
+
<code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute, then the
|
46959
|
+
value of the <code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute
|
46960
|
+
of the first such <code><a href=#the-base-element>base</a></code> element; or, if there is no such
|
46497
46961
|
element, the empty string.</p> <!-- c.f. hyperlink following -->
|
46498
46962
|
|
46499
46963
|
<hr><p>The <dfn id=attr-fs-novalidate title=attr-fs-novalidate><code>novalidate</code></dfn>
|
@@ -47193,12 +47657,17 @@ fur
|
|
47193
47657
|
<var title="">scripted-submit</var> flag set, the user agent must
|
47194
47658
|
run the following steps:</p>
|
47195
47659
|
|
47196
|
-
<ol><li
|
47197
|
-
|
47198
|
-
|
47199
|
-
<a href=#
|
47200
|
-
<
|
47201
|
-
|
47660
|
+
<ol><li><p>Let <var title="">form document</var> be the <var title="">form</var>'s <code><a href=#document>Document</a></code>.</li>
|
47661
|
+
|
47662
|
+
<li id=sandboxSubmitBlocked><p>If <var title="">form
|
47663
|
+
document</var> has no associated <a href=#browsing-context>browsing context</a> or
|
47664
|
+
its <a href=#browsing-context>browsing context</a> had its <a href=#sandboxed-forms-browsing-context-flag>sandboxed forms
|
47665
|
+
browsing context flag</a> set when the <code><a href=#document>Document</a></code> was
|
47666
|
+
created, then abort these steps without doing anything.</li>
|
47667
|
+
|
47668
|
+
<li><p>Let <var title="">form browsing context</var> be the
|
47669
|
+
<a href=#browsing-context>browsing context</a> of <var title="">form
|
47670
|
+
document</var>.</li>
|
47202
47671
|
|
47203
47672
|
<li><p>If <var title="">form</var> is already being submitted
|
47204
47673
|
(i.e. the form was <a href=#concept-form-submit title=concept-form-submit>submitted</a> again while processing
|
@@ -47404,7 +47873,8 @@ fur
|
|
47404
47873
|
|
47405
47874
|
<li>
|
47406
47875
|
|
47407
|
-
<p>If <var title="">action</var> is the empty string, let <var title="">action</var> be <a href="#the-document's-address">the document's address</a
|
47876
|
+
<p>If <var title="">action</var> is the empty string, let <var title="">action</var> be <a href="#the-document's-address">the document's address</a> of
|
47877
|
+
the <var title="">form document</var>.</p>
|
47408
47878
|
|
47409
47879
|
<p class=note>This step is a <a href=#willful-violation>willful violation</a> of
|
47410
47880
|
RFC 3986, which would require base URL processing here. This
|
@@ -47435,6 +47905,19 @@ fur
|
|
47435
47905
|
|
47436
47906
|
<li><p>Let <var title="">target</var> be the <var title="">submitter</var> element's <a href=#concept-fs-target title=concept-fs-target>target</a>.</li>
|
47437
47907
|
|
47908
|
+
<li><p>If the user indicated a specific <a href=#browsing-context>browsing
|
47909
|
+
context</a> to use when submitting the form, then let <var title="">target browsing context</var> be that <a href=#browsing-context>browsing
|
47910
|
+
context</a>. Otherwise, apply <a href=#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name>the rules for choosing a
|
47911
|
+
browsing context given a browsing context name</a> using <var title="">target</var> as the name and <var title="">form browsing
|
47912
|
+
context</var> as the context in which the algorithm is executed,
|
47913
|
+
and let <var title="">target browsing context</var> be the
|
47914
|
+
resulting <a href=#browsing-context>browsing context</a>.</li>
|
47915
|
+
|
47916
|
+
<li><p>If <var title="">target browsing context</var> was created
|
47917
|
+
in the previous step, or if the <var title="">form document</var>
|
47918
|
+
has not yet <a href=#completely-loaded>completely loaded</a>, then let <var title="">replace</var> be true. Otherwise, let it be
|
47919
|
+
false.</li>
|
47920
|
+
|
47438
47921
|
<li>
|
47439
47922
|
|
47440
47923
|
<p>Select the appropriate row in the table below based on the
|
@@ -47489,13 +47972,11 @@ fur
|
|
47489
47972
|
replaced by <var title="">query</var> (adding a U+003F QUESTION
|
47490
47973
|
MARK character (?) if appropriate).</p>
|
47491
47974
|
|
47492
|
-
<p>
|
47493
|
-
|
47494
|
-
|
47495
|
-
|
47496
|
-
|
47497
|
-
this purpose by the steps above, then it must be navigated with
|
47498
|
-
<a href=#replacement-enabled>replacement enabled</a>.</p>
|
47975
|
+
<p><a href=#navigate>Navigate</a><!--DONAV form--> <var title="">target
|
47976
|
+
browsing context</var> to <var title="">destination</var>. If
|
47977
|
+
<var title="">replace</var> is true, then <var title="">target
|
47978
|
+
browsing context</var> must be navigated with <a href=#replacement-enabled>replacement
|
47979
|
+
enabled</a>.</p>
|
47499
47980
|
|
47500
47981
|
</dd>
|
47501
47982
|
|
@@ -47506,9 +47987,6 @@ fur
|
|
47506
47987
|
the <var title="">form data set</var> using the
|
47507
47988
|
<a href=#appropriate-form-encoding-algorithm>appropriate form encoding algorithm</a>.</p>
|
47508
47989
|
|
47509
|
-
<p>Let <var title="">target browsing context</var> be <a href=#the-form-submission-target-browsing-context>the
|
47510
|
-
form submission target browsing context</a>.</p>
|
47511
|
-
|
47512
47990
|
<p>Let <var title="">MIME type</var> be determined as
|
47513
47991
|
follows:</p>
|
47514
47992
|
|
@@ -47524,17 +48002,15 @@ fur
|
|
47524
48002
|
|
47525
48003
|
<dd>Let <var title="">MIME type</var> be "<code title="">text/plain</code>".</dd>
|
47526
48004
|
|
47527
|
-
</dl
|
47528
|
-
POST, and the <
|
47529
|
-
is not the <
|
47530
|
-
|
47531
|
-
|
47532
|
-
|
47533
|
-
|
47534
|
-
|
47535
|
-
|
47536
|
-
context</var> was newly created for this purpose by the steps
|
47537
|
-
above, then it must be navigated with <a href=#replacement-enabled>replacement
|
48005
|
+
</dl><!--<p>If <var title="">method</var> is anything but (GET or)
|
48006
|
+
POST, and the <span>origin</span> of <var title="">action</var>
|
48007
|
+
is not the <span>same origin</span> as that of <var
|
48008
|
+
title="">form document</var>, then abort these steps.</p> [or do
|
48009
|
+
CORS] (this is commented out since only POST can trigger this
|
48010
|
+
now, and that's historically unrestricted)--><p>Otherwise, <a href=#navigate>navigate</a><!--DONAV form--> <var title="">target browsing context</var> to <var title="">action</var> using the HTTP method given by <var title="">method</var> and with <var title="">entity body</var>
|
48011
|
+
as the entity body, of type <var title="">MIME type</var>. If
|
48012
|
+
<var title="">replace</var> is true, then <var title="">target
|
48013
|
+
browsing context</var> must be navigated with <a href=#replacement-enabled>replacement
|
47538
48014
|
enabled</a>.</p>
|
47539
48015
|
|
47540
48016
|
</dd>
|
@@ -47542,13 +48018,10 @@ fur
|
|
47542
48018
|
<dt><dfn id=submit-get-action title=submit-get-action>Get action</dfn>
|
47543
48019
|
<dd>
|
47544
48020
|
|
47545
|
-
<p>
|
47546
|
-
|
47547
|
-
|
47548
|
-
|
47549
|
-
context</var> to <var title="">action</var>. If <var title="">target browsing context</var> was newly created for
|
47550
|
-
this purpose by the steps above, then it must be navigated with
|
47551
|
-
<a href=#replacement-enabled>replacement enabled</a>.</p>
|
48021
|
+
<p><a href=#navigate>Navigate</a><!--DONAV form--> <var title="">target
|
48022
|
+
browsing context</var> to <var title="">action</var>. If <var title="">replace</var> is true, then <var title="">target
|
48023
|
+
browsing context</var> must be navigated with <a href=#replacement-enabled>replacement
|
48024
|
+
enabled</a>.</p>
|
47552
48025
|
|
47553
48026
|
</dd>
|
47554
48027
|
|
@@ -47575,13 +48048,10 @@ fur
|
|
47575
48048
|
string, replace the first occurrence of "<code title="">%%</code>" in <var title="">action</var> with the
|
47576
48049
|
resulting escaped string. <a href=#refsRFC3986>[RFC3986]</a></p>
|
47577
48050
|
|
47578
|
-
<p>
|
47579
|
-
|
47580
|
-
|
47581
|
-
|
47582
|
-
context</var> to the potentially modified <var title="">action</var>. If <var title="">target browsing
|
47583
|
-
context</var> was newly created for this purpose by the steps
|
47584
|
-
above, then it must be navigated with <a href=#replacement-enabled>replacement
|
48051
|
+
<p><a href=#navigate>Navigate</a><!--DONAV form--> <var title="">target
|
48052
|
+
browsing context</var> to the potentially modified <var title="">action</var> (which will be a <a href=#data-protocol title="data
|
48053
|
+
protocol"><code title="">data:</code> URL</a>). If <var title="">replace</var> is true, then <var title="">target
|
48054
|
+
browsing context</var> must be navigated with <a href=#replacement-enabled>replacement
|
47585
48055
|
enabled</a>.</p>
|
47586
48056
|
|
47587
48057
|
</dd>
|
@@ -47605,13 +48075,11 @@ fur
|
|
47605
48075
|
|
47606
48076
|
<p>Append <var title="">headers</var> to <var title="">destination</var>.</p>
|
47607
48077
|
|
47608
|
-
<p>
|
47609
|
-
|
47610
|
-
|
47611
|
-
|
47612
|
-
|
47613
|
-
this purpose by the steps above, then it must be navigated with
|
47614
|
-
<a href=#replacement-enabled>replacement enabled</a>.</p>
|
48078
|
+
<p><a href=#navigate>Navigate</a><!--DONAV form--> <var title="">target
|
48079
|
+
browsing context</var> to <var title="">destination</var>. If
|
48080
|
+
<var title="">replace</var> is true, then <var title="">target
|
48081
|
+
browsing context</var> must be navigated with <a href=#replacement-enabled>replacement
|
48082
|
+
enabled</a>.</p>
|
47615
48083
|
|
47616
48084
|
</dd>
|
47617
48085
|
|
@@ -47638,28 +48106,15 @@ fur
|
|
47638
48106
|
<p>Append <var title="">body</var>, interpreted as a US-ASCII
|
47639
48107
|
string, to <var title="">destination</var>.</p>
|
47640
48108
|
|
47641
|
-
<p>
|
47642
|
-
|
47643
|
-
|
47644
|
-
|
47645
|
-
|
47646
|
-
this purpose by the steps above, then it must be navigated with
|
47647
|
-
<a href=#replacement-enabled>replacement enabled</a>.</p>
|
48109
|
+
<p><a href=#navigate>Navigate</a><!--DONAV form--> <var title="">target
|
48110
|
+
browsing context</var> to <var title="">destination</var>. If
|
48111
|
+
<var title="">replace</var> is true, then <var title="">target
|
48112
|
+
browsing context</var> must be navigated with <a href=#replacement-enabled>replacement
|
48113
|
+
enabled</a>.</p>
|
47648
48114
|
|
47649
48115
|
</dd>
|
47650
48116
|
|
47651
|
-
</dl><p
|
47652
|
-
obtained, when needed by the behaviors described above, as
|
47653
|
-
follows: If the user indicated a specific <a href=#browsing-context>browsing
|
47654
|
-
context</a> to use when submitting the form, then that is the
|
47655
|
-
target browsing context. Otherwise, apply <a href=#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name>the rules for
|
47656
|
-
choosing a browsing context given a browsing context name</a>
|
47657
|
-
using <var title="">target</var> as the name and the
|
47658
|
-
<a href=#browsing-context>browsing context</a> of <var title="">form</var> as the
|
47659
|
-
context in which the algorithm is executed; the resulting
|
47660
|
-
<a href=#browsing-context>browsing context</a> is the target browsing context.</p>
|
47661
|
-
|
47662
|
-
<p>The <dfn id=appropriate-form-encoding-algorithm>appropriate form encoding algorithm</dfn> is
|
48117
|
+
</dl><p>The <dfn id=appropriate-form-encoding-algorithm>appropriate form encoding algorithm</dfn> is
|
47663
48118
|
determined as follows:</p>
|
47664
48119
|
|
47665
48120
|
<dl><dt>If <var title="">enctype</var> is <code title=attr-fs-enctype-urlencoded><a href=#attr-fs-enctype-urlencoded>application/x-www-form-urlencoded</a></code></dt>
|
@@ -49685,16 +50140,17 @@ local.onconnect = function (event) {
|
|
49685
50140
|
the user agent must <a href=#resolve-a-url title="resolve a url">resolve</a> the
|
49686
50141
|
<a href=#url>URL</a> given by the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute of that element,
|
49687
50142
|
relative to that element, and if that is successful, must
|
49688
|
-
<a href=#navigate>navigate</a
|
49689
|
-
resulting <a href=#absolute-url>absolute URL</a>. In the
|
49690
|
-
image maps, that <a href=#absolute-url>absolute URL</a> must
|
49691
|
-
<var><a href=#hyperlink-suffix>hyperlink suffix</a></var> appended to it before the
|
49692
|
-
started.</p>
|
50143
|
+
<a href=#navigate>navigate</a><!--DONAV hyperlink--> a <a href=#browsing-context>browsing
|
50144
|
+
context</a> to the resulting <a href=#absolute-url>absolute URL</a>. In the
|
50145
|
+
case of server-side image maps, that <a href=#absolute-url>absolute URL</a> must
|
50146
|
+
have its <var><a href=#hyperlink-suffix>hyperlink suffix</a></var> appended to it before the
|
50147
|
+
navigation is started.</p>
|
49693
50148
|
|
49694
50149
|
<p>If <a href=#resolve-a-url title="resolve a url">resolving</a> the
|
49695
50150
|
<a href=#url>URL</a> fails, the user agent may report the error to the
|
49696
|
-
user in a user-agent-specific manner, may
|
49697
|
-
|
50151
|
+
user in a user-agent-specific manner, may
|
50152
|
+
<a href=#navigate>navigate</a><!--DONAV hyperlink--> to an error page to
|
50153
|
+
report the error, or may ignore the error and do nothing.</p>
|
49698
50154
|
|
49699
50155
|
<p>If the user indicated a specific <a href=#browsing-context>browsing context</a>
|
49700
50156
|
when following the hyperlink, or if the user agent is configured to
|
@@ -49717,15 +50173,16 @@ local.onconnect = function (event) {
|
|
49717
50173
|
as the browsing context to be navigated.</p>
|
49718
50174
|
|
49719
50175
|
<p>Otherwise, if the element is an <code><a href=#the-a-element>a</a></code> or
|
49720
|
-
<code><a href=#the-area-element>area</a></code> element with no <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute, but
|
49721
|
-
|
49722
|
-
<code
|
49723
|
-
context that is navigated must be chosen by applying
|
49724
|
-
for choosing a browsing context given a browsing
|
49725
|
-
name</a>, using the value of the <code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute of the first such
|
50176
|
+
<code><a href=#the-area-element>area</a></code> element with no <code title=attr-hyperlink-target><a href=#attr-hyperlink-target>target</a></code> attribute, but the
|
50177
|
+
<code><a href=#document>Document</a></code> contains a <code><a href=#the-base-element>base</a></code> element with a
|
50178
|
+
<code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute, then the
|
50179
|
+
browsing context that is navigated must be chosen by applying
|
50180
|
+
<a href=#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name>the rules for choosing a browsing context given a browsing
|
50181
|
+
context name</a>, using the value of the <code title=attr-base-target><a href=#attr-base-target>target</a></code> attribute of the first such
|
49726
50182
|
<code><a href=#the-base-element>base</a></code> element as the browsing context name. If these
|
49727
50183
|
rules result in the creation of a new <a href=#browsing-context>browsing context</a>,
|
49728
50184
|
it must be navigated with <a href=#replacement-enabled>replacement enabled</a>.</p>
|
50185
|
+
<!-- c.f. concept-fs-target -->
|
49729
50186
|
|
49730
50187
|
<p>Otherwise, the browsing context that must be navigated is the
|
49731
50188
|
same browsing context as the one which the element itself is in.</p>
|
@@ -55866,7 +56323,7 @@ END:VCARD</pre>
|
|
55866
56323
|
<dt>Title</dt>
|
55867
56324
|
<dd><cite itemprop="http://purl.org/dc/terms/title">Just a Geek</cite></dd>
|
55868
56325
|
<dt>By</dt>
|
55869
|
-
<dd><span itemprop="http://purl.org/dc/
|
56326
|
+
<dd><span itemprop="http://purl.org/dc/elements/1.1/creator">Wil Wheaton</span></dd>
|
55870
56327
|
<dt>Format</dt>
|
55871
56328
|
<dd itemprop="http://purl.org/vocab/frbr/core#realization"
|
55872
56329
|
itemscope
|
@@ -55886,20 +56343,21 @@ END:VCARD</pre>
|
|
55886
56343
|
|
55887
56344
|
<p>This is equivalent to the following Turtle:</p>
|
55888
56345
|
|
55889
|
-
<pre class=turtle>@prefix
|
56346
|
+
<pre class=turtle>@prefix dct: <http://purl.org/dc/terms/> .
|
56347
|
+
@prefix dce: <http://purl.org/dc/elements/1.1/> .
|
55890
56348
|
@prefix frbr: <http://purl.org/vocab/frbr/core#> .
|
55891
56349
|
|
55892
56350
|
<http://purl.oreilly.com/works/45U8QJGZSQKDH8N> a frbr:Work ;
|
55893
|
-
|
55894
|
-
|
56351
|
+
dce:creator "Wil Wheaton"@en ;
|
56352
|
+
dct:title "Just a Geek"@en ;
|
55895
56353
|
frbr:realization <http://purl.oreilly.com/products/9780596007683.BOOK>,
|
55896
56354
|
<http://purl.oreilly.com/products/9780596802189.EBOOK> .
|
55897
56355
|
|
55898
56356
|
<http://purl.oreilly.com/products/9780596007683.BOOK> a frbr:Expression ;
|
55899
|
-
|
56357
|
+
dct:type <http://purl.oreilly.com/product-types/BOOK> .
|
55900
56358
|
|
55901
56359
|
<http://purl.oreilly.com/products/9780596802189.EBOOK> a frbr:Expression ;
|
55902
|
-
|
56360
|
+
dct:type <http://purl.oreilly.com/product-types/EBOOK> .</pre>
|
55903
56361
|
|
55904
56362
|
</div>
|
55905
56363
|
|
@@ -56612,36 +57070,43 @@ _:n2 hcard:adr%20street-address "Avenue Q" ;
|
|
56612
57070
|
<p>Certain elements (for example, <code><a href=#the-iframe-element>iframe</a></code> elements) can
|
56613
57071
|
instantiate further <a href=#browsing-context title="browsing context">browsing
|
56614
57072
|
contexts</a>. These are called <dfn id=nested-browsing-context title="nested browsing
|
56615
|
-
context">nested browsing contexts</dfn>. If a browsing context <var title="">P</var> has
|
56616
|
-
|
56617
|
-
|
56618
|
-
|
56619
|
-
|
56620
|
-
<dfn id=browsing-context-container>browsing context container</dfn> of <var title="">C</var
|
56621
|
-
|
56622
|
-
|
56623
|
-
|
56624
|
-
|
56625
|
-
browsing context</
|
56626
|
-
|
56627
|
-
context
|
56628
|
-
|
56629
|
-
browsing context</
|
56630
|
-
|
56631
|
-
<
|
56632
|
-
|
56633
|
-
|
56634
|
-
|
56635
|
-
|
57073
|
+
context">nested browsing contexts</dfn>. If a browsing context <var title="">P</var> has a <code><a href=#document>Document</a></code>s <var title="">D</var>
|
57074
|
+
with an element <var title="">E</var> that nests another browsing
|
57075
|
+
context <var title="">C</var> inside it, then <var title="">C</var>
|
57076
|
+
is said to be <dfn id=browsing-context-nested-through title="browsing context nested through">nested
|
57077
|
+
through</dfn> <var title="">D</var>, and <var title="">E</var> is
|
57078
|
+
said to be the <dfn id=browsing-context-container>browsing context container</dfn> of <var title="">C</var>. If the <a href=#browsing-context-container>browsing context container</a>
|
57079
|
+
element <var title="">E</var> is <a href=#in-a-document title="in a
|
57080
|
+
Document">in</a> the <code><a href=#document>Document</a></code> <var title="">D</var>,
|
57081
|
+
then <var title="">P</var> is said to be the <dfn id=parent-browsing-context>parent browsing
|
57082
|
+
context</dfn> of <var title="">C</var> and <var title="">C</var> is
|
57083
|
+
said to be a <dfn id=child-browsing-context>child browsing context</dfn> of <var title="">P</var>. Otherwise, the <a href=#nested-browsing-context>nested browsing
|
57084
|
+
context</a> <var title="">C</var> has no <a href=#parent-browsing-context>parent browsing
|
57085
|
+
context</a>.</p>
|
57086
|
+
|
57087
|
+
<p>A browsing context <var title="">A</var> is said to be an <dfn id=ancestor-browsing-context title="ancestor browsing context">ancestor</dfn> of a browsing
|
57088
|
+
context <var title="">B</var> if there exists a browsing context
|
57089
|
+
<var title="">A'</var> that is a <a href=#child-browsing-context>child browsing context</a>
|
57090
|
+
of <var title="">A</var> and that is itself an <a href=#ancestor-browsing-context title="ancestor
|
57091
|
+
browsing context">ancestor</a> of <var title="">B</var>, or if
|
57092
|
+
there is a browsing context <var title="">P</var> that is a
|
57093
|
+
<a href=#child-browsing-context>child browsing context</a> of <var title="">A</var> and
|
57094
|
+
that is the <a href=#parent-browsing-context>parent browsing context</a> of <var title="">B</var>.</p>
|
57095
|
+
|
57096
|
+
<p>A browsing context that is not a <a href=#nested-browsing-context>nested browsing
|
57097
|
+
context</a> has no <a href=#parent-browsing-context>parent browsing context</a>, and is
|
57098
|
+
the <dfn id=top-level-browsing-context>top-level browsing context</dfn> of all the browsing
|
57099
|
+
contexts for which it is an <a href=#ancestor-browsing-context>ancestor browsing
|
57100
|
+
context</a>.</p>
|
56636
57101
|
|
56637
57102
|
<p>The transitive closure of <a href=#parent-browsing-context title="parent browsing
|
56638
57103
|
context">parent browsing contexts</a> for a <a href=#nested-browsing-context>nested browsing
|
56639
|
-
context</a> gives the list of <
|
56640
|
-
context">ancestor browsing contexts</
|
57104
|
+
context</a> gives the list of <a href=#ancestor-browsing-context title="ancestor browsing
|
57105
|
+
context">ancestor browsing contexts</a>.</p>
|
56641
57106
|
|
56642
57107
|
<p>The <dfn id=list-of-the-descendant-browsing-contexts>list of the descendant browsing contexts</dfn> of a
|
56643
|
-
<code><a href=#document>Document</a></code> <var title="">d</var> is the list
|
56644
|
-
the following algorithm:</p>
|
57108
|
+
<code><a href=#document>Document</a></code> <var title="">d</var> is the (ordered) list
|
57109
|
+
returned by the following algorithm:</p>
|
56645
57110
|
|
56646
57111
|
<ol><li><p>Let <var title="">list</var> be an empty list.</li>
|
56647
57112
|
|
@@ -56656,12 +57121,13 @@ _:n2 hcard:adr%20street-address "Avenue Q" ;
|
|
56656
57121
|
|
56657
57122
|
<li><p>Return the constructed <var title="">list</var>.</li>
|
56658
57123
|
|
56659
|
-
</ol><
|
57124
|
+
</ol><p>A <code><a href=#document>Document</a></code> is said to be <dfn id=fully-active>fully active</dfn>
|
56660
57125
|
when it is the <a href=#active-document>active document</a> of its <a href=#browsing-context>browsing
|
56661
57126
|
context</a>, and either its browsing context is a <a href=#top-level-browsing-context>top-level
|
56662
|
-
browsing context</a>, or
|
56663
|
-
|
56664
|
-
context">nested</a> is itself <a href=#fully-active>fully
|
57127
|
+
browsing context</a>, or it has a <a href=#parent-browsing-context>parent browsing
|
57128
|
+
context</a> and the <code><a href=#document>Document</a></code> <a href=#browsing-context-nested-through title="browsing
|
57129
|
+
context nested through">through which</a> it is <a href=#nested-browsing-context title="nested browsing context">nested</a> is itself <a href=#fully-active>fully
|
57130
|
+
active</a>.</p>
|
56665
57131
|
|
56666
57132
|
<p>Because they are nested through an element, <a href=#child-browsing-context title="child
|
56667
57133
|
browsing context">child browsing contexts</a> are always tied to
|
@@ -56675,6 +57141,22 @@ _:n2 hcard:adr%20street-address "Avenue Q" ;
|
|
56675
57141
|
browsing context flag</a> set, if it is embedded through an
|
56676
57142
|
<code><a href=#the-iframe-element>iframe</a></code> element with a <code title=attr-iframe-seamless><a href=#attr-iframe-seamless>seamless</a></code> attribute.</p>
|
56677
57143
|
|
57144
|
+
<p class=note>A <a href=#nested-browsing-context>nested browsing context</a> can in some
|
57145
|
+
cases be taken out of its <a href=#parent-browsing-context>parent browsing context</a> (e.g.
|
57146
|
+
if an <code><a href=#the-iframe-element>iframe</a></code> element is removed from its
|
57147
|
+
<code><a href=#document>Document</a></code>). In such a situation, the <a href=#nested-browsing-context>nested
|
57148
|
+
browsing context</a> has no <a href=#parent-browsing-context>parent browsing context</a>,
|
57149
|
+
but it still has the same <a href=#browsing-context-container>browsing context container</a>
|
57150
|
+
and is still <a href=#browsing-context-nested-through title="browsing context nested through">nested
|
57151
|
+
through</a> that element's <code><a href=#document>Document</a></code>. Such a
|
57152
|
+
<a href=#nested-browsing-context>nested browsing context</a> is <em>not</em> a
|
57153
|
+
<a href=#top-level-browsing-context>top-level browsing context</a>, and cannot contain
|
57154
|
+
<code><a href=#document>Document</a></code>s that are <a href=#fully-active>fully active</a>.
|
57155
|
+
Furthermore, if a <a href=#browsing-context-container>browsing context container</a> (such as
|
57156
|
+
an <code><a href=#the-iframe-element>iframe</a></code>) is moved to another <code><a href=#document>Document</a></code>,
|
57157
|
+
then the <a href=#parent-browsing-context>parent browsing context</a> of its <a href=#nested-browsing-context>nested
|
57158
|
+
browsing context</a> will change.</p>
|
57159
|
+
|
56678
57160
|
|
56679
57161
|
<h5 id=navigating-nested-browsing-contexts-in-the-dom><span class=secno>6.1.1.1 </span>Navigating nested browsing contexts in the DOM</h5>
|
56680
57162
|
|
@@ -56713,8 +57195,10 @@ _:n2 hcard:adr%20street-address "Avenue Q" ;
|
|
56713
57195
|
<a href=#browsing-context>browsing context</a> <var title="">b</var> must return the
|
56714
57196
|
<code><a href=#windowproxy>WindowProxy</a></code> object of its <a href=#top-level-browsing-context>top-level browsing
|
56715
57197
|
context</a> (which would be its own <code><a href=#windowproxy>WindowProxy</a></code>
|
56716
|
-
object if it was a <a href=#top-level-browsing-context>top-level browsing context</a>
|
56717
|
-
|
57198
|
+
object if it was a <a href=#top-level-browsing-context>top-level browsing context</a> itself),
|
57199
|
+
if it has one, or its own <code><a href=#windowproxy>WindowProxy</a></code> object otherwise
|
57200
|
+
(e.g. if it was a detached <a href=#nested-browsing-context>nested browsing
|
57201
|
+
context</a>).</p>
|
56718
57202
|
|
56719
57203
|
<p>The <dfn id=dom-parent title=dom-parent><code>parent</code></dfn> IDL
|
56720
57204
|
attribute on the <code><a href=#window>Window</a></code> object of a
|
@@ -56723,7 +57207,8 @@ _:n2 hcard:adr%20street-address "Avenue Q" ;
|
|
56723
57207
|
<var title="">b</var> is a <a href=#child-browsing-context>child browsing context</a>), or
|
56724
57208
|
the <code><a href=#windowproxy>WindowProxy</a></code> object of the <a href=#browsing-context>browsing
|
56725
57209
|
context</a> <var title="">b</var> itself, otherwise (i.e. if it
|
56726
|
-
is a <a href=#top-level-browsing-context>top-level browsing context</a>
|
57210
|
+
is a <a href=#top-level-browsing-context>top-level browsing context</a> or a detached
|
57211
|
+
<a href=#nested-browsing-context>nested browsing context</a>).</p>
|
56727
57212
|
|
56728
57213
|
<p>The <dfn id=dom-frameelement title=dom-frameElement><code>frameElement</code></dfn>
|
56729
57214
|
IDL attribute on the <code><a href=#window>Window</a></code> object of a
|
@@ -56731,11 +57216,11 @@ _:n2 hcard:adr%20street-address "Avenue Q" ;
|
|
56731
57216
|
the following algorithm:</p>
|
56732
57217
|
|
56733
57218
|
<ol><li><p>If <var title="">d</var> is not a <code><a href=#document>Document</a></code> in a
|
56734
|
-
<a href=#
|
57219
|
+
<a href=#nested-browsing-context>nested browsing context</a>, return null and abort these
|
56735
57220
|
steps.</li>
|
56736
57221
|
|
56737
|
-
<li><p>If the <a href=#
|
56738
|
-
document</a> does not have the <a href=#same-origin title="same
|
57222
|
+
<li><p>If the <a href=#browsing-context-container>browsing context container</a>'s
|
57223
|
+
<code><a href=#document>Document</a></code> does not have the <a href=#same-origin title="same
|
56739
57224
|
origin">same</a> <a href=#effective-script-origin>effective script origin</a> as the
|
56740
57225
|
<a href=#entry-script>entry script</a>, then throw a <code><a href=#security_err>SECURITY_ERR</a></code>
|
56741
57226
|
exception.</li>
|
@@ -56757,11 +57242,8 @@ _:n2 hcard:adr%20street-address "Avenue Q" ;
|
|
56757
57242
|
|
56758
57243
|
<p>An <a href=#auxiliary-browsing-context>auxiliary browsing context</a> has an <dfn id=opener-browsing-context>opener
|
56759
57244
|
browsing context</dfn>, which is the <a href=#browsing-context>browsing context</a>
|
56760
|
-
from which the <a href=#auxiliary-browsing-context>auxiliary browsing context</a> was
|
56761
|
-
|
56762
|
-
the <a href=#top-level-browsing-context>top-level browsing context</a> of the <a href=#opener-browsing-context>opener
|
56763
|
-
browsing context</a> when the <a href=#auxiliary-browsing-context>auxiliary browsing
|
56764
|
-
context</a> was created.</p>
|
57245
|
+
from which the <a href=#auxiliary-browsing-context>auxiliary browsing context</a> was
|
57246
|
+
created.</p>
|
56765
57247
|
|
56766
57248
|
|
56767
57249
|
<h5 id=navigating-auxiliary-browsing-contexts-in-the-dom><span class=secno>6.1.2.1 </span>Navigating auxiliary browsing contexts in the DOM</h5>
|
@@ -56797,8 +57279,9 @@ _:n2 hcard:adr%20street-address "Avenue Q" ;
|
|
56797
57279
|
document</a> of <var title="">B</var>, or</li>
|
56798
57280
|
|
56799
57281
|
<li>The browsing context <var title="">A</var> is a <a href=#nested-browsing-context>nested
|
56800
|
-
browsing context</a>
|
56801
|
-
context</a
|
57282
|
+
browsing context</a> with a <a href=#top-level-browsing-context>top-level browsing
|
57283
|
+
context</a>, and its <a href=#top-level-browsing-context>top-level browsing context</a> is
|
57284
|
+
<var title="">B</var>, or</li>
|
56802
57285
|
|
56803
57286
|
<li>The browsing context <var title="">B</var> is an
|
56804
57287
|
<a href=#auxiliary-browsing-context>auxiliary browsing context</a> and <var title="">A</var>
|
@@ -56856,8 +57339,9 @@ _:n2 hcard:adr%20street-address "Avenue Q" ;
|
|
56856
57339
|
|
56857
57340
|
<p>Each <a href=#unit-of-related-browsing-contexts>unit of related browsing contexts</a> is then
|
56858
57341
|
further divided into the smallest number of groups such that every
|
56859
|
-
member of each group has an <a href=#
|
56860
|
-
|
57342
|
+
member of each group has an <a href=#active-document>active document</a> with an
|
57343
|
+
<a href=#effective-script-origin>effective script origin</a> that, through appropriate
|
57344
|
+
manipulation of the <code title=dom-document-domain><a href=#dom-document-domain>document.domain</a></code> attribute, could
|
56861
57345
|
be made to be the same as other members of the group, but could not
|
56862
57346
|
be made the same as members of any other group. Each such group is a
|
56863
57347
|
<dfn id=unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</dfn>.</p>
|
@@ -56910,8 +57394,8 @@ _:n2 hcard:adr%20street-address "Avenue Q" ;
|
|
56910
57394
|
context must be the current browsing context.</li>
|
56911
57395
|
|
56912
57396
|
<li><p>If the given browsing context name is <code title="">_top</code>, then the chosen browsing context must be the
|
56913
|
-
|
56914
|
-
one.</li>
|
57397
|
+
<a href=#top-level-browsing-context>top-level browsing context</a> of the current one, if
|
57398
|
+
there is one, or else the current browsing context.</li>
|
56915
57399
|
|
56916
57400
|
<li>
|
56917
57401
|
|
@@ -56978,9 +57462,8 @@ _:n2 hcard:adr%20street-address "Avenue Q" ;
|
|
56978
57462
|
no name). The chosen browsing context must be this new browsing
|
56979
57463
|
context.</p>
|
56980
57464
|
|
56981
|
-
<p>If it is immediately <a href=#navigate title=navigate>navigated</a>,
|
56982
|
-
|
56983
|
-
enabled</a>.</dd>
|
57465
|
+
<p class=note>If it is immediately <a href=#navigate title=navigate>navigated</a>, then the navigation will be
|
57466
|
+
done with <a href=#replacement-enabled>replacement enabled</a>.</dd>
|
56984
57467
|
|
56985
57468
|
|
56986
57469
|
<dt>If the user agent has been configured such that in this
|
@@ -57333,15 +57816,14 @@ interface <dfn id=window>Window</dfn> {
|
|
57333
57816
|
agent could override the selection of the target browsing context to
|
57334
57817
|
instead target a new tab.</p>
|
57335
57818
|
|
57336
|
-
<p>Then, the user agent must <a href=#navigate>navigate</a
|
57337
|
-
<a href=#browsing-context>browsing context</a> to the
|
57338
|
-
error) obtained from <a href=#resolve-a-url title="resolve a url">resolving</a>
|
57339
|
-
|
57340
|
-
|
57341
|
-
|
57342
|
-
<a href=#
|
57343
|
-
<a href
|
57344
|
-
context name</a>. The navigation must be done with the <a href="#script's-browsing-context" title="script's browsing context">browsing context</a> of the
|
57819
|
+
<p>Then, the user agent must <a href=#navigate>navigate</a><!--DONAV
|
57820
|
+
window.open()--> the selected <a href=#browsing-context>browsing context</a> to the
|
57821
|
+
<a href=#absolute-url>absolute URL</a> (or error) obtained from <a href=#resolve-a-url title="resolve a url">resolving</a> <var title="">url</var>
|
57822
|
+
earlier. If the <var title="">replace</var> is true or if the
|
57823
|
+
<a href=#browsing-context>browsing context</a> was just created as part of <a href=#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name>the
|
57824
|
+
rules for choosing a browsing context given a browsing context
|
57825
|
+
name</a>, then <a href=#replacement-enabled title="replacement enabled">replacement must
|
57826
|
+
be enabled</a>. The navigation must be done with the <a href="#script's-browsing-context" title="script's browsing context">browsing context</a> of the
|
57345
57827
|
<a href=#entry-script>entry script</a> as the <a href=#source-browsing-context>source browsing
|
57346
57828
|
context</a>.</p>
|
57347
57829
|
|
@@ -57847,6 +58329,7 @@ x === this; // true</pre>
|
|
57847
58329
|
|
57848
58330
|
</dd>
|
57849
58331
|
|
58332
|
+
|
57850
58333
|
<dt>For scripts</dt>
|
57851
58334
|
|
57852
58335
|
<dd>
|
@@ -57924,6 +58407,7 @@ x === this; // true</pre>
|
|
57924
58407
|
|
57925
58408
|
</dd>
|
57926
58409
|
|
58410
|
+
|
57927
58411
|
<dt>For <code><a href=#document>Document</a></code> objects and images</dt>
|
57928
58412
|
|
57929
58413
|
<dd>
|
@@ -57940,13 +58424,6 @@ x === this; // true</pre>
|
|
57940
58424
|
assigned when the <code><a href=#document>Document</a></code> is created.</dd>
|
57941
58425
|
|
57942
58426
|
|
57943
|
-
<dt>If a <code><a href=#document>Document</a></code> or image was returned by the
|
57944
|
-
<code>XMLHttpRequest</code> API</dt>
|
57945
|
-
|
57946
|
-
<dd>The <a href=#origin>origin</a> is equal to the <span>XMLHttpRequest
|
57947
|
-
origin</span> of the <code>XMLHttpRequest</code> object. <a href=#refsXHR>[XHR]</a></dd>
|
57948
|
-
|
57949
|
-
|
57950
58427
|
<dt>If a <code><a href=#document>Document</a></code> or image was generated from a
|
57951
58428
|
<a href=#javascript-protocol title="javascript protocol"><code>javascript:</code>
|
57952
58429
|
URL</a></dt>
|
@@ -57967,17 +58444,20 @@ x === this; // true</pre>
|
|
57967
58444
|
|
57968
58445
|
|
57969
58446
|
<dt>If a <code><a href=#document>Document</a></code> or image was generated from a
|
57970
|
-
<code title="">data:</code>
|
57971
|
-
|
57972
|
-
|
58447
|
+
<a href=#data-protocol title="data protocol"><code title="">data:</code>
|
58448
|
+
URL</a> that was returned as the location of an HTTP redirect
|
58449
|
+
(<a href=#concept-http-equivalent-codes title=concept-http-equivalent-codes>or equivalent</a>
|
58450
|
+
in other protocols)</dt>
|
57973
58451
|
|
57974
58452
|
<dd>The <a href=#origin>origin</a> is the <a href=#origin>origin</a> of the
|
57975
|
-
<a href=#url>URL</a> that redirected to the <
|
58453
|
+
<a href=#url>URL</a> that redirected to the <a href=#data-protocol title="data
|
58454
|
+
protocol"><code title="">data:</code> URL</a>.</dd>
|
57976
58455
|
|
57977
58456
|
|
57978
58457
|
<dt>If a <code><a href=#document>Document</a></code> or image was generated from a
|
57979
|
-
<code title="">data:</code>
|
57980
|
-
<code><a href=#document>Document</a></code> or in a
|
58458
|
+
<a href=#data-protocol title="data protocol"><code title="">data:</code>
|
58459
|
+
URL</a> found in another <code><a href=#document>Document</a></code> or in a
|
58460
|
+
script</dt>
|
57981
58461
|
|
57982
58462
|
<dd>The <a href=#origin>origin</a> is the <a href=#origin>origin</a> of the
|
57983
58463
|
<code><a href=#document>Document</a></code> or script that initiated the <a href=#navigate title=navigate>navigation</a> to that <a href=#url>URL</a>.</dd>
|
@@ -58000,8 +58480,8 @@ x === this; // true</pre>
|
|
58000
58480
|
|
58001
58481
|
|
58002
58482
|
<dt>If a <code><a href=#document>Document</a></code> or image was obtained in some
|
58003
|
-
other manner (e.g. a <code title="">data:</code> URL typed in by
|
58004
|
-
|
58483
|
+
other manner (e.g. a <a href=#data-protocol title="data protocol"><code title="">data:</code> URL</a> typed in by the user, a
|
58484
|
+
<code><a href=#document>Document</a></code> created using the <code title=dom-DOMImplementation-createDocument><a href=#dom-domimplementation-createdocument>createDocument()</a></code>
|
58005
58485
|
API, etc)</dt>
|
58006
58486
|
|
58007
58487
|
<dd>The <a href=#origin>origin</a> is a globally unique identifier
|
@@ -58014,6 +58494,7 @@ x === this; // true</pre>
|
|
58014
58494
|
|
58015
58495
|
</dd>
|
58016
58496
|
|
58497
|
+
|
58017
58498
|
<dt>For <code><a href=#audio>audio</a></code> and <code><a href=#video>video</a></code> elements</dt>
|
58018
58499
|
|
58019
58500
|
<dd>
|
@@ -58029,7 +58510,20 @@ x === this; // true</pre>
|
|
58029
58510
|
|
58030
58511
|
</dd>
|
58031
58512
|
|
58032
|
-
</dl><p>
|
58513
|
+
</dl><p>Other specifications can override the above definitions by
|
58514
|
+
themselves specifying the origin of a particular URL, script,
|
58515
|
+
<code><a href=#document>Document</a></code>, or image.</p>
|
58516
|
+
|
58517
|
+
<!-- e.g.:
|
58518
|
+
|
58519
|
+
<p>The <span>origin</span> of a <code>Document</code> object
|
58520
|
+
returned by the <code>XMLHttpRequest</code> API is equal to the
|
58521
|
+
<span>XMLHttpRequest origin</span> of the
|
58522
|
+
<code>XMLHttpRequest</code> object.</p>
|
58523
|
+
|
58524
|
+
-->
|
58525
|
+
|
58526
|
+
<hr><p>The <dfn id=unicode-serialization-of-an-origin>Unicode serialization of an origin</dfn> is the string
|
58033
58527
|
obtained by applying the following algorithm to the given
|
58034
58528
|
<a href=#origin>origin</a>:</p>
|
58035
58529
|
|
@@ -58530,7 +59024,7 @@ x === this; // true</pre>
|
|
58530
59024
|
<a href=#refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be unloaded</a>, then
|
58531
59025
|
abort these steps.</li>
|
58532
59026
|
|
58533
|
-
<li><p><a href=#unload-a-document title="unload a document">Unload</a> the
|
59027
|
+
<li><p><a href=#unload-a-document title="unload a document">Unload</a> the
|
58534
59028
|
<a href=#active-document>active document</a> of the <var title="">specified
|
58535
59029
|
browsing context</var> with the <var title="">recycle</var>
|
58536
59030
|
parameter set to false.</li>
|
@@ -58647,6 +59141,21 @@ x === this; // true</pre>
|
|
58647
59141
|
|
58648
59142
|
</li>
|
58649
59143
|
|
59144
|
+
<li>
|
59145
|
+
|
59146
|
+
<p>If the <a href=#current-document-readiness>current document readiness</a> is not yet set
|
59147
|
+
to the string "complete", let the <code><a href=#document>Document</a></code>'s
|
59148
|
+
<a href=#pending-state-object>pending state object</a> be another <a href=#structured-clone>structured
|
59149
|
+
clone</a> of the specified <var title="">data</var>. (If there
|
59150
|
+
was already a <a href=#pending-state-object>pending state object</a>, the previous one
|
59151
|
+
is discarded.)</p>
|
59152
|
+
|
59153
|
+
<p class=note>This ensures that the <code title=event-popstate><a href=#event-popstate>popstate</a></code> event that will be fired
|
59154
|
+
when the document finally loads will accurately reflect the
|
59155
|
+
pushed or replaced state object.</p>
|
59156
|
+
|
59157
|
+
</li>
|
59158
|
+
|
58650
59159
|
</ol><p class=note>The <var title="">title</var> is purely
|
58651
59160
|
advisory. User agents might use the title in the user interface.</p>
|
58652
59161
|
|
@@ -58862,41 +59371,34 @@ State: <OUTPUT NAME=I>1</OUTPUT> <INPUT VALUE="Increment" TYPE=BU
|
|
58862
59371
|
address">the current address</a> of the associated
|
58863
59372
|
<code><a href=#document>Document</a></code> object, as an <a href=#absolute-url>absolute URL</a>.</p>
|
58864
59373
|
|
58865
|
-
<p>On setting,
|
58866
|
-
|
58867
|
-
|
58868
|
-
the
|
58869
|
-
|
58870
|
-
|
58871
|
-
|
58872
|
-
title="dom-location-replace">replace()</code> method had been called
|
58873
|
-
with the new value as its argument. Otherwise,--> the user agent
|
58874
|
-
must act as if the <code title=dom-location-assign><a href=#dom-location-assign>assign()</a></code>
|
58875
|
-
method had been called with the new value as its argument.</p><!--
|
58876
|
-
v2: may wish to allow replace instead as a UI improvement -->
|
58877
|
-
|
58878
|
-
<!-- we could change the magic .location setter to simply refer
|
58879
|
-
straight to assign(), so we don't have two levels of indirection -->
|
59374
|
+
<p>On setting, if the <code><a href=#location>Location</a></code> object's associated
|
59375
|
+
<code><a href=#document>Document</a></code> object has <a href=#completely-loaded>completely loaded</a>,
|
59376
|
+
then the user agent must act as if the <code title=dom-location-assign><a href=#dom-location-assign>assign()</a></code> method had been called
|
59377
|
+
with the new value as its argument. Otherwise, the user agent must
|
59378
|
+
act as if the <code title=dom-location-replace><a href=#dom-location-replace>replace()</a></code>
|
59379
|
+
method had been called with the new value as its argument.</p>
|
59380
|
+
<!--DONAV location.href, defined in terms of the paragraphs below-->
|
58880
59381
|
|
58881
59382
|
<p>When the <dfn id=dom-location-assign title=dom-location-assign><code>assign(<var title="">url</var>)</code></dfn> method is invoked, the UA must
|
58882
59383
|
<a href=#resolve-a-url title="resolve a url">resolve</a> the argument, relative to
|
58883
59384
|
the <a href=#entry-script>entry script</a>'s <a href="#script's-base-url" title="script's base URL">base
|
58884
|
-
URL</a>, and if that is successful, must
|
58885
|
-
|
59385
|
+
URL</a>, and if that is successful, must
|
59386
|
+
<a href=#navigate>navigate</a><!--DONAV location.href/assign--> the
|
59387
|
+
<a href=#browsing-context>browsing context</a> to the specified <var title="">url</var>. If the <a href=#browsing-context>browsing context</a>'s
|
58886
59388
|
<a href=#session-history>session history</a> contains only one
|
58887
59389
|
<code><a href=#document>Document</a></code>, and that was the <code><a href=#about:blank>about:blank</a></code>
|
58888
59390
|
<code><a href=#document>Document</a></code> created when the <a href=#browsing-context>browsing context</a>
|
58889
|
-
was created, then the navigation must be done with
|
58890
|
-
|
58891
|
-
|
58892
|
-
|
58893
|
-
|
58894
|
-
here. -->
|
59391
|
+
was created, then the navigation must be done with <a href=#replacement-enabled>replacement
|
59392
|
+
enabled</a>.</p> <!-- READ ME WHEN EDITING THIS: IE and Firefox
|
59393
|
+
only seem to treat it that way if the DOM is still a virgin DOM;
|
59394
|
+
Safari doesn't check that. Thus this might need changing if testing
|
59395
|
+
shows the IE/Firefox behaviour is required here. -->
|
58895
59396
|
|
58896
59397
|
<p>When the <dfn id=dom-location-replace title=dom-location-replace><code>replace(<var title="">url</var>)</code></dfn> method is invoked, the UA must
|
58897
59398
|
<a href=#resolve-a-url title="resolve a url">resolve</a> the argument, relative to
|
58898
59399
|
the <a href=#entry-script>entry script</a>'s <a href="#script's-base-url" title="script's base URL">base
|
58899
|
-
URL</a>, and if that is successful,
|
59400
|
+
URL</a>, and if that is successful,
|
59401
|
+
<a href=#navigate>navigate</a><!--DONAV location.href/replace--> the
|
58900
59402
|
<a href=#browsing-context>browsing context</a> to the specified <var title="">url</var> with <a href=#replacement-enabled>replacement enabled</a>.</p>
|
58901
59403
|
|
58902
59404
|
<p>Navigation for the <code title=dom-location-assign><a href=#dom-location-assign>assign()</a></code> and <code title=dom-location-replace><a href=#dom-location-replace>replace()</a></code> methods must be done
|
@@ -58920,26 +59422,44 @@ State: <OUTPUT NAME=I>1</OUTPUT> <INPUT VALUE="Increment" TYPE=BU
|
|
58920
59422
|
steps.</dd> <!-- this theoretically would have no effect but in
|
58921
59423
|
practice can be useful to work around rendering bugs. -->
|
58922
59424
|
|
59425
|
+
<dt>If the <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active
|
59426
|
+
document</a> is <a href=#an-iframe-srcdoc-document>an <code>iframe</code> <code title=attr-iframe-srcdoc>srcdoc</code> document</a></dt>
|
59427
|
+
|
59428
|
+
<dd><p><a href=#process-the-iframe-attributes title="process the iframe attributes">Reprocess the
|
59429
|
+
<code>iframe</code> attributes</a> of the <a href=#browsing-context>browsing
|
59430
|
+
context</a>'s <a href=#browsing-context-container>browsing context container</a>.</dd>
|
59431
|
+
|
59432
|
+
<dt>If the <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active
|
59433
|
+
document</a> has its <a href=#reload-override-flag>reload override
|
59434
|
+
flag</a> set</dt>
|
59435
|
+
|
59436
|
+
<dd><p>Perform <a href=#an-overridden-reload>an overridden reload</a>.</dd>
|
59437
|
+
|
58923
59438
|
<dt>Otherwise</dt>
|
58924
59439
|
|
58925
|
-
<dd><p><a href=#navigate>Navigate</a
|
58926
|
-
<a href="#the-document's-current-address">the document's current
|
58927
|
-
<a href=#replacement-enabled>replacement enabled</a>. The
|
58928
|
-
context</a> must be the <a href=#browsing-context>browsing
|
58929
|
-
navigated.</dd> <!-- it appears that
|
58930
|
-
uses GET and does not, e.g., re-POST. -->
|
59440
|
+
<dd><p><a href=#navigate>Navigate</a><!--DONAV location.reload()--> the
|
59441
|
+
<a href=#browsing-context>browsing context</a> to <a href="#the-document's-current-address">the document's current
|
59442
|
+
address</a> with <a href=#replacement-enabled>replacement enabled</a>. The
|
59443
|
+
<a href=#source-browsing-context>source browsing context</a> must be the <a href=#browsing-context>browsing
|
59444
|
+
context</a> being navigated.</dd> <!-- it appears that
|
59445
|
+
document.reload() always uses GET and does not, e.g., re-POST. -->
|
58931
59446
|
|
58932
59447
|
<!-- http://software.hixie.ch/utilities/js/live-dom-viewer/saved/141 -->
|
58933
59448
|
|
58934
|
-
</dl><p>When a user requests that the current page
|
58935
|
-
user interface element, the
|
58936
|
-
|
59449
|
+
</dl><p>When a user requests that the current page of a <a href=#browsing-context>browsing
|
59450
|
+
context</a> be reloaded through a user interface element, the
|
59451
|
+
user agent should <a href=#navigate>navigate</a><!--DONAV user reload--> the
|
59452
|
+
<a href=#browsing-context>browsing context</a> to the same resource as
|
58937
59453
|
<code><a href=#document>Document</a></code>, with <a href=#replacement-enabled>replacement enabled</a>. In the
|
58938
59454
|
case of non-idempotent methods (e.g. HTTP POST), the user agent
|
58939
59455
|
should prompt the user to confirm the operation first, since
|
58940
59456
|
otherwise transactions (e.g. purchases or database modifications)
|
58941
59457
|
could be repeated. User agents may allow the user to explicitly
|
58942
|
-
override any caches when reloading
|
59458
|
+
override any caches when reloading. If <a href=#browsing-context>browsing
|
59459
|
+
context</a>'s <a href=#active-document>active document</a>'s <a href=#reload-override-flag>reload
|
59460
|
+
override flag</a> is set, then the user agent may instead perform
|
59461
|
+
<a href=#an-overridden-reload>an overridden reload</a> rather than the navigation
|
59462
|
+
described in this paragraph.</p>
|
58943
59463
|
|
58944
59464
|
</div>
|
58945
59465
|
|
@@ -59051,6 +59571,8 @@ State: <OUTPUT NAME=I>1</OUTPUT> <INPUT VALUE="Increment" TYPE=BU
|
|
59051
59571
|
in this specification.</p>
|
59052
59572
|
|
59053
59573
|
<!-- NAVIGATE <dfn>navigate</dfn> -->
|
59574
|
+
<!-- For places that _call_ this, as opposed to just referring to
|
59575
|
+
it, search for "DONAV" -->
|
59054
59576
|
<p>When a browsing context is <dfn id=navigate title=navigate>navigated</dfn>
|
59055
59577
|
to a new resource, the user agent must run the following steps:</p>
|
59056
59578
|
|
@@ -59083,9 +59605,10 @@ State: <OUTPUT NAME=I>1</OUTPUT> <INPUT VALUE="Increment" TYPE=BU
|
|
59083
59605
|
the new resource in a new <a href=#top-level-browsing-context>top-level browsing context</a>
|
59084
59606
|
or in the <a href=#top-level-browsing-context>top-level browsing context</a> of the
|
59085
59607
|
<a href=#source-browsing-context>source browsing context</a>, at the user's option, in
|
59086
|
-
which case the user agent must <a href=#navigate>navigate</a
|
59087
|
-
designated <a href=#top-level-browsing-context>top-level browsing
|
59088
|
-
resource as if the user had requested it
|
59608
|
+
which case the user agent must <a href=#navigate>navigate</a><!--DONAV
|
59609
|
+
sandbox manual load--> that designated <a href=#top-level-browsing-context>top-level browsing
|
59610
|
+
context</a> to the new resource as if the user had requested it
|
59611
|
+
independently.</p>
|
59089
59612
|
|
59090
59613
|
</li>
|
59091
59614
|
|
@@ -59893,8 +60416,9 @@ State: <OUTPUT NAME=I>1</OUTPUT> <INPUT VALUE="Increment" TYPE=BU
|
|
59893
60416
|
page</a>.</p>
|
59894
60417
|
|
59895
60418
|
<ol><li><p>If there is no longer a <code><a href=#document>Document</a></code> object for the
|
59896
|
-
entry in question, the user agent must
|
59897
|
-
|
60419
|
+
entry in question, the user agent must
|
60420
|
+
<a href=#navigate>navigate</a><!--DONAV history traversal after eviction-->
|
60421
|
+
the browsing context to the location for that entry to perform an
|
59898
60422
|
<a href=#entry-update>entry update</a> of that entry, and abort these steps. The
|
59899
60423
|
"<a href=#navigate>navigate</a>" algorithm reinvokes this "traverse"
|
59900
60424
|
algorithm to complete the traversal, at which point there
|
@@ -59974,6 +60498,12 @@ State: <OUTPUT NAME=I>1</OUTPUT> <INPUT VALUE="Increment" TYPE=BU
|
|
59974
60498
|
attribute set to true. This event must not bubble, must not be
|
59975
60499
|
cancelable, and has no default action.</li>
|
59976
60500
|
|
60501
|
+
<!-- an interesting thing to test would be to traverse back
|
60502
|
+
during onload, before the first pageshow has fired, and then to
|
60503
|
+
traverse forward again, and see if we get _two_ pageshows. If so,
|
60504
|
+
it indicates that the history traversal task source has a higher
|
60505
|
+
priority than the DOM manipulation task source. -->
|
60506
|
+
|
59977
60507
|
</ol></li>
|
59978
60508
|
|
59979
60509
|
<li><p>Set <a href="#the-document's-current-address">the document's current address</a> to the URL
|
@@ -60019,8 +60549,8 @@ State: <OUTPUT NAME=I>1</OUTPUT> <INPUT VALUE="Increment" TYPE=BU
|
|
60019
60549
|
|
60020
60550
|
<dt>Otherwise</dt>
|
60021
60551
|
|
60022
|
-
<dd><p>Let the <code><a href=#document>Document</a></code>'s <
|
60023
|
-
object</
|
60552
|
+
<dd><p>Let the <code><a href=#document>Document</a></code>'s <a href=#pending-state-object>pending state
|
60553
|
+
object</a> be <var title="">state</var>. (If there was already
|
60024
60554
|
a <a href=#pending-state-object>pending state object</a>, the previous one is
|
60025
60555
|
discarded.)</p>
|
60026
60556
|
|
@@ -60039,7 +60569,10 @@ State: <OUTPUT NAME=I>1</OUTPUT> <INPUT VALUE="Increment" TYPE=BU
|
|
60039
60569
|
<li><p>The <a href=#current-entry>current entry</a> is now the <i>specified
|
60040
60570
|
entry</i>.</li>
|
60041
60571
|
|
60042
|
-
</ol><p>The <
|
60572
|
+
</ol><p>The <dfn id=pending-state-object>pending state object</dfn> is used to keep track of what
|
60573
|
+
state object to use in the inital <code title=event-popstate><a href=#event-popstate>popstate</a></code> event fired by the parser
|
60574
|
+
once it <a href=#stop-parsing title="stop parsing">stops parsing</a>. The
|
60575
|
+
<a href=#pending-state-object>pending state object</a> must be initially null.</p>
|
60043
60576
|
|
60044
60577
|
<p>The <a href=#task-source>task source</a> for the tasks mentioned above is the
|
60045
60578
|
<a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</p>
|
@@ -62013,8 +62546,8 @@ NETWORK:
|
|
62013
62546
|
target <code><a href=#applicationcache>ApplicationCache</a></code> object <var title="">target</var>, the user agent must run the appropriate steps
|
62014
62547
|
from the following list:</p>
|
62015
62548
|
|
62016
|
-
<dl><dt>If <var title="">target</var>'s <code><a href=#document>Document</a></code>
|
62017
|
-
<a href=#
|
62549
|
+
<dl><dt>If <var title="">target</var>'s <code><a href=#document>Document</a></code> is
|
62550
|
+
<a href=#ready-for-post-load-tasks>ready for post-load tasks</a></dt>
|
62018
62551
|
|
62019
62552
|
<dd><p><a href=#queue-a-task title="queue a task">Queue</a> the task <var title="">task</var>.</dd>
|
62020
62553
|
|
@@ -62851,6 +63384,13 @@ NETWORK:
|
|
62851
63384
|
agent, and at most one <a href=#event-loop>event loop</a> per <a href=#unit-of-related-similar-origin-browsing-contexts>unit of
|
62852
63385
|
related similar-origin browsing contexts</a>.</p>
|
62853
63386
|
|
63387
|
+
<p class=note>When there is more than one <a href=#event-loop>event loop</a>
|
63388
|
+
for a <a href=#unit-of-related-browsing-contexts>unit of related browsing contexts</a>, complications
|
63389
|
+
arise when a <a href=#browsing-context>browsing context</a> in that group is <a href=#navigate title=navigate>navigated</a> such that it switches from one
|
63390
|
+
<a href=#unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</a> to
|
63391
|
+
another. This specification does not currently describe how to
|
63392
|
+
handle these complications.</p>
|
63393
|
+
|
62854
63394
|
<p>An <a href=#event-loop>event loop</a> always has at least one <a href=#browsing-context>browsing
|
62855
63395
|
context</a>. If an <a href=#event-loop>event loop</a>'s <a href=#browsing-context title="browsing context">browsing contexts</a> all go away, then
|
62856
63396
|
the <a href=#event-loop>event loop</a> goes away as well. A <a href=#browsing-context>browsing
|
@@ -62958,9 +63498,12 @@ NETWORK:
|
|
62958
63498
|
<code><a href=#document>Document</a></code>s are not <a href=#fully-active>fully active</a>. The user
|
62959
63499
|
agent may pick any <a href=#task-queue>task queue</a>.</li>
|
62960
63500
|
|
63501
|
+
<!-- warning! if you renumber these steps, make sure to update the
|
63502
|
+
"spin the event loop" algorith below! -->
|
63503
|
+
|
62961
63504
|
<li><p>If the <a href=#storage-mutex>storage mutex</a> is now owned by the
|
62962
63505
|
<a href=#event-loop>event loop</a>, release it so that it is once again
|
62963
|
-
free.</
|
63506
|
+
free.</li>
|
62964
63507
|
|
62965
63508
|
<li><p>Remove that task from its <a href=#task-queue>task queue</a>.</li>
|
62966
63509
|
|
@@ -62989,9 +63532,16 @@ NETWORK:
|
|
62989
63532
|
<ol><li><p>Let <var title="">task source</var> be the <a href=#task-source>task
|
62990
63533
|
source</a> of the currently running <a href=#concept-task title=concept-task>task</a>.</li>
|
62991
63534
|
|
62992
|
-
<li
|
62993
|
-
|
62994
|
-
|
63535
|
+
<li>
|
63536
|
+
|
63537
|
+
<p>Stop the currently running <a href=#concept-task title=concept-task>task</a>, allowing the <a href=#event-loop>event
|
63538
|
+
loop</a> to resume, but continue these steps
|
63539
|
+
asynchronously.</p>
|
63540
|
+
|
63541
|
+
<p class=note>This causes the <a href=#event-loop>event loop</a> to move on
|
63542
|
+
to the second step of its processing model (defined above).</p>
|
63543
|
+
|
63544
|
+
</li>
|
62995
63545
|
|
62996
63546
|
<li><p>Wait until the condition <var title="">goal</var> is
|
62997
63547
|
met.</li>
|
@@ -63005,15 +63555,27 @@ NETWORK:
|
|
63005
63555
|
|
63006
63556
|
</ol><hr><p>Some of the algorithms in this specification, for historical
|
63007
63557
|
reasons, require the user agent to <dfn id=pause>pause</dfn> while running a
|
63008
|
-
<a href=#concept-task title=concept-task>task</a> until
|
63009
|
-
|
63010
|
-
|
63011
|
-
running <a href=#
|
63012
|
-
|
63013
|
-
|
63014
|
-
|
63015
|
-
|
63016
|
-
|
63558
|
+
<a href=#concept-task title=concept-task>task</a> until a condition <var title="">goal</var> is met. This means running the following
|
63559
|
+
steps:</p>
|
63560
|
+
|
63561
|
+
<ol><li><p>If any asynchronously-running algorithms are <a href=#await-a-stable-state title="await a stable state">awaiting a stable state</a>, then
|
63562
|
+
run their <a href=#synchronous-section>synchronous section</a> and then resume running
|
63563
|
+
their asynchronous algorithm. (See the <a href=#event-loop>event loop</a>
|
63564
|
+
processing model definition above for details.)</p>
|
63565
|
+
|
63566
|
+
<li><p>If necessary, update the rendering or user interface of any
|
63567
|
+
<code><a href=#document>Document</a></code> or <a href=#browsing-context>browsing context</a> to reflect
|
63568
|
+
the current state.</li>
|
63569
|
+
|
63570
|
+
<li><p>Wait until the condition <var title="">goal</var> is met.
|
63571
|
+
While a user agent has a paused <a href=#concept-task title=concept-task>task</a>, the corresponding <a href=#event-loop>event
|
63572
|
+
loop</a> must not run further <a href=#concept-task title=concept-task>tasks</a>, and any script in the currently
|
63573
|
+
running <a href=#concept-task title=concept-task>task</a> must block. User
|
63574
|
+
agents should remain responsive to user input while paused,
|
63575
|
+
however, albeit in a reduced capacity since the <a href=#event-loop>event
|
63576
|
+
loop</a> will not be doing anything.</li>
|
63577
|
+
|
63578
|
+
</ol><hr><p>When a user agent is to <dfn id=obtain-the-storage-mutex>obtain the storage mutex</dfn> as
|
63017
63579
|
part of running a <a href=#concept-task title=concept-task>task</a>, it must
|
63018
63580
|
run through the following steps:</p>
|
63019
63581
|
|
@@ -64314,11 +64876,13 @@ interface <dfn id=windowtimers>WindowTimers</dfn> {
|
|
64314
64876
|
|
64315
64877
|
<li>
|
64316
64878
|
|
64317
|
-
<p><a href=#navigate>Navigate</a
|
64318
|
-
|
64319
|
-
|
64320
|
-
<
|
64321
|
-
|
64879
|
+
<p><a href=#navigate>Navigate</a><!--DONAV showModalDialog--> the new
|
64880
|
+
<a href=#browsing-context>browsing context</a> to the <a href=#absolute-url>absolute URL</a>
|
64881
|
+
that resulted from <a href=#resolve-a-url title="resolve a url">resolving</a>
|
64882
|
+
<var title="">url</var> earlier, with <a href=#replacement-enabled>replacement
|
64883
|
+
enabled</a>, and with the <a href="#script's-browsing-context" title="script's browsing
|
64884
|
+
context">browsing context</a> of the <a href=#concept-script title=concept-script>script</a> that invoked the method as
|
64885
|
+
the <a href=#source-browsing-context>source browsing context</a>.</p>
|
64322
64886
|
|
64323
64887
|
</li>
|
64324
64888
|
|
@@ -64669,10 +65233,10 @@ interface <dfn id=navigatorabilities>NavigatorAbilities</dfn> {
|
|
64669
65233
|
a url">resolve</a> the resulting URL, relative to the <a href="#script's-base-url" title="script's base URL">base URL</a> of the <a href=#entry-script>entry
|
64670
65234
|
script</a> at the time the <code title=dom-navigator-registerContentHandler><a href=#dom-navigator-registercontenthandler>registerContentHandler()</a></code>
|
64671
65235
|
or <code title=dom-navigator-registerProtocolHandler><a href=#dom-navigator-registerprotocolhandler>registerProtocolHandler()</a></code>
|
64672
|
-
methods were invoked, and then <a href=#navigate>navigate</a
|
64673
|
-
appropriate <a href=#browsing-context>browsing context</a> to the
|
64674
|
-
using the GET method (<a href=#concept-http-equivalent-get title=concept-http-equivalent-get>or
|
64675
|
-
|
65236
|
+
methods were invoked, and then <a href=#navigate>navigate</a><!--DONAV
|
65237
|
+
user--> an appropriate <a href=#browsing-context>browsing context</a> to the
|
65238
|
+
resulting URL using the GET method (<a href=#concept-http-equivalent-get title=concept-http-equivalent-get>or equivalent</a> for
|
65239
|
+
non-HTTP URLs).</p>
|
64676
65240
|
|
64677
65241
|
<p>To get the escaped version of the <a href=#absolute-url>absolute URL</a> of
|
64678
65242
|
the content in question, the user agent must replace every
|
@@ -65251,7 +65815,14 @@ interface <dfn id=navigatorabilities>NavigatorAbilities</dfn> {
|
|
65251
65815
|
|
65252
65816
|
<hr><p>The <dfn id=focusing-steps>focusing steps</dfn> are as follows:</p>
|
65253
65817
|
|
65254
|
-
<ol><li><p>If
|
65818
|
+
<ol><li><p>If the element is not <a href=#in-a-document title="in a Document">in a
|
65819
|
+
<code>Document</code></a>, or if the element's
|
65820
|
+
<code><a href=#document>Document</a></code> has no <a href=#browsing-context>browsing context</a>, or if
|
65821
|
+
the element's <code><a href=#document>Document</a></code>' <a href=#browsing-context>browsing context</a>
|
65822
|
+
has no <a href=#top-level-browsing-context>top-level browsing context</a>, then abort these
|
65823
|
+
steps.</p>
|
65824
|
+
|
65825
|
+
<li><p>If focusing the element will remove the focus from another
|
65255
65826
|
element, then run the <a href=#unfocusing-steps>unfocusing steps</a> for that
|
65256
65827
|
element.</li>
|
65257
65828
|
|
@@ -65269,6 +65840,7 @@ interface <dfn id=navigatorabilities>NavigatorAbilities</dfn> {
|
|
65269
65840
|
</li>
|
65270
65841
|
|
65271
65842
|
<li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-focus>focus</code> at the element.</li>
|
65843
|
+
<!-- http://software.hixie.ch/utilities/js/live-dom-viewer/saved/723 -->
|
65272
65844
|
|
65273
65845
|
</ol><p>User agents must synchronously run the <a href=#focusing-steps>focusing
|
65274
65846
|
steps</a> for an element whenever the user moves the focus to a
|
@@ -65288,6 +65860,7 @@ interface <dfn id=navigatorabilities>NavigatorAbilities</dfn> {
|
|
65288
65860
|
<li><p>Unfocus the element.</li>
|
65289
65861
|
|
65290
65862
|
<li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-blur>blur</code> at the element.</li>
|
65863
|
+
<!-- http://software.hixie.ch/utilities/js/live-dom-viewer/saved/723 -->
|
65291
65864
|
|
65292
65865
|
</ol><p>When an element that is focused stops being a
|
65293
65866
|
<a href=#focusable>focusable</a> element, or stops being focused without
|
@@ -65348,10 +65921,13 @@ interface <dfn id=navigatorabilities>NavigatorAbilities</dfn> {
|
|
65348
65921
|
|
65349
65922
|
<p>The <dfn id=dom-document-hasfocus title=dom-document-hasFocus><code>hasFocus()</code></dfn> method
|
65350
65923
|
on <code><a href=#htmldocument>HTMLDocument</a></code> objects must return true if the
|
65351
|
-
document's <a href=#browsing-context>browsing context</a> is focused,
|
65352
|
-
<a href=#ancestor-browsing-context title="ancestor browsing context">ancestor
|
65353
|
-
contexts</a> are also focused, and the <a href=#top-level-browsing-context>top-level
|
65354
|
-
context</a> has the <i>system focus</i
|
65924
|
+
<code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> is focused,
|
65925
|
+
and all its <a href=#ancestor-browsing-context title="ancestor browsing context">ancestor
|
65926
|
+
browsing contexts</a> are also focused, and the <a href=#top-level-browsing-context>top-level
|
65927
|
+
browsing context</a> has the <i>system focus</i>. If the
|
65928
|
+
<code><a href=#document>Document</a></code> has no <a href=#browsing-context>browsing context</a> or if its
|
65929
|
+
<a href=#browsing-context>browsing context</a> has no <a href=#top-level-browsing-context>top-level browsing
|
65930
|
+
context</a>, then the method will always return false.</p>
|
65355
65931
|
|
65356
65932
|
<p>The <dfn id=dom-window-focus title=dom-window-focus><code>focus()</code></dfn>
|
65357
65933
|
method on the <code><a href=#window>Window</a></code> object, when invoked, provides a
|
@@ -68542,7 +69118,7 @@ interface <dfn>FunctionObjectCallback</dfn> {
|
|
68542
69118
|
<h4 id=definitions-2><span class=secno>8.8.1 </span>Definitions</h4>
|
68543
69119
|
|
68544
69120
|
<p>The user agent must associate an <dfn id=undo-transaction-history>undo transaction
|
68545
|
-
history</dfn> with each <code><a href=#
|
69121
|
+
history</dfn> with each <code><a href=#document>Document</a></code> object.</p>
|
68546
69122
|
|
68547
69123
|
<p>The <a href=#undo-transaction-history>undo transaction history</a> is a list of
|
68548
69124
|
entries. The entries are of two types: <a href=#dom-changes>DOM changes</a> and
|
@@ -68556,7 +69132,7 @@ interface <dfn>FunctionObjectCallback</dfn> {
|
|
68556
69132
|
node.</li>
|
68557
69133
|
|
68558
69134
|
<li>Changes to the DOM hierarchy of nodes that are descendants of
|
68559
|
-
the <code><a href=#
|
69135
|
+
the <code><a href=#document>Document</a></code> object (<code title=dom-Node-parentNode><a href=#dom-node-parentnode>parentNode</a></code>, <code title=dom-Node-childNodes><a href=#dom-node-childnodes>childNodes</a></code>).</li>
|
68560
69136
|
|
68561
69137
|
<li>Changes to internal state, such as a form control's <a href=#concept-fe-value title=concept-fe-value>value</a> or <a href=#concept-input-checked-dirty-flag title=concept-input-checked-dirty-flag>dirty checkedness
|
68562
69138
|
flag</a>.</li>
|
@@ -68660,8 +69236,8 @@ interface <dfn>FunctionObjectCallback</dfn> {
|
|
68660
69236
|
<p>The <dfn id=dom-undomanager title=dom-undoManager><code>undoManager</code></dfn>
|
68661
69237
|
attribute of the <code><a href=#window>Window</a></code> interface must return the
|
68662
69238
|
object implementing the <code><a href=#undomanager>UndoManager</a></code> interface for that
|
68663
|
-
<code><a href=#window>Window</a></code> object's associated
|
68664
|
-
|
69239
|
+
<code><a href=#window>Window</a></code> object's associated <code><a href=#document>Document</a></code>
|
69240
|
+
object.</p>
|
68665
69241
|
|
68666
69242
|
<p><code><a href=#undomanager>UndoManager</a></code> objects represent their document's
|
68667
69243
|
<a href=#undo-transaction-history>undo transaction history</a>. Only <a href=#undo-object>undo object</a>
|
@@ -69578,7 +70154,7 @@ function receiver(e) {
|
|
69578
70154
|
send the message to the target regardless of origin, set the
|
69579
70155
|
target origin to "<code title="">*</code>". To restrict the
|
69580
70156
|
message to same-origin targets only, without needing to explicitly
|
69581
|
-
state the origin,
|
70157
|
+
state the origin, set the target origin to "<code title="">/</code>".</p>
|
69582
70158
|
|
69583
70159
|
<p>Throws an <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> if the <var title="">ports</var> array is not null and it contains either null
|
69584
70160
|
entries or duplicate ports.</p>
|
@@ -69606,9 +70182,10 @@ function receiver(e) {
|
|
69606
70182
|
<ol><li>
|
69607
70183
|
|
69608
70184
|
<p>If the value of the <var title="">targetOrigin</var> argument
|
69609
|
-
is neither a single U+002A ASTERISK character (*)
|
69610
|
-
<a href=#absolute-url>absolute URL</a>, then
|
69611
|
-
exception and abort the overall
|
70185
|
+
is neither a single U+002A ASTERISK character (*), a single U+002F
|
70186
|
+
SOLIDUS character (/), nor an <a href=#absolute-url>absolute URL</a>, then
|
70187
|
+
throw a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception and abort the overall
|
70188
|
+
set of steps.</p>
|
69612
70189
|
|
69613
70190
|
</li>
|
69614
70191
|
|
@@ -69657,6 +70234,13 @@ function receiver(e) {
|
|
69657
70234
|
|
69658
70235
|
<li>
|
69659
70236
|
|
70237
|
+
<p>If the <var title="">targetOrigin</var> argument is a single
|
70238
|
+
literal U+002F SOLIDUS character (/), and the
|
70239
|
+
<code><a href=#document>Document</a></code> of the <code><a href=#window>Window</a></code> object on which
|
70240
|
+
the method was invoked does not have the <a href=#same-origin>same origin</a>
|
70241
|
+
as the <a href=#entry-script>entry script</a>'s <a href="#script's-document" title="script's
|
70242
|
+
document">document</a>, then abort these steps silently.</p>
|
70243
|
+
|
69660
70244
|
<p>Otherwise, if the <var title="">targetOrigin</var> argument is
|
69661
70245
|
an <a href=#absolute-url>absolute URL</a>, and the <code><a href=#document>Document</a></code> of the
|
69662
70246
|
<code><a href=#window>Window</a></code> object on which the method was invoked does
|
@@ -70312,6 +70896,7 @@ interface <dfn id=messageport>MessagePort</dfn> {
|
|
70312
70896
|
<code><a href=#the-keygen-element>keygen</a></code>, <code><a href=#the-link-element>link</a></code>, <code><a href=#meta>meta</a></code>,
|
70313
70897
|
<code><a href=#the-param-element>param</a></code>, <code><a href=#the-source-element>source</a></code>, <code><a href=#the-track-element>track</a></code>,
|
70314
70898
|
<code><a href=#the-wbr-element>wbr</a></code></dd>
|
70899
|
+
<!-- see also other places that say VOIDLIST -->
|
70315
70900
|
|
70316
70901
|
<dt><dfn id=raw-text-elements>Raw text elements</dfn></dt>
|
70317
70902
|
|
@@ -71907,11 +72492,11 @@ interface <dfn id=messageport>MessagePort</dfn> {
|
|
71907
72492
|
convert the input stream to the new encoding, set the <a href=#concept-encoding-confidence title=concept-encoding-confidence>confidence</a> to
|
71908
72493
|
<i>certain</i>, and abort these steps.</li>
|
71909
72494
|
|
71910
|
-
<li>Otherwise, <a href=#navigate>navigate</a
|
71911
|
-
<a href=#replacement-enabled>replacement enabled</a>, and using
|
71912
|
-
browsing context</a>, but this time skip
|
71913
|
-
sniffing algorithm</a> and instead just set
|
71914
|
-
new encoding and the <a href=#concept-encoding-confidence title=concept-encoding-confidence>confidence</a> to
|
72495
|
+
<li>Otherwise, <a href=#navigate>navigate</a><!--DONAV reparse--> to the
|
72496
|
+
document again, with <a href=#replacement-enabled>replacement enabled</a>, and using
|
72497
|
+
the same <a href=#source-browsing-context>source browsing context</a>, but this time skip
|
72498
|
+
the <a href=#encoding-sniffing-algorithm>encoding sniffing algorithm</a> and instead just set
|
72499
|
+
the encoding to the new encoding and the <a href=#concept-encoding-confidence title=concept-encoding-confidence>confidence</a> to
|
71915
72500
|
<i>certain</i>. Whenever possible, this should be done without
|
71916
72501
|
actually contacting the network layer (the bytes should be
|
71917
72502
|
re-parsed from memory), even if, e.g., the document is marked as
|
@@ -76876,7 +77461,10 @@ document.body.appendChild(text);
|
|
76876
77461
|
for this instance of the <a href=#html-parser>HTML parser</a>, such that
|
76877
77462
|
the <a href=#event-loop>event loop</a> will not run <a href=#concept-task title=concept-task>tasks</a> that invoke the <a href=#tokenization title=tokenization>tokenizer</a>.</li>
|
76878
77463
|
|
76879
|
-
<li><p><a href=#
|
77464
|
+
<li><p>If the parser's <code><a href=#document>Document</a></code> <a href=#has-a-style-sheet-that-is-blocking-scripts>has a style
|
77465
|
+
sheet that is blocking scripts</a> or <var title="">the
|
77466
|
+
script</var>'s <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag
|
77467
|
+
is not set: <a href=#spin-the-event-loop>spin the event loop</a> until the parser's
|
76880
77468
|
<code><a href=#document>Document</a></code> <a href=#has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking
|
76881
77469
|
scripts</a> and <var title="">the script</var>'s
|
76882
77470
|
<a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag is
|
@@ -78386,8 +78974,8 @@ document.body.appendChild(text);
|
|
78386
78974
|
attribute set to false. This event must not bubble, must not be
|
78387
78975
|
cancelable, and has no default action.</li>
|
78388
78976
|
|
78389
|
-
<li><p>If the <code><a href=#document>Document</a></code>
|
78390
|
-
|
78977
|
+
<li><p>If the <code><a href=#document>Document</a></code> is in a <a href=#browsing-context>browsing
|
78978
|
+
context</a>, then <a href=#queue-a-task>queue a task</a> to fire a <code title=event-popstate><a href=#event-popstate>popstate</a></code> event at the
|
78391
78979
|
<code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object using the
|
78392
78980
|
<code><a href=#popstateevent>PopStateEvent</a></code> interface, with the <code title=dom-PopStateEvent-state><a href=#dom-popstateevent-state>state</a></code> attribute set to the
|
78393
78981
|
current value of the <a href=#pending-state-object>pending state object</a>. This event
|
@@ -78402,8 +78990,11 @@ document.body.appendChild(text);
|
|
78402
78990
|
for these <a href=#concept-task title=concept-task>tasks</a> is the
|
78403
78991
|
<a href=#networking-task-source>networking task source</a>.</li>
|
78404
78992
|
|
78405
|
-
<li><p>The <code><a href=#document>Document</a></code> is now <dfn id=
|
78406
|
-
|
78993
|
+
<li><p>The <code><a href=#document>Document</a></code> is now <dfn id=ready-for-post-load-tasks>ready for post-load
|
78994
|
+
tasks</dfn>.</li>
|
78995
|
+
|
78996
|
+
<li><p><a href=#queue-a-task>Queue a task</a> to mark the <code><a href=#document>Document</a></code>
|
78997
|
+
as <dfn id=completely-loaded>completely loaded</dfn>.</li>
|
78407
78998
|
|
78408
78999
|
</ol><p>When the user agent is to <dfn id=abort-a-parser>abort a parser</dfn>, it must run
|
78409
79000
|
the following steps:</p>
|
@@ -78854,14 +79445,15 @@ document.body.appendChild(text);
|
|
78854
79445
|
<p>If <var title="">current node</var> is an
|
78855
79446
|
<code><a href=#the-area-element>area</a></code>, <code><a href=#the-base-element>base</a></code>, <code><a href=#basefont>basefont</a></code>,
|
78856
79447
|
<code><a href=#bgsound>bgsound</a></code>, <code><a href=#the-br-element>br</a></code>, <code><a href=#the-col-element>col</a></code>,
|
78857
|
-
<code><a href=#the-
|
78858
|
-
<code><a href=#the-
|
78859
|
-
<code><a href=#the-
|
79448
|
+
<code><a href=#the-command>command</a></code>, <code><a href=#the-embed-element>embed</a></code>, <code><a href=#frame>frame</a></code>,
|
79449
|
+
<code><a href=#the-hr-element>hr</a></code>, <code><a href=#the-img-element>img</a></code>, <code><a href=#the-input-element>input</a></code>,
|
79450
|
+
<code><a href=#the-keygen-element>keygen</a></code>, <code><a href=#the-link-element>link</a></code>, <code><a href=#meta>meta</a></code>,
|
79451
|
+
<code><a href=#the-param-element>param</a></code>, <code><a href=#the-source-element>source</a></code>, <code><a href=#the-track-element>track</a></code> or
|
78860
79452
|
<code><a href=#the-wbr-element>wbr</a></code> element, then continue on to the next child
|
78861
|
-
node at this point.</p> <!--
|
78862
|
-
|
78863
|
-
"elements", more "macros", and
|
78864
|
-
them -->
|
79453
|
+
node at this point.</p> <!-- VOIDLIST superset -->
|
79454
|
+
<!-- also, i guess: image and isindex, but we don't list those
|
79455
|
+
because we don't consider those "elements", more "macros", and
|
79456
|
+
thus we should never serialize them -->
|
78865
79457
|
|
78866
79458
|
<p>If <var title="">current node</var> is a <code><a href=#the-pre-element>pre</a></code>,
|
78867
79459
|
<code><a href=#the-textarea-element>textarea</a></code>, or <code><a href=#listing>listing</a></code> element, append
|
@@ -79539,7 +80131,7 @@ document.body.appendChild(text);
|
|
79539
80131
|
</ul><p class=note>Just being off-screen does not mean the element is
|
79540
80132
|
not <a href=#being-rendered>being rendered</a>. The presence of the <code title=attr-hidden><a href=#the-hidden-attribute>hidden</a></code> attribute normally means the
|
79541
80133
|
element is not <a href=#being-rendered>being rendered</a>, though this might be
|
79542
|
-
|
80134
|
+
overridden by the style sheets.</p>
|
79543
80135
|
|
79544
80136
|
</div>
|
79545
80137
|
|
@@ -80597,7 +81189,8 @@ fieldset {
|
|
80597
81189
|
to the user">exposing a user interface</a> for a
|
80598
81190
|
<code><a href=#video>video</a></code> element, user agents should run the <a href=#rules-for-updating-the-timed-track-rendering>rules
|
80599
81191
|
for updating the timed track rendering</a> of each of the <a href=#timed-track title="timed track">timed tracks</a> in the <code><a href=#video>video</a></code>
|
80600
|
-
element's <a href=#list-of-timed-tracks>list of timed tracks</a> that are <a href=#timed-track-showing title="timed track showing">showing</a>
|
81192
|
+
element's <a href=#list-of-timed-tracks>list of timed tracks</a> that are <a href=#timed-track-showing title="timed track showing">showing</a> or <a href=#timed-track-showing-by-default title="timed
|
81193
|
+
track showing by default">showing by default</a> (e.g., for <a href=#timed-track title="timed track">timed tracks</a> based on
|
80601
81194
|
<a href=#websrt>WebSRT</a>, the <a href=#rules-for-updating-the-display-of-websrt-timed-tracks>rules for updating the display of
|
80602
81195
|
WebSRT timed tracks</a>).</p>
|
80603
81196
|
<!--KEEP-START w3c-html--><!--TT-->
|
@@ -80618,7 +81211,7 @@ iframe:not([seamless]) { border: 2px inset; }</pre>
|
|
80618
81211
|
<!--<div data-component="other Hixie drafts (editor: Ian Hickson)">-->
|
80619
81212
|
<div class=impl>
|
80620
81213
|
|
80621
|
-
<h4 id=timed-tracks
|
81214
|
+
<h4 id=timed-tracks><span class=secno>12.3.2 </span>Timed tracks</h4>
|
80622
81215
|
|
80623
81216
|
<p class=note>This section is intended to be moved to its own CSS
|
80624
81217
|
module once an editor is found to run with it.</p>
|
@@ -80662,12 +81255,11 @@ iframe:not([seamless]) { border: 2px inset; }</pre>
|
|
80662
81255
|
user interface</a> for <var title="">video</var>, but now it is,
|
80663
81256
|
let <var title="">reset</var> be true. Otherwise, let <var title="">reset</var> be false.</p>
|
80664
81257
|
|
80665
|
-
<li><p>Let <var title="">tracks</var> be the subset of
|
80666
|
-
|
80667
|
-
|
80668
|
-
|
80669
|
-
|
80670
|
-
is <a href=#timed-track-showing title="timed track showing">showing</a>.</li>
|
81258
|
+
<li><p>Let <var title="">tracks</var> be the subset of <var title="">video</var>'s <a href=#list-of-timed-tracks>list of timed tracks</a> that have
|
81259
|
+
as their <a href=#rules-for-updating-the-timed-track-rendering>rules for updating the timed track rendering</a>
|
81260
|
+
these <a href=#rules-for-updating-the-display-of-websrt-timed-tracks>rules for updating the display of WebSRT timed
|
81261
|
+
tracks</a>, and whose <a href=#timed-track-mode>timed track mode</a> is <a href=#timed-track-showing title="timed track showing">showing</a> or <a href=#timed-track-showing-by-default title="timed
|
81262
|
+
track showing by default">showing by default</a>.</li>
|
80671
81263
|
|
80672
81264
|
<li><p>Let <var title="">cues</var> be an empty list of <a href=#timed-track-cue title="timed track cue">timed track cues</a>.</li>
|
80673
81265
|
|
@@ -81318,10 +81910,7 @@ iframe:not([seamless]) { border: 2px inset; }</pre>
|
|
81318
81910
|
element</i> that matches the given <var title="">argument</var>.</p>
|
81319
81911
|
|
81320
81912
|
<p>The <var title="">argument</var> must match the syntax
|
81321
|
-
"<
|
81322
|
-
|
81323
|
-
<p>The "<voice>" component must be either a non-negative
|
81324
|
-
<integer> or one of the keywords "<code title=pseudo-cue-part-narrator><a href=#pseudo-cue-part-narrator>narrator</a></code>", "<code title=pseudo-cue-part-music><a href=#pseudo-cue-part-music>music</a></code>", "<code title=pseudo-cue-part-lyric><a href=#pseudo-cue-part-lyric>lyric</a></code>", "<code title=pseudo-cue-part-sound><a href=#pseudo-cue-part-sound>sound</a></code>", "<code title=pseudo-cue-part-comment><a href=#pseudo-cue-part-comment>comment</a></code>", or "<code title=pseudo-cue-part-credit><a href=#pseudo-cue-part-credit>credit</a></code>".</p>
|
81913
|
+
"<part> || <position> || <future-compatibility>". <a href=#refsCSS>[CSS]</a></p>
|
81325
81914
|
|
81326
81915
|
<p>The "<part>" component must be one of the keywords "<code title=pseudo-cue-part-i><a href=#pseudo-cue-part-i>i</a></code>", "<code title=pseudo-cue-part-b><a href=#pseudo-cue-part-b>b</a></code>", "<code title=pseudo-cue-part-ruby><a href=#pseudo-cue-part-ruby>ruby</a></code>", or "<code title=pseudo-cue-part-rt><a href=#pseudo-cue-part-rt>rt</a></code>".</p>
|
81327
81916
|
|
@@ -81334,57 +81923,7 @@ iframe:not([seamless]) { border: 2px inset; }</pre>
|
|
81334
81923
|
<a href=#websrt-node-object title="WebSRT Node Object">WebSRT Node Objects</a> are
|
81335
81924
|
matched by the pseudo-element, as follows:</p>
|
81336
81925
|
|
81337
|
-
<dl><dt
|
81338
|
-
<dd>
|
81339
|
-
<p>Restricts the pseudo-element to only matching <a href=#websrt-node-object title="WebSRT Node Object">WebSRT Node Objects</a> from <a href=#timed-track-cue title="timed track cue">timed track cues</a> whose <a href=#timed-track-cue-voice-identifier>timed
|
81340
|
-
track cue voice identifier</a> is the given number expressed in
|
81341
|
-
base ten with digits in the range U+0030 DIGIT ZERO (0) to U+0039
|
81342
|
-
DIGIT NINE (9).</p>
|
81343
|
-
</dd>
|
81344
|
-
|
81345
|
-
<dt><dfn id=pseudo-cue-part-narrator title=pseudo-cue-part-narrator><code>narrator</code></dfn></dt>
|
81346
|
-
<dd>
|
81347
|
-
<p>Restricts the pseudo-element to only matching <a href=#websrt-node-object title="WebSRT Node Object">WebSRT Node Objects</a> from <a href=#timed-track-cue title="timed track cue">timed track cues</a> whose <a href=#timed-track-cue-voice-identifier>timed
|
81348
|
-
track cue voice identifier</a> is "<code title="timed track cue
|
81349
|
-
narrator voice"><a href=#timed-track-cue-narrator-voice>narrator</a></code>".</p>
|
81350
|
-
</dd>
|
81351
|
-
|
81352
|
-
<dt><dfn id=pseudo-cue-part-music title=pseudo-cue-part-music><code>music</code></dfn></dt>
|
81353
|
-
<dd>
|
81354
|
-
<p>Restricts the pseudo-element to only matching <a href=#websrt-node-object title="WebSRT Node Object">WebSRT Node Objects</a> from <a href=#timed-track-cue title="timed track cue">timed track cues</a> whose <a href=#timed-track-cue-voice-identifier>timed
|
81355
|
-
track cue voice identifier</a> is "<code title="timed track cue
|
81356
|
-
music voice"><a href=#timed-track-cue-music-voice>music</a></code>".</p>
|
81357
|
-
</dd>
|
81358
|
-
|
81359
|
-
<dt><dfn id=pseudo-cue-part-lyric title=pseudo-cue-part-lyric><code>lyric</code></dfn></dt>
|
81360
|
-
<dd>
|
81361
|
-
<p>Restricts the pseudo-element to only matching <a href=#websrt-node-object title="WebSRT Node Object">WebSRT Node Objects</a> from <a href=#timed-track-cue title="timed track cue">timed track cues</a> whose <a href=#timed-track-cue-voice-identifier>timed
|
81362
|
-
track cue voice identifier</a> is "<code title="timed track cue
|
81363
|
-
lyric voice"><a href=#timed-track-cue-lyric-voice>lyric</a></code>".</p>
|
81364
|
-
</dd>
|
81365
|
-
|
81366
|
-
<dt><dfn id=pseudo-cue-part-sound title=pseudo-cue-part-sound><code>sound</code></dfn></dt>
|
81367
|
-
<dd>
|
81368
|
-
<p>Restricts the pseudo-element to only matching <a href=#websrt-node-object title="WebSRT Node Object">WebSRT Node Objects</a> from <a href=#timed-track-cue title="timed track cue">timed track cues</a> whose <a href=#timed-track-cue-voice-identifier>timed
|
81369
|
-
track cue voice identifier</a> is "<code title="timed track cue
|
81370
|
-
sound voice"><a href=#timed-track-cue-sound-voice>sound</a></code>".</p>
|
81371
|
-
</dd>
|
81372
|
-
|
81373
|
-
<dt><dfn id=pseudo-cue-part-comment title=pseudo-cue-part-comment><code>comment</code></dfn></dt>
|
81374
|
-
<dd>
|
81375
|
-
<p>Restricts the pseudo-element to only matching <a href=#websrt-node-object title="WebSRT Node Object">WebSRT Node Objects</a> from <a href=#timed-track-cue title="timed track cue">timed track cues</a> whose <a href=#timed-track-cue-voice-identifier>timed
|
81376
|
-
track cue voice identifier</a> is "<code title="timed track cue
|
81377
|
-
comment voice"><a href=#timed-track-cue-comment-voice>comment</a></code>".</p>
|
81378
|
-
</dd>
|
81379
|
-
|
81380
|
-
<dt><dfn id=pseudo-cue-part-credit title=pseudo-cue-part-credit><code>credit</code></dfn></dt>
|
81381
|
-
<dd>
|
81382
|
-
<p>Restricts the pseudo-element to only matching <a href=#websrt-node-object title="WebSRT Node Object">WebSRT Node Objects</a> from <a href=#timed-track-cue title="timed track cue">timed track cues</a> whose <a href=#timed-track-cue-voice-identifier>timed
|
81383
|
-
track cue voice identifier</a> is "<code title="timed track cue
|
81384
|
-
credit voice"><a href=#timed-track-cue-credit-voice>credit</a></code>".</p>
|
81385
|
-
</dd>
|
81386
|
-
|
81387
|
-
<dt><dfn id=pseudo-cue-part-i title=pseudo-cue-part-i><code>i</code></dfn></dt>
|
81926
|
+
<dl><dt><dfn id=pseudo-cue-part-i title=pseudo-cue-part-i><code>i</code></dfn></dt>
|
81388
81927
|
<dd>
|
81389
81928
|
<p>Restricts the pseudo-element to only matching <a href=#websrt-italic-object title="WebSRT Italic Object">WebSRT Italic Objects</a>.</p>
|
81390
81929
|
</dd>
|
@@ -82689,9 +83228,9 @@ time[datetime] { binding: <i title="">time</i>; }</pre>
|
|
82689
83228
|
part of such auditing.</p>
|
82690
83229
|
<!--PING-->
|
82691
83230
|
|
82692
|
-
<p>User agents are expected to allow users to
|
82693
|
-
<a href=#browsing-context title="browsing
|
82694
|
-
resources <a href=#resolve-a-url title="resolve a url">indicated</a> by the <code title="">cite</code> attributes on <code><a href=#the-q-element>q</a></code>,
|
83231
|
+
<p>User agents are expected to allow users to
|
83232
|
+
<a href=#navigate>navigate</a><!--DONAV cite=""--> <a href=#browsing-context title="browsing
|
83233
|
+
context">browsing contexts</a> to the resources <a href=#resolve-a-url title="resolve a url">indicated</a> by the <code title="">cite</code> attributes on <code><a href=#the-q-element>q</a></code>,
|
82695
83234
|
<code><a href=#the-blockquote-element>blockquote</a></code>, <code><a href=#the-section-element>section</a></code>, <code><a href=#the-article-element>article</a></code>,
|
82696
83235
|
<code><a href=#the-ins-element>ins</a></code>, and <code><a href=#the-del-element>del</a></code> elements.</p>
|
82697
83236
|
|
@@ -82798,27 +83337,54 @@ time[datetime] { binding: <i title="">time</i>; }</pre>
|
|
82798
83337
|
as an independent set of one or more bidirectional algorithm
|
82799
83338
|
paragraphs when displayed, as defined by the bidirectional
|
82800
83339
|
algorithm, including, for instance, supporting the
|
82801
|
-
paragraph-breaking behaviour of U+000A LINE FEED (LF) characters.
|
83340
|
+
paragraph-breaking behaviour of U+000A LINE FEED (LF) characters.
|
83341
|
+
For the purposes of determining the paragraph level of such text in
|
83342
|
+
the bidirectional algorithm, this specification does <em>not</em>
|
83343
|
+
provide a higher-level override of rules P2 and P3. <a href=#refsBIDI>[BIDI]</a></p>
|
83344
|
+
|
83345
|
+
<p>When necessary, authors can enforce a particular direction for a
|
83346
|
+
given paragraph by starting it with the Unicode U+200E LEFT-TO-RIGHT
|
83347
|
+
MARK or U+200F RIGHT-TO-LEFT MARK characters.</p>
|
83348
|
+
|
83349
|
+
<div class=example>
|
83350
|
+
|
83351
|
+
<p>Thus, the following script:</p>
|
83352
|
+
|
83353
|
+
<pre>alert('\u05DC\u05DE\u05D3 HTML \u05D4\u05D9\u05D5\u05DD!')</pre>
|
83354
|
+
|
83355
|
+
<p>...would always result in a message reading
|
83356
|
+
"<bdo dir=rtl lang="" title="">למד LMTH היום!</bdo>"
|
83357
|
+
(not "<bdo dir=ltr lang="" title="">דמל HTML םויה!</bdo>"),
|
83358
|
+
regardless of the language of the user agent interface or the
|
83359
|
+
direction of the page or any of its elements.</p>
|
83360
|
+
|
83361
|
+
</div>
|
82802
83362
|
|
82803
83363
|
<div class=example>
|
82804
83364
|
|
82805
|
-
|
83365
|
+
<p>For a more complex example, consider the following script:</p>
|
82806
83366
|
|
82807
|
-
|
83367
|
+
<pre class=bad>/* Warning: this script does not handle right-to-left scripts correctly */
|
83368
|
+
var s;
|
82808
83369
|
if (s = prompt('What is your name?')) {
|
82809
83370
|
alert(s + '! Ok, Fred, ' + s + ', and Wilma will get the car.');
|
82810
83371
|
}</pre>
|
82811
83372
|
|
82812
|
-
|
82813
|
-
|
82814
|
-
|
82815
|
-
|
82816
|
-
|
82817
|
-
|
83373
|
+
<p>When the user enters "<kbd>Kitty</kbd>", the user agent would
|
83374
|
+
alert "<samp>Kitty! Ok, Fred, Kitty, and Wilma will get the
|
83375
|
+
car.</samp>". However, if the user enters "<kbd dir=rtl lang=ar>لا أفهم</kbd>",
|
83376
|
+
then the bidirectional algorithm will determine that the direction
|
83377
|
+
of the paragraph is right-to-left, and so the output will be the
|
83378
|
+
following unintended mess: "<samp lang=""><bdo dir=rtl>لا أفهم! derF ,kO, لا أفهم, rac eht teg lliw amliW dna.</bdo></samp>"</p>
|
82818
83379
|
|
82819
|
-
|
82820
|
-
|
82821
|
-
|
83380
|
+
<p>To force an alert that starts with user-provided text (or other
|
83381
|
+
text of unknown directionality) to render left-to-right, the string
|
83382
|
+
can be prefixed with a U+200E LEFT-TO-RIGHT MARK character:</p>
|
83383
|
+
|
83384
|
+
<pre>var s;
|
83385
|
+
if (s = prompt('What is your name?')) {
|
83386
|
+
alert('<strong>\u200E</strong>' + s + '! Ok, Fred, ' + s + ', and Wilma will get the car.');
|
83387
|
+
}</pre>
|
82822
83388
|
|
82823
83389
|
</div>
|
82824
83390
|
|
@@ -83547,21 +84113,20 @@ if (s = prompt('What is your name?')) {
|
|
83547
84113
|
<p>When the browsing context is created, if a <code title=attr-frame-src>src</code> attribute is present, the user
|
83548
84114
|
agent must <a href=#resolve-a-url title="resolve a url">resolve</a> the value of
|
83549
84115
|
that attribute, relative to the element, and if that is successful,
|
83550
|
-
must then <a href=#navigate>navigate</a
|
83551
|
-
the resulting <a href=#absolute-url>absolute URL</a>, with
|
83552
|
-
enabled</a>, and with the <code><a href=#frame>frame</a></code>
|
84116
|
+
must then <a href=#navigate>navigate</a><!--DONAV frame--> the element's
|
84117
|
+
browsing context to the resulting <a href=#absolute-url>absolute URL</a>, with
|
84118
|
+
<a href=#replacement-enabled>replacement enabled</a>, and with the <code><a href=#frame>frame</a></code>
|
84119
|
+
element's document's <a href=#browsing-context>browsing context</a> as the
|
84120
|
+
<a href=#source-browsing-context>source browsing context</a>.</p>
|
84121
|
+
|
84122
|
+
<p>Whenever the <code title=attr-frame-src>src</code> attribute is
|
84123
|
+
set, the user agent must <a href=#resolve-a-url title="resolve a url">resolve</a>
|
84124
|
+
the value of that attribute, relative to the element, and if that is
|
84125
|
+
successful, the nested <a href=#browsing-context>browsing context</a> must be <a href=#navigate title=navigate>navigated</a><!--DONAV frame--> to the resulting
|
84126
|
+
<a href=#absolute-url>absolute URL</a>, with the <code><a href=#frame>frame</a></code> element's
|
83553
84127
|
document's <a href=#browsing-context>browsing context</a> as the <a href=#source-browsing-context>source
|
83554
84128
|
browsing context</a>.</p>
|
83555
84129
|
|
83556
|
-
<p>Whenever the <code title=attr-frame-src>src</code> attribute
|
83557
|
-
is set, the user agent must <a href=#resolve-a-url title="resolve a
|
83558
|
-
url">resolve</a> the value of that attribute, relative to the
|
83559
|
-
element, and if that is successful, the nested <a href=#browsing-context>browsing
|
83560
|
-
context</a> must be <a href=#navigate title=navigate>navigated</a> to
|
83561
|
-
the resulting <a href=#absolute-url>absolute URL</a>, with the
|
83562
|
-
<code><a href=#frame>frame</a></code> element's document's <a href=#browsing-context>browsing
|
83563
|
-
context</a> as the <a href=#source-browsing-context>source browsing context</a>.</p>
|
83564
|
-
|
83565
84130
|
<p>When the browsing context is created, if a <code title=attr-frame-name>name</code> attribute is present, the
|
83566
84131
|
<a href=#browsing-context-name>browsing context name</a> must be set to the value of this
|
83567
84132
|
attribute; otherwise, the <a href=#browsing-context-name>browsing context name</a> must be
|
@@ -84529,6 +85094,15 @@ interface <a href=#htmldocument>HTMLDocument</a> {
|
|
84529
85094
|
as <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code> as regular
|
84530
85095
|
<code><a href=#text/html>text/html</a></code> files, authors should avoid using the <code title="">.html</code> or <code title="">.htm</code> extensions for
|
84531
85096
|
resources labeled as <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code>.</p>
|
85097
|
+
<p>Furthermore, since the <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code> MIME
|
85098
|
+
type impacts the origin security model, authors should be careful
|
85099
|
+
to prevent tampering with the MIME type labeling mechanism itself
|
85100
|
+
when documents are labeled as <code><a href=#text/html-sandboxed>text/html-sandboxed</a></code>. If
|
85101
|
+
an attacker can cause a file to be served as
|
85102
|
+
<code><a href=#text/html>text/html</a></code> instead of
|
85103
|
+
<code><a href=#text/html-sandboxed>text/html-sandboxed</a></code>, then the sandboxing will not
|
85104
|
+
take effect and a cross-site scripting attack will become
|
85105
|
+
possible.</p>
|
84532
85106
|
<p>Beyond this, the type is identical to <code><a href=#text/html>text/html</a></code>,
|
84533
85107
|
and the same considerations apply.</p>
|
84534
85108
|
</dd>
|
@@ -86050,6 +86624,7 @@ interface <a href=#htmldocument>HTMLDocument</a> {
|
|
86050
86624
|
<code><a href=#video>video</a></code></td>
|
86051
86625
|
<td>empty</td>
|
86052
86626
|
<td><a href=#global-attributes title="global attributes">globals</a>;
|
86627
|
+
<code title=attr-track-default><a href=#attr-track-default>default</a></code>;
|
86053
86628
|
<code title=attr-track-kind><a href=#attr-track-kind>kind</a></code>;
|
86054
86629
|
<code title=attr-track-label><a href=#attr-track-label>label</a></code>;
|
86055
86630
|
<code title=attr-track-src><a href=#attr-track-src>src</a></code>;
|
@@ -86552,6 +87127,10 @@ interface <a href=#htmldocument>HTMLDocument</a> {
|
|
86552
87127
|
<td> <code title=attr-time-datetime><a href=#attr-time-datetime>time</a></code>
|
86553
87128
|
<td> Value of the element
|
86554
87129
|
<td> <a href=#valid-date-or-time-string>Valid date or time string</a>*
|
87130
|
+
<tr><th> <code title="">default</code>
|
87131
|
+
<td> <code title=attr-track-default><a href=#attr-track-default>track</a></code>
|
87132
|
+
<td> Enable the track if no other <a href=#timed-track>timed track</a> is more suitable.
|
87133
|
+
<td> <a href=#boolean-attribute>Boolean attribute</a>
|
86555
87134
|
<tr><th> <code title="">defer</code>
|
86556
87135
|
<td> <code title=attr-script-defer><a href=#attr-script-defer>script</a></code>
|
86557
87136
|
<td> Defer script execution
|
@@ -88104,6 +88683,11 @@ interface <a href=#htmldocument>HTMLDocument</a> {
|
|
88104
88683
|
<dd><cite><a href=http://www.w3.org/TR/css3-fonts/>CSS Fonts
|
88105
88684
|
Module Level 3</a></cite>, J. Daggett. W3C.</dd>
|
88106
88685
|
|
88686
|
+
<dt id=refsCSSIMAGES>[CSSIMAGES]</dt>
|
88687
|
+
<dd><cite><a href=http://dev.w3.org/csswg/css3-images/>CSS Image
|
88688
|
+
Values and Replaced Content Module Level 3</a></cite>, E. Etemad,
|
88689
|
+
T. Atkins. W3C.</dd>
|
88690
|
+
|
88107
88691
|
<dt id=refsCSSOM>[CSSOM]</dt>
|
88108
88692
|
<dd><cite><a href=http://dev.w3.org/csswg/cssom/>Cascading Style Sheets
|
88109
88693
|
Object Model (CSSOM)</a></cite>, A. van Kesteren. W3C.</dd>
|
@@ -88121,7 +88705,8 @@ interface <a href=#htmldocument>HTMLDocument</a> {
|
|
88121
88705
|
Interface Module</a></cite>, T. Çelik. W3C.</dd>
|
88122
88706
|
|
88123
88707
|
<dt id=refsCSSVALUES>[CSSVALUES]</dt>
|
88124
|
-
<dd><cite><a href=http://dev.w3.org/csswg/css3-values/>CSS3
|
88708
|
+
<dd><cite><a href=http://dev.w3.org/csswg/css3-values/>CSS3
|
88709
|
+
Values and Units</a></cite>, H. Lie, C. Lilley. W3C.</dd>
|
88125
88710
|
|
88126
88711
|
<dt id=refsDOMCORE>[DOMCORE]</dt>
|
88127
88712
|
<dd><cite><a href=http://www.w3.org/TR/DOM-Level-3-Core/>Document
|
@@ -88383,6 +88968,10 @@ interface <a href=#htmldocument>HTMLDocument</a> {
|
|
88383
88968
|
<dd><cite><a href=http://tools.ietf.org/html/rfc2388>Returning Values from
|
88384
88969
|
Forms: multipart/form-data</a></cite>, L. Masinter. IETF.</dd>
|
88385
88970
|
|
88971
|
+
<dt id=refsRFC2397>[RFC2397]</dt>
|
88972
|
+
<dd><cite><a href=http://tools.ietf.org/html/rfc2397>The "data"
|
88973
|
+
URL scheme</a></cite>, L. Masinter. IETF.</dd>
|
88974
|
+
|
88386
88975
|
<dt id=refsRFC2425>[RFC2425]</dt>
|
88387
88976
|
<dd><cite><a href=http://tools.ietf.org/html/rfc2425>A MIME
|
88388
88977
|
Content-Type for Directory Information</a></cite>, T. Howes,
|
@@ -88951,6 +89540,7 @@ interface <a href=#htmldocument>HTMLDocument</a> {
|
|
88951
89540
|
Julian Reschke,
|
88952
89541
|
Jürgen Jeka,
|
88953
89542
|
Justin Lebar,
|
89543
|
+
Justin Schuh,
|
88954
89544
|
Justin Sinclair,
|
88955
89545
|
Kai Hendry,
|
88956
89546
|
Kartikaya Gupta,
|
@@ -88997,6 +89587,7 @@ interface <a href=#htmldocument>HTMLDocument</a> {
|
|
88997
89587
|
Martin Atkins,
|
88998
89588
|
Martin Dürst,
|
88999
89589
|
Martin Honnen,
|
89590
|
+
Martin Janecke,
|
89000
89591
|
Martin Kutschker,
|
89001
89592
|
Martin Nilsson,
|
89002
89593
|
Martin Thomson,
|
@@ -89064,6 +89655,7 @@ interface <a href=#htmldocument>HTMLDocument</a> {
|
|
89064
89655
|
Paul Norman,
|
89065
89656
|
Per-Erik Brodin,
|
89066
89657
|
Perry Smith,
|
89658
|
+
Peter Beverloo,
|
89067
89659
|
Peter Karlsson,
|
89068
89660
|
Peter Kasting,
|
89069
89661
|
Peter Stark,
|
@@ -89101,7 +89693,9 @@ interface <a href=#htmldocument>HTMLDocument</a> {
|
|
89101
89693
|
Roland Steiner,
|
89102
89694
|
Roman Ivanov,
|
89103
89695
|
Roy Fielding,
|
89696
|
+
Ruud Steltenpool,
|
89104
89697
|
Ryan King,
|
89698
|
+
Ryosuke Niwa,
|
89105
89699
|
S. Mike Dierken,
|
89106
89700
|
Salvatore Loreto,
|
89107
89701
|
Sam Dutton,
|
@@ -89160,6 +89754,7 @@ interface <a href=#htmldocument>HTMLDocument</a> {
|
|
89160
89754
|
Tim Johansson,
|
89161
89755
|
Toby Inkster,
|
89162
89756
|
Todd Moody,
|
89757
|
+
Tom Baker,
|
89163
89758
|
Tom Pike,
|
89164
89759
|
Tommy Thorsen,
|
89165
89760
|
Travis Leithead,
|