[html5] r8849 - [giow] (2) Flesh out how rendering happens in the event loop. This also defines [...]
whatwg at whatwg.org
whatwg at whatwg.org
Wed Nov 19 13:56:47 PST 2014
Author: ianh
Date: 2014-11-19 13:56:43 -0800 (Wed, 19 Nov 2014)
New Revision: 8849
Modified:
complete.html
index
source
Log:
[giow] (2) Flesh out how rendering happens in the event loop. This also defines requestAnimationFrame() and obsoletes the 'Timing control for script-based animations' spec (by request of that spec's editors)
Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=26839
Affected topics: DOM APIs, HTML
Modified: complete.html
===================================================================
--- complete.html 2014-11-12 19:34:25 UTC (rev 8848)
+++ complete.html 2014-11-19 21:56:43 UTC (rev 8849)
@@ -340,7 +340,7 @@
</style><body onload=init()>
<header id=head class="head with-buttons">
<p><a href=https://whatwg.org/ class=logo><img src=//whatwg.org/images/logo width=101 alt=WHATWG height=101></a></p>
- <hgroup><h1 class=allcaps>HTML</h1><h2 id=living-standard-—-last-updated-[date:-01-jan-1901] class="no-num no-toc">Living Standard — Last Updated <span class=pubdate>12 November 2014</span></h2></hgroup>
+ <hgroup><h1 class=allcaps>HTML</h1><h2 id=living-standard-—-last-updated-[date:-01-jan-1901] class="no-num no-toc">Living Standard — Last Updated <span class=pubdate>19 November 2014</span></h2></hgroup>
<nav>
<div>
@@ -381,7 +381,7 @@
on a <code>label</code> element to define a command</a><li><a href=#using-the-accesskey-attribute-on-a-legend-element-to-define-a-command>4.11.6.9 Using the <code>accesskey</code> attribute
on a <code>legend</code> element to define a command</a><li><a href=#using-the-accesskey-attribute-to-define-a-command-on-other-elements>4.11.6.10 Using the <code>accesskey</code>
attribute to define a command on other elements</a></ol><li><a href=#the-dialog-element>4.11.7 The <code>dialog</code> element</a><ol><li><a href=#anchor-points>4.11.7.1 Anchor points</a></ol></ol><li><a href=#scripting-3>4.12 Scripting</a><ol><li><a href=#the-script-element>4.12.1 The <code>script</code> element</a><ol><li><a href=#scriptingLanguages>4.12.1.1 Scripting languages</a><li><a href=#restrictions-for-contents-of-script-elements>4.12.1.2 Restrictions for contents of <code>script</code> elements</a><li><a href=#inline-documentation-for-external-scripts>4.12.1.3 Inline documentation for external scripts</a><li><a href=#scriptTagXSLT>4.12.1.4 Interaction of <code>script</code> elements and XSLT</a></ol><li><a href=#the-noscript-element>4.12.2 The <code>noscript</code> element</a><li><a href=#the-template-element>4.12.3 The <code>template</code> element</a><ol><li><a href=#template-XSLT-XPath>4.12.3.1 Interaction of <code>template</code> elements with XSLT and XPath
</a></ol><li><a href=#the-canvas-element>4.12.4 The <code>canvas</code> element</a><ol><li><a href=#proxying-canvases-to-workers>4.12.4.1 Proxying canvases to workers</a><li><a href=#2dcontext>4.12.4.2 The 2D rendering context</a><ol><li><a href=#implementation-notes>4.12.4.2.1 Implementation notes</a><li><a href=#the-canvas-state>4.12.4.2.2 The canvas state</a><li><a href=#drawingstyle-objects>4.12.4.2.3 <code>DrawingStyle</code> objects</a><li><a href=#line-styles>4.12.4.2.4 Line styles</a><li><a href=#text-styles>4.12.4.2.5 Text styles</a><li><a href=#building-paths>4.12.4.2.6 Building paths</a><li><a href=#path2d-objects>4.12.4.2.7 <code>Path2D</code> objects</a><li><a href=#transformations>4.12.4.2.8 Transformations</a><li><a href=#image-sources-for-2d-rendering-contexts>4.12.4.2.9 Image sources for 2D rendering contexts</a><li><a href=#fill-and-stroke-styles>4.12.4.2.10 Fill and stroke styles</a><li><a href=#drawing-rectangles-to-the-bitmap>4.12.4.2.11 Drawing rectangl
es to the bitmap</a><li><a href=#drawing-text-to-the-bitmap>4.12.4.2.12 Drawing text to the bitmap</a><li><a href=#drawing-paths-to-the-canvas>4.12.4.2.13 Drawing paths to the canvas</a><li><a href=#drawing-images>4.12.4.2.14 Drawing images</a><li><a href=#hit-regions>4.12.4.2.15 Hit regions</a><li><a href=#pixel-manipulation>4.12.4.2.16 Pixel manipulation</a><li><a href=#compositing>4.12.4.2.17 Compositing</a><li><a href=#image-smoothing>4.12.4.2.18 Image smoothing</a><li><a href=#shadows>4.12.4.2.19 Shadows</a><li><a href=#drawing-model>4.12.4.2.20 Drawing model</a><li><a href=#best-practices>4.12.4.2.21 Best practices</a><li><a href=#examples>4.12.4.2.22 Examples</a></ol><li><a href=#colour-spaces-and-colour-correction>4.12.4.3 Colour spaces and colour correction</a><li><a href=#serialising-bitmaps-to-a-file>4.12.4.4 Serialising bitmaps to a file</a><li><a href=#security-with-canvas-elements>4.12.4.5 Security with <code>canvas</code> elements</a></ol></ol><li><a href=#com
mon-idioms>4.13 Common idioms without dedicated elements</a><ol><li><a href=#the-main-part-of-the-content>4.13.1 The main part of the content</a><li><a href=#rel-up>4.13.2 Bread crumb navigation</a><li><a href=#tag-clouds>4.13.3 Tag clouds</a><li><a href=#conversations>4.13.4 Conversations</a><li><a href=#footnotes>4.13.5 Footnotes</a></ol><li><a href=#disabled-elements>4.14 Disabled elements</a><li><a href=#selectors>4.15 Matching HTML elements using selectors</a><ol><li><a href=#case-sensitivity>4.15.1 Case-sensitivity</a><li><a href=#pseudo-classes>4.15.2 Pseudo-classes</a></ol></ol><li id=toc-microdata><a href=#microdata>5 Microdata</a><ol><li><a href=#introduction-7>5.1 Introduction</a><ol><li><a href=#overview>5.1.1 Overview</a><li><a href=#the-basic-syntax>5.1.2 The basic syntax</a><li><a href=#typed-items>5.1.3 Typed items</a><li><a href=#global-identifiers-for-items>5.1.4 Global identifiers for items</a><li><a href=#selecting-names-when-defining-vocabularies>5.1.5 S
electing names when defining vocabularies</a><li><a href=#using-the-microdata-dom-api>5.1.6 Using the microdata DOM API</a></ol><li><a href=#encoding-microdata>5.2 Encoding microdata</a><ol><li><a href=#the-microdata-model>5.2.1 The microdata model</a><li><a href=#items>5.2.2 Items</a><li><a href=#names:-the-itemprop-attribute>5.2.3 Names: the <code>itemprop</code> attribute</a><li><a href=#values>5.2.4 Values</a><li><a href=#associating-names-with-items>5.2.5 Associating names with items</a><li><a href=#microdata-and-other-namespaces>5.2.6 Microdata and other namespaces</a></ol><li><a href=#microdata-dom-api>5.3 Microdata DOM API</a><li><a href=#mdvocabs>5.4 Sample microdata vocabularies</a><ol><li><a href=#vcard>5.4.1 vCard</a><ol><li><a href=#conversion-to-vcard>5.4.1.1 Conversion to vCard</a><li><a href=#examples-2>5.4.1.2 Examples</a></ol><li><a href=#vevent>5.4.2 vEvent</a><ol><li><a href=#conversion-to-icalendar>5.4.2.1 Conversion to iCalendar</a><li><a href=#examples
-3>5.4.2.2 Examples</a></ol><li><a href=#licensing-works>5.4.3 Licensing works</a><ol><li><a href=#examples-4>5.4.3.1 Examples</a></ol></ol><li><a href=#converting-html-to-other-formats>5.5 Converting HTML to other formats</a><ol><li><a href=#json>5.5.1 JSON</a></ol></ol><li id=toc-editing><a href=#editing>6 User interaction</a><ol><li><a href=#the-hidden-attribute>6.1 The <code>hidden</code> attribute</a><li><a href=#inert-subtrees>6.2 Inert subtrees</a><li><a href=#activation>6.3 Activation</a><li><a href=#focus>6.4 Focus</a><ol><li><a href=#introduction-8>6.4.1 Introduction</a><li><a href=#data-model>6.4.2 Data model</a><li><a href=#the-tabindex-attribute>6.4.3 The <code>tabindex</code> attribute</a><li><a href=#processing-model-6>6.4.4 Processing model</a><li><a href=#sequential-focus-navigation>6.4.5 Sequential focus navigation</a><li><a href=#focus-management-apis>6.4.6 Focus management APIs</a></ol><li><a href=#assigning-keyboard-shortcuts>6.5 Assigning keyboard short
cuts</a><ol><li><a href=#introduction-9>6.5.1 Introduction</a><li><a href=#the-accesskey-attribute>6.5.2 The <code>accesskey</code> attribute</a><li><a href=#processing-model-7>6.5.3 Processing model</a></ol><li><a href=#editing-2>6.6 Editing</a><ol><li><a href=#contenteditable>6.6.1 Making document regions editable: The <code>contenteditable</code> content attribute</a><li><a href=#making-entire-documents-editable:-the-designmode-idl-attribute>6.6.2 Making entire documents editable: The <code>designMode</code> IDL attribute</a><li><a href=#best-practices-for-in-page-editors>6.6.3 Best practices for in-page editors</a><li><a href=#editing-apis>6.6.4 Editing APIs</a><li><a href=#spelling-and-grammar-checking>6.6.5 Spelling and grammar checking</a></ol><li><a href=#dnd>6.7 Drag and drop</a><ol><li><a href=#introduction-10>6.7.1 Introduction</a><li><a href=#the-drag-data-store>6.7.2 The drag data store</a><li><a href=#the-datatransfer-interface>6.7.3 The <code>DataTransfer</cod
e> interface</a><ol><li><a href=#the-datatransferitemlist-interface>6.7.3.1 The <code>DataTransferItemList</code> interface</a><li><a href=#the-datatransferitem-interface>6.7.3.2 The <code>DataTransferItem</code> interface</a></ol><li><a href=#the-dragevent-interface>6.7.4 The <code>DragEvent</code> interface</a><li><a href=#drag-and-drop-processing-model>6.7.5 Drag-and-drop processing model</a><li><a href=#dndevents>6.7.6 Events summary</a><li><a href=#the-draggable-attribute>6.7.7 The <code>draggable</code> attribute</a><li><a href=#the-dropzone-attribute>6.7.8 The <code>dropzone</code> attribute</a><li><a href=#security-risks-in-the-drag-and-drop-model>6.7.9 Security risks in the drag-and-drop model</a></ol></ol><li id=toc-browsers><a href=#browsers>7 Loading Web pages</a><ol><li><a href=#windows>7.1 Browsing contexts</a><ol><li><a href=#nested-browsing-contexts>7.1.1 Nested browsing contexts</a><ol><li><a href=#navigating-nested-browsing-contexts-in-the-dom>7.1.1.1 Navig
ating nested browsing contexts in the DOM</a></ol><li><a href=#auxiliary-browsing-contexts>7.1.2 Auxiliary browsing contexts</a><ol><li><a href=#navigating-auxiliary-browsing-contexts-in-the-dom>7.1.2.1 Navigating auxiliary browsing contexts in the DOM</a></ol><li><a href=#secondary-browsing-contexts>7.1.3 Secondary browsing contexts</a><li><a href=#security-nav>7.1.4 Security</a><li><a href=#groupings-of-browsing-contexts>7.1.5 Groupings of browsing contexts</a><li><a href=#browsing-context-names>7.1.6 Browsing context names</a></ol><li><a href=#the-window-object>7.2 The <code>Window</code> object</a><ol><li><a href=#security-window>7.2.1 Security</a><li><a href=#apis-for-creating-and-navigating-browsing-contexts-by-name>7.2.2 APIs for creating and navigating browsing contexts by name</a><li><a href=#accessing-other-browsing-contexts>7.2.3 Accessing other browsing contexts</a><li><a href=#named-access-on-the-window-object>7.2.4 Named access on the <code>Window</code> object
</a><li><a href=#garbage-collection-and-browsing-contexts>7.2.5 Garbage collection and browsing contexts</a><li><a href=#closing-browsing-contexts>7.2.6 Closing browsing contexts</a><li><a href=#browser-interface-elements>7.2.7 Browser interface elements</a><li><a href=#the-windowproxy-object>7.2.8 The <code>WindowProxy</code> object</a></ol><li><a href=#origin>7.3 Origin</a><ol><li><a href=#relaxing-the-same-origin-restriction>7.3.1 Relaxing the same-origin restriction</a></ol><li><a href=#sandboxing>7.4 Sandboxing</a><li><a href=#history>7.5 Session history and navigation</a><ol><li><a href=#the-session-history-of-browsing-contexts>7.5.1 The session history of browsing contexts</a><li><a href=#the-history-interface>7.5.2 The <code>History</code> interface</a><li><a href=#the-location-interface>7.5.3 The <code>Location</code> interface</a><ol><li><a href=#security-location>7.5.3.1 Security</a></ol><li><a href=#history-notes>7.5.4 Implementation notes for session history</a>
</ol><li><a href=#browsing-the-web>7.6 Browsing the Web</a><ol><li><a href=#navigating-across-documents>7.6.1 Navigating across documents</a><li><a href=#read-html>7.6.2 Page load processing model for HTML files</a><li><a href=#read-xml>7.6.3 Page load processing model for XML files</a><li><a href=#read-text>7.6.4 Page load processing model for text files</a><li><a href=#read-multipart-x-mixed-replace>7.6.5 Page load processing model for <code>multipart/x-mixed-replace</code> resources</a><li><a href=#read-media>7.6.6 Page load processing model for media</a><li><a href=#read-plugin>7.6.7 Page load processing model for content that uses plugins</a><li><a href=#read-ua-inline>7.6.8 Page load processing model for inline
- content that doesn't have a DOM</a><li><a href=#scroll-to-fragid>7.6.9 Navigating to a fragment identifier</a><li><a href=#history-traversal>7.6.10 History traversal</a><ol><li><a href=#the-popstateevent-interface>7.6.10.1 The <code>PopStateEvent</code> interface</a><li><a href=#the-hashchangeevent-interface>7.6.10.2 The <code>HashChangeEvent</code> interface</a><li><a href=#the-pagetransitionevent-interface>7.6.10.3 The <code>PageTransitionEvent</code> interface</a></ol><li><a href=#unloading-documents>7.6.11 Unloading documents</a><ol><li><a href=#the-beforeunloadevent-interface>7.6.11.1 The <code>BeforeUnloadEvent</code> interface</a></ol><li><a href=#aborting-a-document-load>7.6.12 Aborting a document load</a></ol><li><a href=#offline>7.7 Offline Web applications</a><ol><li><a href=#introduction-11>7.7.1 Introduction</a><ol><li><a href=#supporting-offline-caching-for-legacy-applications>7.7.1.1 Supporting offline caching for legacy applications</a><li><a href=#appcache
events>7.7.1.2 Event summary</a></ol><li><a href=#appcache>7.7.2 Application caches</a><li><a href=#manifests>7.7.3 The cache manifest syntax</a><ol><li><a href=#some-sample-manifests>7.7.3.1 Some sample manifests</a><li><a href=#writing-cache-manifests>7.7.3.2 Writing cache manifests</a><li><a href=#parsing-cache-manifests>7.7.3.3 Parsing cache manifests</a></ol><li><a href=#downloading-or-updating-an-application-cache>7.7.4 Downloading or updating an application cache</a><li><a href=#the-application-cache-selection-algorithm>7.7.5 The application cache selection algorithm</a><li><a href=#changesToNetworkingModel>7.7.6 Changes to the networking model</a><li><a href=#expiring-application-caches>7.7.7 Expiring application caches</a><li><a href=#disk-space>7.7.8 Disk space</a><li><a href=#security-concerns-with-offline-applications-caches>7.7.9 Security concerns with offline applications caches</a><li><a href=#application-cache-api>7.7.10 Application cache API</a><li><a href=#
navigator.online>7.7.11 Browser state</a></ol></ol><li id=toc-webappapis><a href=#webappapis>8 Web application APIs</a><ol><li><a href=#scripting>8.1 Scripting</a><ol><li><a href=#introduction-12>8.1.1 Introduction</a><li><a href=#enabling-and-disabling-scripting>8.1.2 Enabling and disabling scripting</a><li><a href=#processing-model-8>8.1.3 Processing model</a><ol><li><a href=#definitions-2>8.1.3.1 Definitions</a><li><a href=#script-settings-for-browsing-contexts>8.1.3.2 Script settings for browsing contexts</a><li><a href=#calling-scripts>8.1.3.3 Calling scripts</a><li><a href=#creating-scripts>8.1.3.4 Creating scripts</a><li><a href=#killing-scripts>8.1.3.5 Killing scripts</a><li><a href=#runtime-script-errors>8.1.3.6 Runtime script errors</a><ol><li><a href=#runtime-script-errors-in-documents>8.1.3.6.1 Runtime script errors in documents</a><li><a href=#the-errorevent-interface>8.1.3.6.2 The <code>ErrorEvent</code> interface</a></ol></ol><li><a href=#event-loops>8.1.4 Eve
nt loops</a><ol><li><a href=#definitions-3>8.1.4.1 Definitions</a><li><a href=#processing-model-9>8.1.4.2 Processing model</a><li><a href=#generic-task-sources>8.1.4.3 Generic task sources</a></ol><li><a href=#events>8.1.5 Events</a><ol><li><a href=#event-handler-attributes>8.1.5.1 Event handlers</a><li><a href=#event-handlers-on-elements,-document-objects,-and-window-objects>8.1.5.2 Event handlers on elements, <code>Document</code> objects, and <code>Window</code> objects</a><ol><li><a href=#idl-definitions>8.1.5.2.1 IDL definitions</a></ol><li><a href=#event-firing>8.1.5.3 Event firing</a><li><a href=#events-and-the-window-object>8.1.5.4 Events and the <code>Window</code> object</a></ol></ol><li><a href=#atob>8.2 Base64 utility methods</a><li><a href=#dynamic-markup-insertion>8.3 Dynamic markup insertion</a><ol><li><a href=#opening-the-input-stream>8.3.1 Opening the input stream</a><li><a href=#closing-the-input-stream>8.3.2 Closing the input stream</a><li><a href=#documen
t.write()>8.3.3 <code>document.write()</code></a><li><a href=#document.writeln()>8.3.4 <code>document.writeln()</code></a></ol><li><a href=#timers>8.4 Timers</a><li><a href=#user-prompts>8.5 User prompts</a><ol><li><a href=#simple-dialogs>8.5.1 Simple dialogs</a><li><a href=#printing>8.5.2 Printing</a><li><a href=#dialogs-implemented-using-separate-documents>8.5.3 Dialogs implemented using separate documents with <code>showModalDialog()</code></a></ol><li><a href=#system-state-and-capabilities>8.6 System state and capabilities</a><ol><li><a href=#the-navigator-object>8.6.1 The <code>Navigator</code> object</a><ol><li><a href=#client-identification>8.6.1.1 Client identification</a><li><a href=#language-preferences>8.6.1.2 Language preferences</a><li><a href=#custom-handlers>8.6.1.3 Custom scheme and content handlers: the <code>registerProtocolHandler()</code> and <code>registerContentHandler()</code> methods</a><ol><li><a href=#security-and-privacy>8.6.1.3.1 Security and priv
acy</a><li><a href=#sample-handler-impl>8.6.1.3.2 Sample user interface</a></ol><li><a href=#manually-releasing-the-storage-mutex>8.6.1.4 Manually releasing the storage mutex</a><li><a href=#plugins-2>8.6.1.5 Plugins</a></ol><li><a href=#the-external-interface>8.6.2 The <code>External</code> interface</a></ol><li><a href=#images>8.7 Images</a></ol><li id=toc-comms><a href=#comms>9 Communication</a><ol><li><a href=#the-messageevent-interfaces>9.1 The <code>MessageEvent</code> interfaces</a><li><a href=#server-sent-events>9.2 Server-sent events</a><ol><li><a href=#server-sent-events-intro>9.2.1 Introduction</a><li><a href=#the-eventsource-interface>9.2.2 The <code>EventSource</code> interface</a><li><a href=#processing-model-10>9.2.3 Processing model</a><li><a href=#parsing-an-event-stream>9.2.4 Parsing an event stream</a><li><a href=#event-stream-interpretation>9.2.5 Interpreting an event stream</a><li><a href=#authoring-notes>9.2.6 Authoring notes</a><li><a href=#eventsource
-push>9.2.7 Connectionless push and other features</a><li><a href=#garbage-collection-2>9.2.8 Garbage collection</a><li><a href=#implementation-advice>9.2.9 Implementation advice</a><li><a href=#iana-considerations>9.2.10 IANA considerations</a><ol><li><a href=#text/event-stream>9.2.10.1 <code>text/event-stream</code></a><li><a href=#last-event-id>9.2.10.2 <code>Last-Event-ID</code></a></ol></ol><li><a href=#network>9.3 Web sockets</a><ol><li><a href=#network-intro>9.3.1 Introduction</a><li><a href=#the-websocket-interface>9.3.2 The <code>WebSocket</code> interface</a><li><a href=#feedback-from-the-protocol>9.3.3 Feedback from the protocol</a><li><a href=#ping-and-pong-frames>9.3.4 Ping and Pong frames</a><li><a href=#parsing-websocket-urls>9.3.5 Parsing WebSocket URLs</a><li><a href=#the-closeevent-interfaces>9.3.6 The <code>CloseEvent</code> interfaces</a><li><a href=#garbage-collection-3>9.3.7 Garbage collection</a></ol><li><a href=#web-messaging>9.4 Cross-document messag
ing</a><ol><li><a href=#introduction-13>9.4.1 Introduction</a><li><a href=#security-postmsg>9.4.2 Security</a><ol><li><a href=#authors>9.4.2.1 Authors</a><li><a href=#user-agents>9.4.2.2 User agents</a></ol><li><a href=#posting-messages>9.4.3 Posting messages</a></ol><li><a href=#channel-messaging>9.5 Channel messaging</a><ol><li><a href=#introduction-14>9.5.1 Introduction</a><ol><li><a href=#examples-5>9.5.1.1 Examples</a><li><a href=#ports-as-the-basis-of-an-object-capability-model-on-the-web>9.5.1.2 Ports as the basis of an object-capability model on the Web</a><li><a href=#ports-as-the-basis-of-abstracting-out-service-implementations>9.5.1.3 Ports as the basis of abstracting out service implementations</a></ol><li><a href=#message-channels>9.5.2 Message channels</a><li><a href=#message-ports>9.5.3 Message ports</a><li><a href=#broadcasting-to-many-ports>9.5.4 Broadcasting to many ports</a><li><a href=#ports-and-garbage-collection>9.5.5 Ports and garbage collection</a></o
l><li><a href=#broadcasting-to-other-browsing-contexts>9.6 Broadcasting to other browsing contexts</a></ol><li id=toc-workers><a href=#workers>10 Web workers</a><ol><li><a href=#introduction-15>10.1 Introduction</a><ol><li><a href=#scope-2>10.1.1 Scope</a><li><a href=#examples-6>10.1.2 Examples</a><ol><li><a href=#a-background-number-crunching-worker>10.1.2.1 A background number-crunching worker</a><li><a href=#worker-used-for-background-i/o>10.1.2.2 Worker used for background I/O</a><li><a href=#shared-workers-introduction>10.1.2.3 Shared workers introduction</a><li><a href=#shared-state-using-a-shared-worker>10.1.2.4 Shared state using a shared worker</a><li><a href=#delegation>10.1.2.5 Delegation</a></ol><li><a href=#tutorials>10.1.3 Tutorials</a><ol><li><a href=#creating-a-dedicated-worker>10.1.3.1 Creating a dedicated worker</a><li><a href=#communicating-with-a-dedicated-worker>10.1.3.2 Communicating with a dedicated worker</a><li><a href=#shared-workers>10.1.3.3 Shared
workers</a></ol></ol><li><a href=#infrastructure-2>10.2 Infrastructure</a><ol><li><a href=#the-global-scope>10.2.1 The global scope</a><ol><li><a href=#the-workerglobalscope-common-interface>10.2.1.1 The <code>WorkerGlobalScope</code> common interface</a><li><a href=#dedicated-workers-and-the-dedicatedworkerglobalscope-interface>10.2.1.2 Dedicated workers and the <code>DedicatedWorkerGlobalScope</code> interface</a><li><a href=#shared-workers-and-the-sharedworkerglobalscope-interface>10.2.1.3 Shared workers and the <code>SharedWorkerGlobalScope</code> interface</a></ol><li><a href=#worker-event-loop>10.2.2 The event loop</a><li><a href="#the-worker's-lifetime">10.2.3 The worker's lifetime</a><li><a href=#processing-model-11>10.2.4 Processing model</a><li><a href=#runtime-script-errors-2>10.2.5 Runtime script errors</a><li><a href=#creating-workers>10.2.6 Creating workers</a><ol><li><a href=#the-abstractworker-abstract-interface>10.2.6.1 The <code>AbstractWorker</code> abstr
act interface</a><li><a href=#script-settings-for-workers>10.2.6.2 Script settings for workers</a><li><a href=#dedicated-workers-and-the-worker-interface>10.2.6.3 Dedicated workers and the <code>Worker</code> interface</a><li><a href=#shared-workers-and-the-sharedworker-interface>10.2.6.4 Shared workers and the <code>SharedWorker</code> interface</a></ol></ol><li><a href=#apis-available-to-workers>10.3 APIs available to workers</a><ol><li><a href=#importing-scripts-and-libraries>10.3.1 Importing scripts and libraries</a><li><a href=#the-workernavigator-object>10.3.2 The <code>WorkerNavigator</code> object</a><li><a href=#worker-locations>10.3.3 Worker locations</a></ol></ol><li id=toc-webstorage><a href=#webstorage>11 Web storage</a><ol><li><a href=#introduction-16>11.1 Introduction</a><li><a href=#storage>11.2 The API</a><ol><li><a href=#the-storage-interface>11.2.1 The <code>Storage</code> interface</a><li><a href=#the-sessionstorage-attribute>11.2.2 The <code>sessionStora
ge</code> attribute</a><li><a href=#the-localstorage-attribute>11.2.3 The <code>localStorage</code> attribute</a><li><a href=#the-storage-event>11.2.4 The <code>storage</code> event</a><ol><li><a href=#the-storageevent-interface>11.2.4.1 The <code>StorageEvent</code> interface</a></ol><li><a href=#threads>11.2.5 Threads</a></ol><li><a href=#disk-space-2>11.3 Disk space</a><li><a href=#privacy>11.4 Privacy</a><ol><li><a href=#user-tracking>11.4.1 User tracking</a><li><a href=#sensitivity-of-data>11.4.2 Sensitivity of data</a></ol><li><a href=#security-storage>11.5 Security</a><ol><li><a href=#dns-spoofing-attacks>11.5.1 DNS spoofing attacks</a><li><a href=#cross-directory-attacks>11.5.2 Cross-directory attacks</a><li><a href=#implementation-risks>11.5.3 Implementation risks</a></ol></ol><li id=toc-syntax><a href=#syntax>12 The HTML syntax</a><ol><li><a href=#writing>12.1 Writing HTML documents</a><ol><li><a href=#the-doctype>12.1.1 The DOCTYPE</a><li><a href=#elements-2>12.1.
2 Elements</a><ol><li><a href=#start-tags>12.1.2.1 Start tags</a><li><a href=#end-tags>12.1.2.2 End tags</a><li><a href=#attributes-2>12.1.2.3 Attributes</a><li><a href=#optional-tags>12.1.2.4 Optional tags</a><li><a href=#element-restrictions>12.1.2.5 Restrictions on content models</a><li><a href=#cdata-rcdata-restrictions>12.1.2.6 Restrictions on the contents of raw text and escapable raw text elements</a></ol><li><a href=#text-2>12.1.3 Text</a><ol><li><a href=#newlines>12.1.3.1 Newlines</a></ol><li><a href=#character-references>12.1.4 Character references</a><li><a href=#cdata-sections>12.1.5 CDATA sections</a><li><a href=#comments>12.1.6 Comments</a></ol><li><a href=#parsing>12.2 Parsing HTML documents</a><ol><li><a href=#overview-of-the-parsing-model>12.2.1 Overview of the parsing model</a><li><a href=#the-input-byte-stream>12.2.2 The input byte stream</a><ol><li><a href=#parsing-with-a-known-character-encoding>12.2.2.1 Parsing with a known character encoding</a><li><a
href=#determining-the-character-encoding>12.2.2.2 Determining the character encoding</a><li><a href=#character-encodings>12.2.2.3 Character encodings</a><li><a href=#changing-the-encoding-while-parsing>12.2.2.4 Changing the encoding while parsing</a><li><a href=#preprocessing-the-input-stream>12.2.2.5 Preprocessing the input stream</a></ol><li><a href=#parse-state>12.2.3 Parse state</a><ol><li><a href=#the-insertion-mode>12.2.3.1 The insertion mode</a><li><a href=#the-stack-of-open-elements>12.2.3.2 The stack of open elements</a><li><a href=#the-list-of-active-formatting-elements>12.2.3.3 The list of active formatting elements</a><li><a href=#the-element-pointers>12.2.3.4 The element pointers</a><li><a href=#other-parsing-state-flags>12.2.3.5 Other parsing state flags</a></ol><li><a href=#tokenization>12.2.4 Tokenization</a><ol><li><a href=#data-state>12.2.4.1 Data state</a><li><a href=#character-reference-in-data-state>12.2.4.2 Character reference in data state</a><li><a hr
ef=#rcdata-state>12.2.4.3 RCDATA state</a><li><a href=#character-reference-in-rcdata-state>12.2.4.4 Character reference in RCDATA state</a><li><a href=#rawtext-state>12.2.4.5 RAWTEXT state</a><li><a href=#script-data-state>12.2.4.6 Script data state</a><li><a href=#plaintext-state>12.2.4.7 PLAINTEXT state</a><li><a href=#tag-open-state>12.2.4.8 Tag open state</a><li><a href=#end-tag-open-state>12.2.4.9 End tag open state</a><li><a href=#tag-name-state>12.2.4.10 Tag name state</a><li><a href=#rcdata-less-than-sign-state>12.2.4.11 RCDATA less-than sign state</a><li><a href=#rcdata-end-tag-open-state>12.2.4.12 RCDATA end tag open state</a><li><a href=#rcdata-end-tag-name-state>12.2.4.13 RCDATA end tag name state</a><li><a href=#rawtext-less-than-sign-state>12.2.4.14 RAWTEXT less-than sign state</a><li><a href=#rawtext-end-tag-open-state>12.2.4.15 RAWTEXT end tag open state</a><li><a href=#rawtext-end-tag-name-state>12.2.4.16 RAWTEXT end tag name state</a><li><a href=#script-dat
a-less-than-sign-state>12.2.4.17 Script data less-than sign state</a><li><a href=#script-data-end-tag-open-state>12.2.4.18 Script data end tag open state</a><li><a href=#script-data-end-tag-name-state>12.2.4.19 Script data end tag name state</a><li><a href=#script-data-escape-start-state>12.2.4.20 Script data escape start state</a><li><a href=#script-data-escape-start-dash-state>12.2.4.21 Script data escape start dash state</a><li><a href=#script-data-escaped-state>12.2.4.22 Script data escaped state</a><li><a href=#script-data-escaped-dash-state>12.2.4.23 Script data escaped dash state</a><li><a href=#script-data-escaped-dash-dash-state>12.2.4.24 Script data escaped dash dash state</a><li><a href=#script-data-escaped-less-than-sign-state>12.2.4.25 Script data escaped less-than sign state</a><li><a href=#script-data-escaped-end-tag-open-state>12.2.4.26 Script data escaped end tag open state</a><li><a href=#script-data-escaped-end-tag-name-state>12.2.4.27 Script data escaped
end tag name state</a><li><a href=#script-data-double-escape-start-state>12.2.4.28 Script data double escape start state</a><li><a href=#script-data-double-escaped-state>12.2.4.29 Script data double escaped state</a><li><a href=#script-data-double-escaped-dash-state>12.2.4.30 Script data double escaped dash state</a><li><a href=#script-data-double-escaped-dash-dash-state>12.2.4.31 Script data double escaped dash dash state</a><li><a href=#script-data-double-escaped-less-than-sign-state>12.2.4.32 Script data double escaped less-than sign state</a><li><a href=#script-data-double-escape-end-state>12.2.4.33 Script data double escape end state</a><li><a href=#before-attribute-name-state>12.2.4.34 Before attribute name state</a><li><a href=#attribute-name-state>12.2.4.35 Attribute name state</a><li><a href=#after-attribute-name-state>12.2.4.36 After attribute name state</a><li><a href=#before-attribute-value-state>12.2.4.37 Before attribute value state</a><li><a href=#attribute-va
lue-(double-quoted)-state>12.2.4.38 Attribute value (double-quoted) state</a><li><a href=#attribute-value-(single-quoted)-state>12.2.4.39 Attribute value (single-quoted) state</a><li><a href=#attribute-value-(unquoted)-state>12.2.4.40 Attribute value (unquoted) state</a><li><a href=#character-reference-in-attribute-value-state>12.2.4.41 Character reference in attribute value state</a><li><a href=#after-attribute-value-(quoted)-state>12.2.4.42 After attribute value (quoted) state</a><li><a href=#self-closing-start-tag-state>12.2.4.43 Self-closing start tag state</a><li><a href=#bogus-comment-state>12.2.4.44 Bogus comment state</a><li><a href=#markup-declaration-open-state>12.2.4.45 Markup declaration open state</a><li><a href=#comment-start-state>12.2.4.46 Comment start state</a><li><a href=#comment-start-dash-state>12.2.4.47 Comment start dash state</a><li><a href=#comment-state>12.2.4.48 Comment state</a><li><a href=#comment-end-dash-state>12.2.4.49 Comment end dash state</
a><li><a href=#comment-end-state>12.2.4.50 Comment end state</a><li><a href=#comment-end-bang-state>12.2.4.51 Comment end bang state</a><li><a href=#doctype-state>12.2.4.52 DOCTYPE state</a><li><a href=#before-doctype-name-state>12.2.4.53 Before DOCTYPE name state</a><li><a href=#doctype-name-state>12.2.4.54 DOCTYPE name state</a><li><a href=#after-doctype-name-state>12.2.4.55 After DOCTYPE name state</a><li><a href=#after-doctype-public-keyword-state>12.2.4.56 After DOCTYPE public keyword state</a><li><a href=#before-doctype-public-identifier-state>12.2.4.57 Before DOCTYPE public identifier state</a><li><a href=#doctype-public-identifier-(double-quoted)-state>12.2.4.58 DOCTYPE public identifier (double-quoted) state</a><li><a href=#doctype-public-identifier-(single-quoted)-state>12.2.4.59 DOCTYPE public identifier (single-quoted) state</a><li><a href=#after-doctype-public-identifier-state>12.2.4.60 After DOCTYPE public identifier state</a><li><a href=#between-doctype-public
-and-system-identifiers-state>12.2.4.61 Between DOCTYPE public and system identifiers state</a><li><a href=#after-doctype-system-keyword-state>12.2.4.62 After DOCTYPE system keyword state</a><li><a href=#before-doctype-system-identifier-state>12.2.4.63 Before DOCTYPE system identifier state</a><li><a href=#doctype-system-identifier-(double-quoted)-state>12.2.4.64 DOCTYPE system identifier (double-quoted) state</a><li><a href=#doctype-system-identifier-(single-quoted)-state>12.2.4.65 DOCTYPE system identifier (single-quoted) state</a><li><a href=#after-doctype-system-identifier-state>12.2.4.66 After DOCTYPE system identifier state</a><li><a href=#bogus-doctype-state>12.2.4.67 Bogus DOCTYPE state</a><li><a href=#cdata-section-state>12.2.4.68 CDATA section state</a><li><a href=#tokenizing-character-references>12.2.4.69 Tokenizing character references</a></ol><li><a href=#tree-construction>12.2.5 Tree construction</a><ol><li><a href=#creating-and-inserting-nodes>12.2.5.1 Creatin
g and inserting nodes</a><li><a href=#parsing-elements-that-contain-only-text>12.2.5.2 Parsing elements that contain only text</a><li><a href=#closing-elements-that-have-implied-end-tags>12.2.5.3 Closing elements that have implied end tags</a><li><a href=#parsing-main-inhtml>12.2.5.4 The rules for parsing tokens in HTML content</a><ol><li><a href=#the-initial-insertion-mode>12.2.5.4.1 The "initial" insertion mode</a><li><a href=#the-before-html-insertion-mode>12.2.5.4.2 The "before html" insertion mode</a><li><a href=#the-before-head-insertion-mode>12.2.5.4.3 The "before head" insertion mode</a><li><a href=#parsing-main-inhead>12.2.5.4.4 The "in head" insertion mode</a><li><a href=#parsing-main-inheadnoscript>12.2.5.4.5 The "in head noscript" insertion mode</a><li><a href=#the-after-head-insertion-mode>12.2.5.4.6 The "after head" insertion mode</a><li><a href=#parsing-main-inbody>12.2.5.4.7 The "in body" insertion mode</a><li><a href=#parsing-main-incdata>12.2.5.4.8 The "tex
t" insertion mode</a><li><a href=#parsing-main-intable>12.2.5.4.9 The "in table" insertion mode</a><li><a href=#parsing-main-intabletext>12.2.5.4.10 The "in table text" insertion mode</a><li><a href=#parsing-main-incaption>12.2.5.4.11 The "in caption" insertion mode</a><li><a href=#parsing-main-incolgroup>12.2.5.4.12 The "in column group" insertion mode</a><li><a href=#parsing-main-intbody>12.2.5.4.13 The "in table body" insertion mode</a><li><a href=#parsing-main-intr>12.2.5.4.14 The "in row" insertion mode</a><li><a href=#parsing-main-intd>12.2.5.4.15 The "in cell" insertion mode</a><li><a href=#parsing-main-inselect>12.2.5.4.16 The "in select" insertion mode</a><li><a href=#parsing-main-inselectintable>12.2.5.4.17 The "in select in table" insertion mode</a><li><a href=#parsing-main-intemplate>12.2.5.4.18 The "in template" insertion mode</a><li><a href=#parsing-main-afterbody>12.2.5.4.19 The "after body" insertion mode</a><li><a href=#parsing-main-inframeset>12.2.5.4.20 Th
e "in frameset" insertion mode</a><li><a href=#parsing-main-afterframeset>12.2.5.4.21 The "after frameset" insertion mode</a><li><a href=#the-after-after-body-insertion-mode>12.2.5.4.22 The "after after body" insertion mode</a><li><a href=#the-after-after-frameset-insertion-mode>12.2.5.4.23 The "after after frameset" insertion mode</a></ol><li><a href=#parsing-main-inforeign>12.2.5.5 The rules for parsing tokens in foreign content</a></ol><li><a href=#the-end>12.2.6 The end</a><li><a href=#coercing-an-html-dom-into-an-infoset>12.2.7 Coercing an HTML DOM into an infoset</a><li><a href=#an-introduction-to-error-handling-and-strange-cases-in-the-parser>12.2.8 An introduction to error handling and strange cases in the parser</a><ol><li><a href=#misnested-tags:-b-i-/b-/i>12.2.8.1 Misnested tags: <b><i></b></i></a><li><a href=#misnested-tags:-b-p-/b-/p>12.2.8.2 Misnested tags: <b><p></b></p></a><li><a href=#unexpected-markup-in-tables>12.2.8.3 Unexpected ma
rkup in tables</a><li><a href=#scripts-that-modify-the-page-as-it-is-being-parsed>12.2.8.4 Scripts that modify the page as it is being parsed</a><li><a href=#the-execution-of-scripts-that-are-moving-across-multiple-documents>12.2.8.5 The execution of scripts that are moving across multiple documents</a><li><a href=#unclosed-formatting-elements>12.2.8.6 Unclosed formatting elements</a></ol></ol><li><a href=#serialising-html-fragments>12.3 Serialising HTML fragments</a><li><a href=#parsing-html-fragments>12.4 Parsing HTML fragments</a><li><a href=#named-character-references>12.5 Named character references</a></ol><li id=toc-the-xhtml-syntax><a href=#the-xhtml-syntax>13 The XHTML syntax</a><ol><li><a href=#writing-xhtml-documents>13.1 Writing XHTML documents</a><li><a href=#parsing-xhtml-documents>13.2 Parsing XHTML documents</a><li><a href=#serialising-xhtml-fragments>13.3 Serialising XHTML fragments</a><li><a href=#parsing-xhtml-fragments>13.4 Parsing XHTML fragments</a></ol>
<li id=toc-rendering><a href=#rendering>14 Rendering</a><ol><li><a href=#introduction-17>14.1 Introduction</a><li><a href=#the-css-user-agent-style-sheet-and-presentational-hints>14.2 The CSS user agent style sheet and presentational hints</a><li><a href=#non-replaced-elements>14.3 Non-replaced elements</a><ol><li><a href=#hidden-elements>14.3.1 Hidden elements</a><li><a href=#the-page>14.3.2 The page</a><li><a href=#flow-content-3>14.3.3 Flow content</a><li><a href=#phrasing-content-3>14.3.4 Phrasing content</a><li><a href=#bidi-rendering>14.3.5 Bidirectional text</a><li><a href=#quotes>14.3.6 Quotes</a><li><a href=#sections-and-headings>14.3.7 Sections and headings</a><li><a href=#lists>14.3.8 Lists</a><li><a href=#tables-2>14.3.9 Tables</a><li><a href=#margin-collapsing-quirks>14.3.10 Margin collapsing quirks</a><li><a href=#form-controls>14.3.11 Form controls</a><li><a href=#the-hr-element-2>14.3.12 The <code>hr</code> element</a><li><a href=#the-fieldset-and-legend-elem
ents>14.3.13 The <code>fieldset</code> and <code>legend</code> elements</a></ol><li><a href=#replaced-elements>14.4 Replaced elements</a><ol><li><a href=#embedded-content-rendering-rules>14.4.1 Embedded content</a><li><a href=#images-2>14.4.2 Images</a><li><a href=#attributes-for-embedded-content-and-images>14.4.3 Attributes for embedded content and images</a><li><a href=#image-maps-2>14.4.4 Image maps</a></ol><li><a href=#bindings>14.5 Bindings</a><ol><li><a href=#introduction-18>14.5.1 Introduction</a><li><a href=#the-button-element-2>14.5.2 The <code>button</code> element</a><li><a href=#the-details-element-2>14.5.3 The <code>details</code> element</a><li><a href=#the-input-element-as-a-text-entry-widget>14.5.4 The <code>input</code> element as a text entry widget</a><li><a href=#the-input-element-as-domain-specific-widgets>14.5.5 The <code>input</code> element as domain-specific widgets</a><li><a href=#the-input-element-as-a-range-control>14.5.6 The <code>input</code> el
ement as a range control</a><li><a href=#the-input-element-as-a-colour-well>14.5.7 The <code>input</code> element as a colour well</a><li><a href=#the-input-element-as-a-checkbox-and-radio-button-widgets>14.5.8 The <code>input</code> element as a checkbox and radio button widgets</a><li><a href=#the-input-element-as-a-file-upload-control>14.5.9 The <code>input</code> element as a file upload control</a><li><a href=#the-input-element-as-a-button>14.5.10 The <code>input</code> element as a button</a><li><a href=#the-marquee-element>14.5.11 The <code>marquee</code> element</a><li><a href=#the-meter-element-2>14.5.12 The <code>meter</code> element</a><li><a href=#the-progress-element-2>14.5.13 The <code>progress</code> element</a><li><a href=#the-select-element-2>14.5.14 The <code>select</code> element</a><li><a href=#the-textarea-element-2>14.5.15 The <code>textarea</code> element</a><li><a href=#the-keygen-element-2>14.5.16 The <code>keygen</code> element</a></ol><li><a href=#
frames-and-framesets>14.6 Frames and framesets</a><li><a href=#interactive-media>14.7 Interactive media</a><ol><li><a href=#links,-forms,-and-navigation>14.7.1 Links, forms, and navigation</a><li><a href=#the-title-attribute-2>14.7.2 The <code>title</code> attribute</a><li><a href=#editing-hosts>14.7.3 Editing hosts</a><li><a href=#text-rendered-in-native-user-interfaces>14.7.4 Text rendered in native user interfaces</a></ol><li><a href=#print-media>14.8 Print media</a><li><a href=#unstyled-xml-documents>14.9 Unstyled XML documents</a></ol><li id=toc-obsolete><a href=#obsolete>15 Obsolete features</a><ol><li><a href=#obsolete-but-conforming-features>15.1 Obsolete but conforming features</a><ol><li><a href=#warnings-for-obsolete-but-conforming-features>15.1.1 Warnings for obsolete but conforming features</a></ol><li><a href=#non-conforming-features>15.2 Non-conforming features</a><li><a href=#requirements-for-implementations>15.3 Requirements for implementations</a><ol><li><a
href=#the-applet-element>15.3.1 The <code>applet</code> element</a><li><a href=#the-marquee-element-2>15.3.2 The <code>marquee</code> element</a><li><a href=#frames>15.3.3 Frames</a><li><a href=#other-elements,-attributes-and-apis>15.3.4 Other elements, attributes and APIs</a></ol></ol><li id=toc-iana><a href=#iana>16 IANA considerations</a><ol><li><a href=#text/html>16.1 <code>text/html</code></a><li><a href=#multipart/x-mixed-replace>16.2 <code>multipart/x-mixed-replace</code></a><li><a href=#application/xhtml+xml>16.3 <code>application/xhtml+xml</code></a><li><a href=#application/x-www-form-urlencoded>16.4 <code>application/x-www-form-urlencoded</code></a><li><a href=#text/cache-manifest>16.5 <code>text/cache-manifest</code></a><li><a href=#text/ping>16.6 <code>text/ping</code></a><li><a href=#application/microdata+json>16.7 <code>application/microdata+json</code></a><li><a href=#ping-from>16.8 <code>Ping-From</code></a><li><a href=#ping-to>16.9 <code>Ping-To</code></a><
li><a href=#web+-scheme-prefix>16.10 <code>web+</code> scheme prefix</a></ol><li id=toc-index><a href=#index>Index</a><ol><li><a href=#elements-3>Elements</a><li><a href=#element-content-categories>Element content categories</a><li><a href=#attributes-3>Attributes</a><li><a href=#element-interfaces>Element Interfaces</a><li><a href=#all-interfaces>All Interfaces</a><li><a href=#events-2>Events</a><li><a href=#mime-types-2>MIME Types</a></ol><li id=toc-references><a href=#references>References</a><li id=toc-acknowledgments><a href=#acknowledgments>Acknowledgements</a></ol>
+ content that doesn't have a DOM</a><li><a href=#scroll-to-fragid>7.6.9 Navigating to a fragment identifier</a><li><a href=#history-traversal>7.6.10 History traversal</a><ol><li><a href=#the-popstateevent-interface>7.6.10.1 The <code>PopStateEvent</code> interface</a><li><a href=#the-hashchangeevent-interface>7.6.10.2 The <code>HashChangeEvent</code> interface</a><li><a href=#the-pagetransitionevent-interface>7.6.10.3 The <code>PageTransitionEvent</code> interface</a></ol><li><a href=#unloading-documents>7.6.11 Unloading documents</a><ol><li><a href=#the-beforeunloadevent-interface>7.6.11.1 The <code>BeforeUnloadEvent</code> interface</a></ol><li><a href=#aborting-a-document-load>7.6.12 Aborting a document load</a></ol><li><a href=#offline>7.7 Offline Web applications</a><ol><li><a href=#introduction-11>7.7.1 Introduction</a><ol><li><a href=#supporting-offline-caching-for-legacy-applications>7.7.1.1 Supporting offline caching for legacy applications</a><li><a href=#appcache
events>7.7.1.2 Event summary</a></ol><li><a href=#appcache>7.7.2 Application caches</a><li><a href=#manifests>7.7.3 The cache manifest syntax</a><ol><li><a href=#some-sample-manifests>7.7.3.1 Some sample manifests</a><li><a href=#writing-cache-manifests>7.7.3.2 Writing cache manifests</a><li><a href=#parsing-cache-manifests>7.7.3.3 Parsing cache manifests</a></ol><li><a href=#downloading-or-updating-an-application-cache>7.7.4 Downloading or updating an application cache</a><li><a href=#the-application-cache-selection-algorithm>7.7.5 The application cache selection algorithm</a><li><a href=#changesToNetworkingModel>7.7.6 Changes to the networking model</a><li><a href=#expiring-application-caches>7.7.7 Expiring application caches</a><li><a href=#disk-space>7.7.8 Disk space</a><li><a href=#security-concerns-with-offline-applications-caches>7.7.9 Security concerns with offline applications caches</a><li><a href=#application-cache-api>7.7.10 Application cache API</a><li><a href=#
navigator.online>7.7.11 Browser state</a></ol></ol><li id=toc-webappapis><a href=#webappapis>8 Web application APIs</a><ol><li><a href=#scripting>8.1 Scripting</a><ol><li><a href=#introduction-12>8.1.1 Introduction</a><li><a href=#enabling-and-disabling-scripting>8.1.2 Enabling and disabling scripting</a><li><a href=#processing-model-8>8.1.3 Processing model</a><ol><li><a href=#definitions-2>8.1.3.1 Definitions</a><li><a href=#script-settings-for-browsing-contexts>8.1.3.2 Script settings for browsing contexts</a><li><a href=#calling-scripts>8.1.3.3 Calling scripts</a><li><a href=#creating-scripts>8.1.3.4 Creating scripts</a><li><a href=#killing-scripts>8.1.3.5 Killing scripts</a><li><a href=#runtime-script-errors>8.1.3.6 Runtime script errors</a><ol><li><a href=#runtime-script-errors-in-documents>8.1.3.6.1 Runtime script errors in documents</a><li><a href=#the-errorevent-interface>8.1.3.6.2 The <code>ErrorEvent</code> interface</a></ol></ol><li><a href=#event-loops>8.1.4 Eve
nt loops</a><ol><li><a href=#definitions-3>8.1.4.1 Definitions</a><li><a href=#processing-model-9>8.1.4.2 Processing model</a><li><a href=#generic-task-sources>8.1.4.3 Generic task sources</a></ol><li><a href=#events>8.1.5 Events</a><ol><li><a href=#event-handler-attributes>8.1.5.1 Event handlers</a><li><a href=#event-handlers-on-elements,-document-objects,-and-window-objects>8.1.5.2 Event handlers on elements, <code>Document</code> objects, and <code>Window</code> objects</a><ol><li><a href=#idl-definitions>8.1.5.2.1 IDL definitions</a></ol><li><a href=#event-firing>8.1.5.3 Event firing</a><li><a href=#events-and-the-window-object>8.1.5.4 Events and the <code>Window</code> object</a></ol></ol><li><a href=#atob>8.2 Base64 utility methods</a><li><a href=#dynamic-markup-insertion>8.3 Dynamic markup insertion</a><ol><li><a href=#opening-the-input-stream>8.3.1 Opening the input stream</a><li><a href=#closing-the-input-stream>8.3.2 Closing the input stream</a><li><a href=#documen
t.write()>8.3.3 <code>document.write()</code></a><li><a href=#document.writeln()>8.3.4 <code>document.writeln()</code></a></ol><li><a href=#timers>8.4 Timers</a><li><a href=#user-prompts>8.5 User prompts</a><ol><li><a href=#simple-dialogs>8.5.1 Simple dialogs</a><li><a href=#printing>8.5.2 Printing</a><li><a href=#dialogs-implemented-using-separate-documents>8.5.3 Dialogs implemented using separate documents with <code>showModalDialog()</code></a></ol><li><a href=#system-state-and-capabilities>8.6 System state and capabilities</a><ol><li><a href=#the-navigator-object>8.6.1 The <code>Navigator</code> object</a><ol><li><a href=#client-identification>8.6.1.1 Client identification</a><li><a href=#language-preferences>8.6.1.2 Language preferences</a><li><a href=#custom-handlers>8.6.1.3 Custom scheme and content handlers: the <code>registerProtocolHandler()</code> and <code>registerContentHandler()</code> methods</a><ol><li><a href=#security-and-privacy>8.6.1.3.1 Security and priv
acy</a><li><a href=#sample-handler-impl>8.6.1.3.2 Sample user interface</a></ol><li><a href=#manually-releasing-the-storage-mutex>8.6.1.4 Manually releasing the storage mutex</a><li><a href=#plugins-2>8.6.1.5 Plugins</a></ol><li><a href=#the-external-interface>8.6.2 The <code>External</code> interface</a></ol><li><a href=#images>8.7 Images</a><li><a href=#animation-frames>8.8 Animation Frames</a></ol><li id=toc-comms><a href=#comms>9 Communication</a><ol><li><a href=#the-messageevent-interfaces>9.1 The <code>MessageEvent</code> interfaces</a><li><a href=#server-sent-events>9.2 Server-sent events</a><ol><li><a href=#server-sent-events-intro>9.2.1 Introduction</a><li><a href=#the-eventsource-interface>9.2.2 The <code>EventSource</code> interface</a><li><a href=#processing-model-10>9.2.3 Processing model</a><li><a href=#parsing-an-event-stream>9.2.4 Parsing an event stream</a><li><a href=#event-stream-interpretation>9.2.5 Interpreting an event stream</a><li><a href=#authoring-n
otes>9.2.6 Authoring notes</a><li><a href=#eventsource-push>9.2.7 Connectionless push and other features</a><li><a href=#garbage-collection-2>9.2.8 Garbage collection</a><li><a href=#implementation-advice>9.2.9 Implementation advice</a><li><a href=#iana-considerations>9.2.10 IANA considerations</a><ol><li><a href=#text/event-stream>9.2.10.1 <code>text/event-stream</code></a><li><a href=#last-event-id>9.2.10.2 <code>Last-Event-ID</code></a></ol></ol><li><a href=#network>9.3 Web sockets</a><ol><li><a href=#network-intro>9.3.1 Introduction</a><li><a href=#the-websocket-interface>9.3.2 The <code>WebSocket</code> interface</a><li><a href=#feedback-from-the-protocol>9.3.3 Feedback from the protocol</a><li><a href=#ping-and-pong-frames>9.3.4 Ping and Pong frames</a><li><a href=#parsing-websocket-urls>9.3.5 Parsing WebSocket URLs</a><li><a href=#the-closeevent-interfaces>9.3.6 The <code>CloseEvent</code> interfaces</a><li><a href=#garbage-collection-3>9.3.7 Garbage collection</a></o
l><li><a href=#web-messaging>9.4 Cross-document messaging</a><ol><li><a href=#introduction-13>9.4.1 Introduction</a><li><a href=#security-postmsg>9.4.2 Security</a><ol><li><a href=#authors>9.4.2.1 Authors</a><li><a href=#user-agents>9.4.2.2 User agents</a></ol><li><a href=#posting-messages>9.4.3 Posting messages</a></ol><li><a href=#channel-messaging>9.5 Channel messaging</a><ol><li><a href=#introduction-14>9.5.1 Introduction</a><ol><li><a href=#examples-5>9.5.1.1 Examples</a><li><a href=#ports-as-the-basis-of-an-object-capability-model-on-the-web>9.5.1.2 Ports as the basis of an object-capability model on the Web</a><li><a href=#ports-as-the-basis-of-abstracting-out-service-implementations>9.5.1.3 Ports as the basis of abstracting out service implementations</a></ol><li><a href=#message-channels>9.5.2 Message channels</a><li><a href=#message-ports>9.5.3 Message ports</a><li><a href=#broadcasting-to-many-ports>9.5.4 Broadcasting to many ports</a><li><a href=#ports-and-garbag
e-collection>9.5.5 Ports and garbage collection</a></ol><li><a href=#broadcasting-to-other-browsing-contexts>9.6 Broadcasting to other browsing contexts</a></ol><li id=toc-workers><a href=#workers>10 Web workers</a><ol><li><a href=#introduction-15>10.1 Introduction</a><ol><li><a href=#scope-2>10.1.1 Scope</a><li><a href=#examples-6>10.1.2 Examples</a><ol><li><a href=#a-background-number-crunching-worker>10.1.2.1 A background number-crunching worker</a><li><a href=#worker-used-for-background-i/o>10.1.2.2 Worker used for background I/O</a><li><a href=#shared-workers-introduction>10.1.2.3 Shared workers introduction</a><li><a href=#shared-state-using-a-shared-worker>10.1.2.4 Shared state using a shared worker</a><li><a href=#delegation>10.1.2.5 Delegation</a></ol><li><a href=#tutorials>10.1.3 Tutorials</a><ol><li><a href=#creating-a-dedicated-worker>10.1.3.1 Creating a dedicated worker</a><li><a href=#communicating-with-a-dedicated-worker>10.1.3.2 Communicating with a dedicated
worker</a><li><a href=#shared-workers>10.1.3.3 Shared workers</a></ol></ol><li><a href=#infrastructure-2>10.2 Infrastructure</a><ol><li><a href=#the-global-scope>10.2.1 The global scope</a><ol><li><a href=#the-workerglobalscope-common-interface>10.2.1.1 The <code>WorkerGlobalScope</code> common interface</a><li><a href=#dedicated-workers-and-the-dedicatedworkerglobalscope-interface>10.2.1.2 Dedicated workers and the <code>DedicatedWorkerGlobalScope</code> interface</a><li><a href=#shared-workers-and-the-sharedworkerglobalscope-interface>10.2.1.3 Shared workers and the <code>SharedWorkerGlobalScope</code> interface</a></ol><li><a href=#worker-event-loop>10.2.2 The event loop</a><li><a href="#the-worker's-lifetime">10.2.3 The worker's lifetime</a><li><a href=#processing-model-11>10.2.4 Processing model</a><li><a href=#runtime-script-errors-2>10.2.5 Runtime script errors</a><li><a href=#creating-workers>10.2.6 Creating workers</a><ol><li><a href=#the-abstractworker-abstract-in
terface>10.2.6.1 The <code>AbstractWorker</code> abstract interface</a><li><a href=#script-settings-for-workers>10.2.6.2 Script settings for workers</a><li><a href=#dedicated-workers-and-the-worker-interface>10.2.6.3 Dedicated workers and the <code>Worker</code> interface</a><li><a href=#shared-workers-and-the-sharedworker-interface>10.2.6.4 Shared workers and the <code>SharedWorker</code> interface</a></ol></ol><li><a href=#apis-available-to-workers>10.3 APIs available to workers</a><ol><li><a href=#importing-scripts-and-libraries>10.3.1 Importing scripts and libraries</a><li><a href=#the-workernavigator-object>10.3.2 The <code>WorkerNavigator</code> object</a><li><a href=#worker-locations>10.3.3 Worker locations</a></ol></ol><li id=toc-webstorage><a href=#webstorage>11 Web storage</a><ol><li><a href=#introduction-16>11.1 Introduction</a><li><a href=#storage>11.2 The API</a><ol><li><a href=#the-storage-interface>11.2.1 The <code>Storage</code> interface</a><li><a href=#the-
sessionstorage-attribute>11.2.2 The <code>sessionStorage</code> attribute</a><li><a href=#the-localstorage-attribute>11.2.3 The <code>localStorage</code> attribute</a><li><a href=#the-storage-event>11.2.4 The <code>storage</code> event</a><ol><li><a href=#the-storageevent-interface>11.2.4.1 The <code>StorageEvent</code> interface</a></ol><li><a href=#threads>11.2.5 Threads</a></ol><li><a href=#disk-space-2>11.3 Disk space</a><li><a href=#privacy>11.4 Privacy</a><ol><li><a href=#user-tracking>11.4.1 User tracking</a><li><a href=#sensitivity-of-data>11.4.2 Sensitivity of data</a></ol><li><a href=#security-storage>11.5 Security</a><ol><li><a href=#dns-spoofing-attacks>11.5.1 DNS spoofing attacks</a><li><a href=#cross-directory-attacks>11.5.2 Cross-directory attacks</a><li><a href=#implementation-risks>11.5.3 Implementation risks</a></ol></ol><li id=toc-syntax><a href=#syntax>12 The HTML syntax</a><ol><li><a href=#writing>12.1 Writing HTML documents</a><ol><li><a href=#the-docty
pe>12.1.1 The DOCTYPE</a><li><a href=#elements-2>12.1.2 Elements</a><ol><li><a href=#start-tags>12.1.2.1 Start tags</a><li><a href=#end-tags>12.1.2.2 End tags</a><li><a href=#attributes-2>12.1.2.3 Attributes</a><li><a href=#optional-tags>12.1.2.4 Optional tags</a><li><a href=#element-restrictions>12.1.2.5 Restrictions on content models</a><li><a href=#cdata-rcdata-restrictions>12.1.2.6 Restrictions on the contents of raw text and escapable raw text elements</a></ol><li><a href=#text-2>12.1.3 Text</a><ol><li><a href=#newlines>12.1.3.1 Newlines</a></ol><li><a href=#character-references>12.1.4 Character references</a><li><a href=#cdata-sections>12.1.5 CDATA sections</a><li><a href=#comments>12.1.6 Comments</a></ol><li><a href=#parsing>12.2 Parsing HTML documents</a><ol><li><a href=#overview-of-the-parsing-model>12.2.1 Overview of the parsing model</a><li><a href=#the-input-byte-stream>12.2.2 The input byte stream</a><ol><li><a href=#parsing-with-a-known-character-encoding>12.2.
2.1 Parsing with a known character encoding</a><li><a href=#determining-the-character-encoding>12.2.2.2 Determining the character encoding</a><li><a href=#character-encodings>12.2.2.3 Character encodings</a><li><a href=#changing-the-encoding-while-parsing>12.2.2.4 Changing the encoding while parsing</a><li><a href=#preprocessing-the-input-stream>12.2.2.5 Preprocessing the input stream</a></ol><li><a href=#parse-state>12.2.3 Parse state</a><ol><li><a href=#the-insertion-mode>12.2.3.1 The insertion mode</a><li><a href=#the-stack-of-open-elements>12.2.3.2 The stack of open elements</a><li><a href=#the-list-of-active-formatting-elements>12.2.3.3 The list of active formatting elements</a><li><a href=#the-element-pointers>12.2.3.4 The element pointers</a><li><a href=#other-parsing-state-flags>12.2.3.5 Other parsing state flags</a></ol><li><a href=#tokenization>12.2.4 Tokenization</a><ol><li><a href=#data-state>12.2.4.1 Data state</a><li><a href=#character-reference-in-data-state>1
2.2.4.2 Character reference in data state</a><li><a href=#rcdata-state>12.2.4.3 RCDATA state</a><li><a href=#character-reference-in-rcdata-state>12.2.4.4 Character reference in RCDATA state</a><li><a href=#rawtext-state>12.2.4.5 RAWTEXT state</a><li><a href=#script-data-state>12.2.4.6 Script data state</a><li><a href=#plaintext-state>12.2.4.7 PLAINTEXT state</a><li><a href=#tag-open-state>12.2.4.8 Tag open state</a><li><a href=#end-tag-open-state>12.2.4.9 End tag open state</a><li><a href=#tag-name-state>12.2.4.10 Tag name state</a><li><a href=#rcdata-less-than-sign-state>12.2.4.11 RCDATA less-than sign state</a><li><a href=#rcdata-end-tag-open-state>12.2.4.12 RCDATA end tag open state</a><li><a href=#rcdata-end-tag-name-state>12.2.4.13 RCDATA end tag name state</a><li><a href=#rawtext-less-than-sign-state>12.2.4.14 RAWTEXT less-than sign state</a><li><a href=#rawtext-end-tag-open-state>12.2.4.15 RAWTEXT end tag open state</a><li><a href=#rawtext-end-tag-name-state>12.2.4.16
RAWTEXT end tag name state</a><li><a href=#script-data-less-than-sign-state>12.2.4.17 Script data less-than sign state</a><li><a href=#script-data-end-tag-open-state>12.2.4.18 Script data end tag open state</a><li><a href=#script-data-end-tag-name-state>12.2.4.19 Script data end tag name state</a><li><a href=#script-data-escape-start-state>12.2.4.20 Script data escape start state</a><li><a href=#script-data-escape-start-dash-state>12.2.4.21 Script data escape start dash state</a><li><a href=#script-data-escaped-state>12.2.4.22 Script data escaped state</a><li><a href=#script-data-escaped-dash-state>12.2.4.23 Script data escaped dash state</a><li><a href=#script-data-escaped-dash-dash-state>12.2.4.24 Script data escaped dash dash state</a><li><a href=#script-data-escaped-less-than-sign-state>12.2.4.25 Script data escaped less-than sign state</a><li><a href=#script-data-escaped-end-tag-open-state>12.2.4.26 Script data escaped end tag open state</a><li><a href=#script-data-esc
aped-end-tag-name-state>12.2.4.27 Script data escaped end tag name state</a><li><a href=#script-data-double-escape-start-state>12.2.4.28 Script data double escape start state</a><li><a href=#script-data-double-escaped-state>12.2.4.29 Script data double escaped state</a><li><a href=#script-data-double-escaped-dash-state>12.2.4.30 Script data double escaped dash state</a><li><a href=#script-data-double-escaped-dash-dash-state>12.2.4.31 Script data double escaped dash dash state</a><li><a href=#script-data-double-escaped-less-than-sign-state>12.2.4.32 Script data double escaped less-than sign state</a><li><a href=#script-data-double-escape-end-state>12.2.4.33 Script data double escape end state</a><li><a href=#before-attribute-name-state>12.2.4.34 Before attribute name state</a><li><a href=#attribute-name-state>12.2.4.35 Attribute name state</a><li><a href=#after-attribute-name-state>12.2.4.36 After attribute name state</a><li><a href=#before-attribute-value-state>12.2.4.37 Bef
ore attribute value state</a><li><a href=#attribute-value-(double-quoted)-state>12.2.4.38 Attribute value (double-quoted) state</a><li><a href=#attribute-value-(single-quoted)-state>12.2.4.39 Attribute value (single-quoted) state</a><li><a href=#attribute-value-(unquoted)-state>12.2.4.40 Attribute value (unquoted) state</a><li><a href=#character-reference-in-attribute-value-state>12.2.4.41 Character reference in attribute value state</a><li><a href=#after-attribute-value-(quoted)-state>12.2.4.42 After attribute value (quoted) state</a><li><a href=#self-closing-start-tag-state>12.2.4.43 Self-closing start tag state</a><li><a href=#bogus-comment-state>12.2.4.44 Bogus comment state</a><li><a href=#markup-declaration-open-state>12.2.4.45 Markup declaration open state</a><li><a href=#comment-start-state>12.2.4.46 Comment start state</a><li><a href=#comment-start-dash-state>12.2.4.47 Comment start dash state</a><li><a href=#comment-state>12.2.4.48 Comment state</a><li><a href=#com
ment-end-dash-state>12.2.4.49 Comment end dash state</a><li><a href=#comment-end-state>12.2.4.50 Comment end state</a><li><a href=#comment-end-bang-state>12.2.4.51 Comment end bang state</a><li><a href=#doctype-state>12.2.4.52 DOCTYPE state</a><li><a href=#before-doctype-name-state>12.2.4.53 Before DOCTYPE name state</a><li><a href=#doctype-name-state>12.2.4.54 DOCTYPE name state</a><li><a href=#after-doctype-name-state>12.2.4.55 After DOCTYPE name state</a><li><a href=#after-doctype-public-keyword-state>12.2.4.56 After DOCTYPE public keyword state</a><li><a href=#before-doctype-public-identifier-state>12.2.4.57 Before DOCTYPE public identifier state</a><li><a href=#doctype-public-identifier-(double-quoted)-state>12.2.4.58 DOCTYPE public identifier (double-quoted) state</a><li><a href=#doctype-public-identifier-(single-quoted)-state>12.2.4.59 DOCTYPE public identifier (single-quoted) state</a><li><a href=#after-doctype-public-identifier-state>12.2.4.60 After DOCTYPE public i
dentifier state</a><li><a href=#between-doctype-public-and-system-identifiers-state>12.2.4.61 Between DOCTYPE public and system identifiers state</a><li><a href=#after-doctype-system-keyword-state>12.2.4.62 After DOCTYPE system keyword state</a><li><a href=#before-doctype-system-identifier-state>12.2.4.63 Before DOCTYPE system identifier state</a><li><a href=#doctype-system-identifier-(double-quoted)-state>12.2.4.64 DOCTYPE system identifier (double-quoted) state</a><li><a href=#doctype-system-identifier-(single-quoted)-state>12.2.4.65 DOCTYPE system identifier (single-quoted) state</a><li><a href=#after-doctype-system-identifier-state>12.2.4.66 After DOCTYPE system identifier state</a><li><a href=#bogus-doctype-state>12.2.4.67 Bogus DOCTYPE state</a><li><a href=#cdata-section-state>12.2.4.68 CDATA section state</a><li><a href=#tokenizing-character-references>12.2.4.69 Tokenizing character references</a></ol><li><a href=#tree-construction>12.2.5 Tree construction</a><ol><li>
<a href=#creating-and-inserting-nodes>12.2.5.1 Creating and inserting nodes</a><li><a href=#parsing-elements-that-contain-only-text>12.2.5.2 Parsing elements that contain only text</a><li><a href=#closing-elements-that-have-implied-end-tags>12.2.5.3 Closing elements that have implied end tags</a><li><a href=#parsing-main-inhtml>12.2.5.4 The rules for parsing tokens in HTML content</a><ol><li><a href=#the-initial-insertion-mode>12.2.5.4.1 The "initial" insertion mode</a><li><a href=#the-before-html-insertion-mode>12.2.5.4.2 The "before html" insertion mode</a><li><a href=#the-before-head-insertion-mode>12.2.5.4.3 The "before head" insertion mode</a><li><a href=#parsing-main-inhead>12.2.5.4.4 The "in head" insertion mode</a><li><a href=#parsing-main-inheadnoscript>12.2.5.4.5 The "in head noscript" insertion mode</a><li><a href=#the-after-head-insertion-mode>12.2.5.4.6 The "after head" insertion mode</a><li><a href=#parsing-main-inbody>12.2.5.4.7 The "in body" insertion mode</a
><li><a href=#parsing-main-incdata>12.2.5.4.8 The "text" insertion mode</a><li><a href=#parsing-main-intable>12.2.5.4.9 The "in table" insertion mode</a><li><a href=#parsing-main-intabletext>12.2.5.4.10 The "in table text" insertion mode</a><li><a href=#parsing-main-incaption>12.2.5.4.11 The "in caption" insertion mode</a><li><a href=#parsing-main-incolgroup>12.2.5.4.12 The "in column group" insertion mode</a><li><a href=#parsing-main-intbody>12.2.5.4.13 The "in table body" insertion mode</a><li><a href=#parsing-main-intr>12.2.5.4.14 The "in row" insertion mode</a><li><a href=#parsing-main-intd>12.2.5.4.15 The "in cell" insertion mode</a><li><a href=#parsing-main-inselect>12.2.5.4.16 The "in select" insertion mode</a><li><a href=#parsing-main-inselectintable>12.2.5.4.17 The "in select in table" insertion mode</a><li><a href=#parsing-main-intemplate>12.2.5.4.18 The "in template" insertion mode</a><li><a href=#parsing-main-afterbody>12.2.5.4.19 The "after body" insertion mode<
/a><li><a href=#parsing-main-inframeset>12.2.5.4.20 The "in frameset" insertion mode</a><li><a href=#parsing-main-afterframeset>12.2.5.4.21 The "after frameset" insertion mode</a><li><a href=#the-after-after-body-insertion-mode>12.2.5.4.22 The "after after body" insertion mode</a><li><a href=#the-after-after-frameset-insertion-mode>12.2.5.4.23 The "after after frameset" insertion mode</a></ol><li><a href=#parsing-main-inforeign>12.2.5.5 The rules for parsing tokens in foreign content</a></ol><li><a href=#the-end>12.2.6 The end</a><li><a href=#coercing-an-html-dom-into-an-infoset>12.2.7 Coercing an HTML DOM into an infoset</a><li><a href=#an-introduction-to-error-handling-and-strange-cases-in-the-parser>12.2.8 An introduction to error handling and strange cases in the parser</a><ol><li><a href=#misnested-tags:-b-i-/b-/i>12.2.8.1 Misnested tags: <b><i></b></i></a><li><a href=#misnested-tags:-b-p-/b-/p>12.2.8.2 Misnested tags: <b><p></b></p></a><li><a hr
ef=#unexpected-markup-in-tables>12.2.8.3 Unexpected markup in tables</a><li><a href=#scripts-that-modify-the-page-as-it-is-being-parsed>12.2.8.4 Scripts that modify the page as it is being parsed</a><li><a href=#the-execution-of-scripts-that-are-moving-across-multiple-documents>12.2.8.5 The execution of scripts that are moving across multiple documents</a><li><a href=#unclosed-formatting-elements>12.2.8.6 Unclosed formatting elements</a></ol></ol><li><a href=#serialising-html-fragments>12.3 Serialising HTML fragments</a><li><a href=#parsing-html-fragments>12.4 Parsing HTML fragments</a><li><a href=#named-character-references>12.5 Named character references</a></ol><li id=toc-the-xhtml-syntax><a href=#the-xhtml-syntax>13 The XHTML syntax</a><ol><li><a href=#writing-xhtml-documents>13.1 Writing XHTML documents</a><li><a href=#parsing-xhtml-documents>13.2 Parsing XHTML documents</a><li><a href=#serialising-xhtml-fragments>13.3 Serialising XHTML fragments</a><li><a href=#parsing
-xhtml-fragments>13.4 Parsing XHTML fragments</a></ol><li id=toc-rendering><a href=#rendering>14 Rendering</a><ol><li><a href=#introduction-17>14.1 Introduction</a><li><a href=#the-css-user-agent-style-sheet-and-presentational-hints>14.2 The CSS user agent style sheet and presentational hints</a><li><a href=#non-replaced-elements>14.3 Non-replaced elements</a><ol><li><a href=#hidden-elements>14.3.1 Hidden elements</a><li><a href=#the-page>14.3.2 The page</a><li><a href=#flow-content-3>14.3.3 Flow content</a><li><a href=#phrasing-content-3>14.3.4 Phrasing content</a><li><a href=#bidi-rendering>14.3.5 Bidirectional text</a><li><a href=#quotes>14.3.6 Quotes</a><li><a href=#sections-and-headings>14.3.7 Sections and headings</a><li><a href=#lists>14.3.8 Lists</a><li><a href=#tables-2>14.3.9 Tables</a><li><a href=#margin-collapsing-quirks>14.3.10 Margin collapsing quirks</a><li><a href=#form-controls>14.3.11 Form controls</a><li><a href=#the-hr-element-2>14.3.12 The <code>hr</code
> element</a><li><a href=#the-fieldset-and-legend-elements>14.3.13 The <code>fieldset</code> and <code>legend</code> elements</a></ol><li><a href=#replaced-elements>14.4 Replaced elements</a><ol><li><a href=#embedded-content-rendering-rules>14.4.1 Embedded content</a><li><a href=#images-2>14.4.2 Images</a><li><a href=#attributes-for-embedded-content-and-images>14.4.3 Attributes for embedded content and images</a><li><a href=#image-maps-2>14.4.4 Image maps</a></ol><li><a href=#bindings>14.5 Bindings</a><ol><li><a href=#introduction-18>14.5.1 Introduction</a><li><a href=#the-button-element-2>14.5.2 The <code>button</code> element</a><li><a href=#the-details-element-2>14.5.3 The <code>details</code> element</a><li><a href=#the-input-element-as-a-text-entry-widget>14.5.4 The <code>input</code> element as a text entry widget</a><li><a href=#the-input-element-as-domain-specific-widgets>14.5.5 The <code>input</code> element as domain-specific widgets</a><li><a href=#the-input-eleme
nt-as-a-range-control>14.5.6 The <code>input</code> element as a range control</a><li><a href=#the-input-element-as-a-colour-well>14.5.7 The <code>input</code> element as a colour well</a><li><a href=#the-input-element-as-a-checkbox-and-radio-button-widgets>14.5.8 The <code>input</code> element as a checkbox and radio button widgets</a><li><a href=#the-input-element-as-a-file-upload-control>14.5.9 The <code>input</code> element as a file upload control</a><li><a href=#the-input-element-as-a-button>14.5.10 The <code>input</code> element as a button</a><li><a href=#the-marquee-element>14.5.11 The <code>marquee</code> element</a><li><a href=#the-meter-element-2>14.5.12 The <code>meter</code> element</a><li><a href=#the-progress-element-2>14.5.13 The <code>progress</code> element</a><li><a href=#the-select-element-2>14.5.14 The <code>select</code> element</a><li><a href=#the-textarea-element-2>14.5.15 The <code>textarea</code> element</a><li><a href=#the-keygen-element-2>14.5.16
The <code>keygen</code> element</a></ol><li><a href=#frames-and-framesets>14.6 Frames and framesets</a><li><a href=#interactive-media>14.7 Interactive media</a><ol><li><a href=#links,-forms,-and-navigation>14.7.1 Links, forms, and navigation</a><li><a href=#the-title-attribute-2>14.7.2 The <code>title</code> attribute</a><li><a href=#editing-hosts>14.7.3 Editing hosts</a><li><a href=#text-rendered-in-native-user-interfaces>14.7.4 Text rendered in native user interfaces</a></ol><li><a href=#print-media>14.8 Print media</a><li><a href=#unstyled-xml-documents>14.9 Unstyled XML documents</a></ol><li id=toc-obsolete><a href=#obsolete>15 Obsolete features</a><ol><li><a href=#obsolete-but-conforming-features>15.1 Obsolete but conforming features</a><ol><li><a href=#warnings-for-obsolete-but-conforming-features>15.1.1 Warnings for obsolete but conforming features</a></ol><li><a href=#non-conforming-features>15.2 Non-conforming features</a><li><a href=#requirements-for-implementatio
ns>15.3 Requirements for implementations</a><ol><li><a href=#the-applet-element>15.3.1 The <code>applet</code> element</a><li><a href=#the-marquee-element-2>15.3.2 The <code>marquee</code> element</a><li><a href=#frames>15.3.3 Frames</a><li><a href=#other-elements,-attributes-and-apis>15.3.4 Other elements, attributes and APIs</a></ol></ol><li id=toc-iana><a href=#iana>16 IANA considerations</a><ol><li><a href=#text/html>16.1 <code>text/html</code></a><li><a href=#multipart/x-mixed-replace>16.2 <code>multipart/x-mixed-replace</code></a><li><a href=#application/xhtml+xml>16.3 <code>application/xhtml+xml</code></a><li><a href=#application/x-www-form-urlencoded>16.4 <code>application/x-www-form-urlencoded</code></a><li><a href=#text/cache-manifest>16.5 <code>text/cache-manifest</code></a><li><a href=#text/ping>16.6 <code>text/ping</code></a><li><a href=#application/microdata+json>16.7 <code>application/microdata+json</code></a><li><a href=#ping-from>16.8 <code>Ping-From</code><
/a><li><a href=#ping-to>16.9 <code>Ping-To</code></a><li><a href=#web+-scheme-prefix>16.10 <code>web+</code> scheme prefix</a></ol><li id=toc-index><a href=#index>Index</a><ol><li><a href=#elements-3>Elements</a><li><a href=#element-content-categories>Element content categories</a><li><a href=#attributes-3>Attributes</a><li><a href=#element-interfaces>Element Interfaces</a><li><a href=#all-interfaces>All Interfaces</a><li><a href=#events-2>Events</a><li><a href=#mime-types-2>MIME Types</a></ol><li id=toc-references><a href=#references>References</a><li id=toc-acknowledgments><a href=#acknowledgments>Acknowledgements</a></ol>
@@ -611,7 +611,7 @@
- <h4 id=compliance-with-other-specifications>1.7.2 Compliance with other specifications</h4>
+ <h4 id=compliance-with-other-specifications>1.7.2 Compliance with other specifications</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27367" title="Despite difficulties with multithreading there should be some function in scripting/search engine re [...]">27367</a></div>
<p><i>This section is non-normative.</i></p>
@@ -1130,7 +1130,7 @@
- <h4 id=common-pitfalls-to-avoid-when-using-the-scripting-apis>1.11.2 Common pitfalls to avoid when using the scripting APIs</h4>
+ <h4 id=common-pitfalls-to-avoid-when-using-the-scripting-apis>1.11.2 Common pitfalls to avoid when using the scripting APIs</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27316" title="This example is not clear enough to understand.">27316</a></div>
<p><i>This section is non-normative.</i></p>
@@ -2183,7 +2183,7 @@
- <h4 id=dependencies>2.2.2 Dependencies</h4>
+ <h4 id=dependencies>2.2.2 Dependencies</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27343" title="i dont know">27343</a></div>
<p>This specification relies on several other underlying specifications.</p>
@@ -2475,6 +2475,9 @@
<ul class=brief><li>The <dfn id=top-layer>top layer</dfn> concept<li><dfn id=dom-element-requestfullscreen><code>requestFullscreen()</code></dfn>
<li>The <dfn id=fullscreen-enabled-flag>fullscreen enabled flag</dfn><li>The <dfn id=fully-exit-fullscreen>fully exit fullscreen</dfn> algorithm</ul>
+ <p>The <cite>High Resolution Time</cite> specification provides the
+ <dfn id=performance><code>Performance</code></dfn> object's <dfn id=dom-performance-now><code>now()</code></dfn> method. <a href=#refsHRT>[HRT]</a></p>
+
<dt>File API<dd>
<p>This specification uses the following features defined in the File API specification: <a href=#refsFILEAPI>[FILEAPI]</a></p>
@@ -3008,7 +3011,7 @@
<p>When a user agent is to <dfn id=strip-leading-and-trailing-whitespace>strip leading and trailing whitespace</dfn> from a string, the
user agent must remove all <a href=#space-character id=common-parser-idioms:space-character-2>space characters</a> that are at the
- start or end of the string.</p>
+ start or end of the string.<div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27348" title="containers seem to be what's preventing the changes, srcdoc">27348</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27350" title="containers seem to be what's preventing the changes, srcdoc">27350</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27351" title="containers seem to be what's preventing the changes, srcdoc">27351</a></div>
<p>When a user agent is to <dfn id=strip-and-collapse-whitespace>strip and collapse whitespace</dfn> in a string, it must replace
any sequence of one or more consecutive <a href=#space-character id=common-parser-idioms:space-character-3>space characters</a> in
@@ -4369,7 +4372,7 @@
<h3 id=urls>2.5 URLs</h3>
- <h4 id=terminology-2>2.5.1 Terminology</h4>
+ <h4 id=terminology-2>2.5.1 Terminology</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27349" title="containers seem to be what's preventing the changes, srcdoc">27349</a></div>
<p>A <a href=#url id=terminology-2:url>URL</a> is a <dfn id=valid-url>valid URL</dfn> if it conforms to the authoring conformance
requirements in the WHATWG URL standard. <a href=#refsURL>[URL]</a></p>
@@ -8840,7 +8843,7 @@
<h3 id=the-root-element>4.1 The root element</h3>
- <h4 id=the-html-element>4.1.1 The <dfn><code>html</code></dfn> element</h4>
+ <h4 id=the-html-element>4.1.1 The <dfn><code>html</code></dfn> element</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27319" title="neither Validator nor any browser got a problem with immediately followed comments when not defining start-/ and end-tags">27319</a></div>
<dl class=element><dt><a href=#concept-element-categories id=the-html-element:concept-element-categories>Categories</a>:<dd>None.<dt><a href=#concept-element-contexts id=the-html-element:concept-element-contexts>Contexts in which this element can be used</a>:<dd>As the root element of a document.<dd>Wherever a subdocument fragment is allowed in a compound document.<dt><a href=#concept-element-content-model id=the-html-element:concept-element-content-model>Content model</a>:<dd>A <code id=the-html-element:the-head-element><a href=#the-head-element>head</a></code> element followed by a <code id=the-html-element:the-body-element><a href=#the-body-element>body</a></code> element.<dt><a href=#concept-element-tag-omission id=the-html-element:concept-element-tag-omission>Tag omission in text/html</a>:<dd>An <code id=the-html-element:the-html-element><a href=#the-html-element>html</a></code> element's <a href=#syntax-start-tag id=the-html-element:syntax-start-tag>start tag</a> can
be omitted
if the first thing inside the <code id=the-html-element:the-html-element-2><a href=#the-html-element>html</a></code> element is not a <a href=#syntax-comments id=the-html-element:syntax-comments>comment</a>.<dd>An <code id=the-html-element:the-html-element-3><a href=#the-html-element>html</a></code> element's <a href=#syntax-end-tag id=the-html-element:syntax-end-tag>end tag</a> can be omitted if
@@ -33734,7 +33737,7 @@
</div>
- <h6 id="e-mail-state-(type=email)">4.10.5.1.5 <dfn>E-mail</dfn> state (<code>type=email</code>)</h6><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15489" title="forms: Add an attribute <input type=email idna> that allows IDNA e-mail addresses to be round-tripped">15489</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18162" title="IDN email addresses should be converted to Punycode before validating them">18162</a></div>
+ <h6 id="e-mail-state-(type=email)">4.10.5.1.5 <dfn>E-mail</dfn> state (<code>type=email</code>)</h6><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15489" title="forms: <input type=email> validation needs to be updated for EAI">15489</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18162" title="IDN email addresses should be converted to Punycode before validating them">18162</a></div>
@@ -35782,7 +35785,7 @@
- <h6 id="file-upload-state-(type=file)">4.10.5.1.18 <dfn>File Upload</dfn> state (<code>type=file</code>)</h6>
+ <h6 id="file-upload-state-(type=file)">4.10.5.1.18 <dfn>File Upload</dfn> state (<code>type=file</code>)</h6><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27333" title="Most user agents (Chrome, Firefox) seem to distinguish between space and enter. Enter submits the form, even for radio buttons, space selects the checkbox.">27333</a></div>
@@ -44824,7 +44827,7 @@
</div>
- <h4 id=the-script-element>4.12.1 The <dfn id=script><code>script</code></dfn> element</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23165" title="Implement JavaScript syntax checking in <script>">23165</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23156" title="Bug filing button of the nightly 5.1 spec gets hidden from user upon scroll">23156</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18298" title=""The script element gets inserted into a document." - is the order defined if multiple script elements are simultaneously inserted? What about the relative order of other things that happen on insertion and script elements?">18298</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=25943" title="Include execution graph by Peter">25943</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23157
" title="XHTML: validator doesn’t check that Raw Text elements (style/script) match the constraints">23157</a></div>
+ <h4 id=the-script-element>4.12.1 The <dfn id=script><code>script</code></dfn> element</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23165" title="Implement JavaScript syntax checking in <script>">23165</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23156" title="Bug filing button of the nightly 5.1 spec gets hidden from user upon scroll">23156</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18298" title=""The script element gets inserted into a document." - is the order defined if multiple script elements are simultaneously inserted? What about the relative order of other things that happen on insertion and script elements?">18298</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=25943" title="Include execution graph by Peter">25943</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27332
" title="Contexts in which this element can be used: not where flow content is expected?">27332</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23157" title="XHTML: validator doesn’t check that Raw Text elements (style/script) match the constraints">23157</a></div>
<dl class=element><dt><a href=#concept-element-categories id=the-script-element:concept-element-categories>Categories</a>:<dd><a href=#metadata-content-2 id=the-script-element:metadata-content-2>Metadata content</a>.<dd><a href=#flow-content-2 id=the-script-element:flow-content-2>Flow content</a>.<dd><a href=#phrasing-content-2 id=the-script-element:phrasing-content-2>Phrasing content</a>.<dd><a href=#script-supporting-elements-2 id=the-script-element:script-supporting-elements-2>Script-supporting element</a>.<dt><a href=#concept-element-contexts id=the-script-element:concept-element-contexts>Contexts in which this element can be used</a>:<dd>Where <a href=#metadata-content-2 id=the-script-element:metadata-content-2-2>metadata content</a> is expected.<dd>Where <a href=#phrasing-content-2 id=the-script-element:phrasing-content-2-2>phrasing content</a> is expected.<dd>Where <a href=#script-supporting-elements-2 id=the-script-element:script-supporting-elements-2-2>script-supp
orting elements</a> are expected.<dt><a href=#concept-element-content-model id=the-script-element:concept-element-content-model>Content model</a>:<dd>If there is no <code id=the-script-element:attr-script-src><a href=#attr-script-src>src</a></code>
attribute, depends on the value of the <code id=the-script-element:attr-script-type><a href=#attr-script-type>type</a></code> attribute, but must match
@@ -57783,6 +57786,9 @@
void <a href=#dom-print id=the-window-object:dom-print>print</a>();
any <a href=#dom-showmodaldialog id=the-window-object:dom-showmodaldialog>showModalDialog</a>(DOMString url, optional any argument); // deprecated
+ long <a href=#dom-window-requestanimationframe id=the-window-object:dom-window-requestanimationframe>requestAnimationFrame</a>(<span>FrameRequestCallback</span> callback);
+ void <a href=#dom-window-cancelanimationframe id=the-window-object:dom-window-cancelanimationframe>cancelAnimationFrame</a>(long handle);
+
void <a href=#dom-window-postmessage id=the-window-object:dom-window-postmessage>postMessage</a>(any message, DOMString targetOrigin, optional sequence<<a href=#transferable id=the-window-object:transferable>Transferable</a>> transfer);
// <a href="#Window-partial">also has obsolete members</a>
@@ -63000,12 +63006,15 @@
<h6 id=runtime-script-errors-in-documents>8.1.3.6.1 Runtime script errors in documents</h6>
- <p>Whenever an uncaught runtime script error occurs in one of the scripts associated with a
- <code id=runtime-script-errors-in-documents:document><a href=#document>Document</a></code>, the user agent must <a href=#report-the-error id=runtime-script-errors-in-documents:report-the-error>report the error</a> for the relevant <a href=#concept-script id=runtime-script-errors-in-documents:concept-script>script</a>, with the problematic position (line number and column
+ <p>When the user agent is to <dfn id=report-the-exception>report an exception</dfn>
+ <var>E</var>, the user agent must <a href=#report-the-error id=runtime-script-errors-in-documents:report-the-error>report the error</a> for the relevant <a href=#concept-script id=runtime-script-errors-in-documents:concept-script>script</a>, with the problematic position (line number and column
number) in the resource containing the script, using the <a href=#global-object id=runtime-script-errors-in-documents:global-object>global object</a> specified by
the script's <a href=#settings-object id=runtime-script-errors-in-documents:settings-object>settings object</a> as the target. If the error is still <i id=runtime-script-errors-in-documents:concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i> after this, then the error may be reported to
the user.</p>
+ <p>When an exception is thrown during the execution of one of the scripts associated with a
+ <code id=runtime-script-errors-in-documents:document><a href=#document>Document</a></code>, and the exception is not caught, the user agent must <a href=#report-the-exception id=runtime-script-errors-in-documents:report-the-exception>report the
+ exception</a>.</p>
<h6 id=the-errorevent-interface>8.1.3.6.2 The <code id=the-errorevent-interface:errorevent><a href=#errorevent>ErrorEvent</a></code> interface</h6><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=25099" title="Should define default values for ErrorEventInit in the IDL, not in the prose">25099</a></div>
@@ -63163,7 +63172,7 @@
agent must release the <a href=#storage-mutex id=definitions-3:storage-mutex-4>storage mutex</a>.</p>
- <h5 id=processing-model-9>8.1.4.2 Processing model</h5>
+ <h5 id=processing-model-9>8.1.4.2 Processing model</h5>
<p>An <a href=#event-loop id=processing-model-9:event-loop>event loop</a> must continually run through the following steps for as long as it
exists:</p>
@@ -63183,26 +63192,57 @@
<p><i>Update the rendering</i>: If this <a href=#event-loop id=processing-model-9:event-loop-7>event loop</a> is a <a href=#browsing-context id=processing-model-9:browsing-context-2>browsing
context</a> <a href=#event-loop id=processing-model-9:event-loop-8>event loop</a> (as opposed to a <a href=#workers>worker</a>
- <a href=#event-loop id=processing-model-9:event-loop-9>event loop</a>), then, if necessary, run the following steps.</p>
+ <a href=#event-loop id=processing-model-9:event-loop-9>event loop</a>), then, if necessary, run the following substeps.</p>
- <ol><li><p>Update the rendering or user interface of any <code id=processing-model-9:document-2><a href=#document>Document</a></code> or <a href=#browsing-context id=processing-model-9:browsing-context-3>browsing
- context</a> to reflect the current state.</ol>
-
<p class=note>Whether these steps are necessary depends on the update frequency. For example,
if the browser is attempting to achieve a 60 Hz refresh rate, then these steps are only
- necessary every 60th of a second (about 16.7ms). This specification does not mandate any
- particular model for when to update the rendering.</p>
+ necessary every 60th of a second (about 16.7ms). If the browser finds that the page is not able
+ to sustain this rate, it might drop to a more sustainable 30Hz, rather than occasionally
+ dropping frames. This specification does not mandate any particular model for when to update the
+ rendering.</p>
- <li><p>If this is a <a href=#workers>worker</a> <a href=#event-loop id=processing-model-9:event-loop-10>event loop</a> (i.e. one running for a
+ <ol><li><p>Let <var>now</var> be the value that would be returned by the <code id=processing-model-9:performance><a href=#performance>Performance</a></code>
+ object's <code id=processing-model-9:dom-performance-now><a href=#dom-performance-now>now()</a></code> method. <a href=#refsHRT>[HRT]</a></p>
+
+ <li>
+
+ <p>Let <var>docs</var> be the list of <code id=processing-model-9:document-2><a href=#document>Document</a></code> objects associated with the
+ <a href=#event-loop id=processing-model-9:event-loop-10>event loop</a> in question, sorted arbitrarily except that the following conditions
+ must be met:</p>
+
+ <ul><li><p>Any <code id=processing-model-9:document-3><a href=#document>Document</a></code> <var>B</var> that is <span>nested through</span> a
+ <code id=processing-model-9:document-4><a href=#document>Document</a></code> <var>A</var> must be listed after <var>A</var> in the list.<li><p>If there are two documents <var>A</var> and <var>B</var> whose <a href=#browsing-context id=processing-model-9:browsing-context-3>browsing contexts</a> are both <a href=#nested-browsing-context id=processing-model-9:nested-browsing-context>nested
+ browsing contexts</a> and their <a href=#browsing-context-container id=processing-model-9:browsing-context-container>browsing context
+ containers</a> are both elements in the same <code id=processing-model-9:document-5><a href=#document>Document</a></code> <var>C</var>, then the
+ order of <var>A</var> and <var>B</var> in the list must match the relative <a href=#tree-order id=processing-model-9:tree-order>tree
+ order</a> of their respective <a href=#browsing-context-container id=processing-model-9:browsing-context-container-2>browsing context
+ containers</a> in <var>C</var>.</ul>
+
+ <p>In the steps below that iterate over <var>docs</var>, each <code id=processing-model-9:document-6><a href=#document>Document</a></code> must be
+ processed in the order it is found in the list.</p>
+
+ <li><p>For each <code id=processing-model-9:document-7><a href=#document>Document</a></code> in <var>docs</var>, <dfn id=run-the-resize-steps>run the resize steps</dfn> for
+ that <code id=processing-model-9:document-8><a href=#document>Document</a></code>, passing in <var>now</var> as the timestamp. <a href=#refsCSSOMVIEW>[CSSOMVIEW]</a><li><p>For each <code id=processing-model-9:document-9><a href=#document>Document</a></code> in <var>docs</var>, <dfn id=run-the-scroll-steps>run the scroll steps</dfn> for
+ that <code id=processing-model-9:document-10><a href=#document>Document</a></code>, passing in <var>now</var> as the timestamp. <a href=#refsCSSOMVIEW>[CSSOMVIEW]</a><li><p>For each <code id=processing-model-9:document-11><a href=#document>Document</a></code> in <var>docs</var>, <dfn id=evaluate-media-queries-and-report-changes>evaluate media queries and
+ report changes</dfn> for that <code id=processing-model-9:document-12><a href=#document>Document</a></code>, passing in <var>now</var> as the
+ timestamp. <a href=#refsCSSOMVIEW>[CSSOMVIEW]</a><li><p>For each <code id=processing-model-9:document-13><a href=#document>Document</a></code> in <var>docs</var>, <dfn id=run-css-animations-and-send-events>run CSS animations and send
+ events</dfn> for that <code id=processing-model-9:document-14><a href=#document>Document</a></code>, passing in <var>now</var> as the timestamp. <a href=#refsCSSANIMATIONS>[CSSANIMATIONS]</a><li><p>For each <code id=processing-model-9:document-15><a href=#document>Document</a></code> in <var>docs</var>, <dfn id=run-the-fullscreen-rendering-steps>run the fullscreen rendering
+ steps</dfn> for that <code id=processing-model-9:document-16><a href=#document>Document</a></code>, passing in <var>now</var> as the timestamp. <a href=#refsFULLSCREEN>[FULLSCREEN]</a><li><p>For each <code id=processing-model-9:document-17><a href=#document>Document</a></code> in <var>docs</var>, <a href=#run-the-animation-frame-callbacks id=processing-model-9:run-the-animation-frame-callbacks>run the animation frame
+ callbacks</a> for that <code id=processing-model-9:document-18><a href=#document>Document</a></code>, passing in <var>now</var> as the
+ timestamp.<li><p>For each <code id=processing-model-9:document-19><a href=#document>Document</a></code> in <var>docs</var>, update the rendering or user
+ interface of that <code id=processing-model-9:document-20><a href=#document>Document</a></code> and its <a href=#browsing-context id=processing-model-9:browsing-context-4>browsing context</a> to reflect the
+ current state.</ol>
+
+ <li><p>If this is a <a href=#workers>worker</a> <a href=#event-loop id=processing-model-9:event-loop-11>event loop</a> (i.e. one running for a
<code id=processing-model-9:workerglobalscope><a href=#workerglobalscope>WorkerGlobalScope</a></code>), but there are no <a href=#concept-task id=processing-model-9:concept-task-4>tasks</a> in the
- <a href=#event-loop id=processing-model-9:event-loop-11>event loop</a>'s <a href=#task-queue id=processing-model-9:task-queue-4>task queues</a> and the
- <code id=processing-model-9:workerglobalscope-2><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing id=processing-model-9:dom-workerglobalscope-closing>closing</a> flag is true, then destroy the <a href=#event-loop id=processing-model-9:event-loop-12>event
+ <a href=#event-loop id=processing-model-9:event-loop-12>event loop</a>'s <a href=#task-queue id=processing-model-9:task-queue-4>task queues</a> and the
+ <code id=processing-model-9:workerglobalscope-2><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing id=processing-model-9:dom-workerglobalscope-closing>closing</a> flag is true, then destroy the <a href=#event-loop id=processing-model-9:event-loop-13>event
loop</a>, aborting these steps, resuming the <a href=#run-a-worker id=processing-model-9:run-a-worker>run a worker</a> steps described in the
- Web Workers section below.<li><p>Return to the <a href=#step1>first step</a> of the <a href=#event-loop id=processing-model-9:event-loop-13>event loop</a>.</ol>
+ Web Workers section below.<li><p>Return to the <a href=#step1>first step</a> of the <a href=#event-loop id=processing-model-9:event-loop-14>event loop</a>.</ol>
<hr>
- <p>Each <a href=#event-loop id=processing-model-9:event-loop-14>event loop</a> has a <dfn id=microtask-queue>microtask queue</dfn>. A <dfn id=microtask>microtask</dfn> is a
+ <p>Each <a href=#event-loop id=processing-model-9:event-loop-15>event loop</a> has a <dfn id=microtask-queue>microtask queue</dfn>. A <dfn id=microtask>microtask</dfn> is a
<a href=#concept-task id=processing-model-9:concept-task-5>task</a> that is originally to be queued on the <a href=#microtask-queue id=processing-model-9:microtask-queue>microtask
queue</a> rather than a <a href=#task-queue id=processing-model-9:task-queue-5>task queue</a>. There are two kinds of <a href=#microtask id=processing-model-9:microtask>microtasks</a>: <dfn id=solitary-callback-microtask>solitary callback
microtasks</dfn>, and <dfn id=compound-microtask>compound microtasks</dfn>.</p>
@@ -63212,7 +63252,7 @@
microtasks</a> have to take extra care to <a href=#execute-a-compound-microtask-subtask id=processing-model-9:execute-a-compound-microtask-subtask>wrap callbacks</a> to handle <a href=#spin-the-event-loop id=processing-model-9:spin-the-event-loop>spinning the event
loop</a>.</p>
- <p>When an algorithm requires a <a href=#microtask id=processing-model-9:microtask-2>microtask</a> to be <dfn id=queue-a-microtask>queued</dfn>, it must be appended to the relevant <a href=#event-loop id=processing-model-9:event-loop-15>event loop</a>'s
+ <p>When an algorithm requires a <a href=#microtask id=processing-model-9:microtask-2>microtask</a> to be <dfn id=queue-a-microtask>queued</dfn>, it must be appended to the relevant <a href=#event-loop id=processing-model-9:event-loop-16>event loop</a>'s
<a href=#microtask-queue id=processing-model-9:microtask-queue-2>microtask queue</a>; the <a href=#task-source id=processing-model-9:task-source>task source</a> of such a <a href=#microtask id=processing-model-9:microtask-3>microtask</a> is the
<dfn id=microtask-task-source>microtask task source</dfn>.</p>
@@ -63225,9 +63265,9 @@
<p>When a user agent is to <dfn id=perform-a-microtask-checkpoint>perform a microtask checkpoint</dfn>, if the <a href=#performing-a-microtask-checkpoint id=processing-model-9:performing-a-microtask-checkpoint>performing a
microtask checkpoint</a> flag is false, then the user agent must run the following steps:</p>
- <ol><li><p>Let the <a href=#performing-a-microtask-checkpoint id=processing-model-9:performing-a-microtask-checkpoint-2>performing a microtask checkpoint</a> flag be true.<li><p><i>Microtask queue handling</i>: If the <a href=#event-loop id=processing-model-9:event-loop-16>event loop</a>'s <a href=#microtask-queue id=processing-model-9:microtask-queue-3>microtask
- queue</a> is empty, jump to the <i>done</i> step below.<li><p>Select the oldest <a href=#microtask id=processing-model-9:microtask-6>microtask</a> on the <a href=#event-loop id=processing-model-9:event-loop-17>event loop</a>'s <a href=#microtask-queue id=processing-model-9:microtask-queue-4>microtask
- queue</a>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-18>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-3>currently running task</a> to the <a href=#concept-task id=processing-model-9:concept-task-6>task</a> selected in the previous step.<li>
+ <ol><li><p>Let the <a href=#performing-a-microtask-checkpoint id=processing-model-9:performing-a-microtask-checkpoint-2>performing a microtask checkpoint</a> flag be true.<li><p><i>Microtask queue handling</i>: If the <a href=#event-loop id=processing-model-9:event-loop-17>event loop</a>'s <a href=#microtask-queue id=processing-model-9:microtask-queue-3>microtask
+ queue</a> is empty, jump to the <i>done</i> step below.<li><p>Select the oldest <a href=#microtask id=processing-model-9:microtask-6>microtask</a> on the <a href=#event-loop id=processing-model-9:event-loop-18>event loop</a>'s <a href=#microtask-queue id=processing-model-9:microtask-queue-4>microtask
+ queue</a>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-19>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-3>currently running task</a> to the <a href=#concept-task id=processing-model-9:concept-task-6>task</a> selected in the previous step.<li>
<p><i>Run</i>: Run the selected <a href=#concept-task id=processing-model-9:concept-task-7>task</a>.</p>
@@ -63236,8 +63276,8 @@
checkpoint</a> algorithm again, which is why we use the <a href=#performing-a-microtask-checkpoint id=processing-model-9:performing-a-microtask-checkpoint-3>performing a microtask
checkpoint</a> flag to avoid reentrancy.</p>
- <li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-19>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-4>currently running task</a> back to
- null.<li><p>If the <a href=#storage-mutex id=processing-model-9:storage-mutex-2>storage mutex</a> is now owned by the <a href=#event-loop id=processing-model-9:event-loop-20>event loop</a>, release it
+ <li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-20>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-4>currently running task</a> back to
+ null.<li><p>If the <a href=#storage-mutex id=processing-model-9:storage-mutex-2>storage mutex</a> is now owned by the <a href=#event-loop id=processing-model-9:event-loop-21>event loop</a>, release it
so that it is once again free.<li><p>Remove the <a href=#microtask id=processing-model-9:microtask-7>microtask</a> run in the step above from the <a href=#microtask-queue id=processing-model-9:microtask-queue-5>microtask
queue</a>, and return to the <i>microtask queue handling</i> step.<li><p><i>Done</i>: Let the <a href=#performing-a-microtask-checkpoint id=processing-model-9:performing-a-microtask-checkpoint-4>performing a microtask checkpoint</a> flag be
false.</ol>
@@ -63246,11 +63286,11 @@
<dfn id=execute-a-compound-microtask-subtask>execute a compound microtask subtask</dfn> to run a series of steps, the user agent must run
the following steps:</p>
- <ol><li><p>Let <var>parent</var> be the <a href=#event-loop id=processing-model-9:event-loop-21>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-5>currently running
+ <ol><li><p>Let <var>parent</var> be the <a href=#event-loop id=processing-model-9:event-loop-22>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-5>currently running
task</a> (the currently running <a href=#compound-microtask id=processing-model-9:compound-microtask-3>compound microtask</a>).<li><p>Let <var>subtask</var> be a new <a href=#concept-task id=processing-model-9:concept-task-8>task</a> that
consists of running the given series of steps. The <a href=#task-source id=processing-model-9:task-source-4>task source</a> of such a
<a href=#microtask id=processing-model-9:microtask-8>microtask</a> is the <a href=#microtask-task-source id=processing-model-9:microtask-task-source-2>microtask task source</a>. This is a <dfn id=compound-microtask-subtask>compound
- microtask subtask</dfn>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-22>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-6>currently running task</a> to <var>subtask</var>.<li><p>Run <var>subtask</var>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-23>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-7>currently running task</a> back to <var>parent</var>.</ol>
+ microtask subtask</dfn>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-23>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-6>currently running task</a> to <var>subtask</var>.<li><p>Run <var>subtask</var>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-24>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-7>currently running task</a> back to <var>parent</var>.</ol>
<hr>
@@ -63271,7 +63311,7 @@
<ol><li>
- <p>Let <var>task</var> be the <a href=#event-loop id=processing-model-9:event-loop-24>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-8>currently running
+ <p>Let <var>task</var> be the <a href=#event-loop id=processing-model-9:event-loop-25>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-8>currently running
task</a>.</p>
<p class=note>This might be a <a href=#microtask id=processing-model-9:microtask-9>microtask</a>, in which case it is a <a href=#solitary-callback-microtask id=processing-model-9:solitary-callback-microtask-2>solitary
@@ -63286,7 +63326,7 @@
<p>Stop <var>task</var>, allowing whatever algorithm that invoked it to resume, but
continue these steps <a href=#in-parallel id=processing-model-9:in-parallel-3>in parallel</a>.</p>
- <p class=note>This causes one of the following algorithms to continue: the <a href=#event-loop id=processing-model-9:event-loop-25>event
+ <p class=note>This causes one of the following algorithms to continue: the <a href=#event-loop id=processing-model-9:event-loop-26>event
loop</a>'s main set of steps, the <a href=#perform-a-microtask-checkpoint id=processing-model-9:perform-a-microtask-checkpoint-4>perform a microtask checkpoint</a> algorithm, or
the <a href=#execute-a-compound-microtask-subtask id=processing-model-9:execute-a-compound-microtask-subtask-2>execute a compound microtask subtask</a> algorithm to continue.</p>
@@ -63300,19 +63340,19 @@
<p>Some of the algorithms in this specification, for historical reasons, require the user agent to
<dfn id=pause>pause</dfn> while running a <a href=#concept-task id=processing-model-9:concept-task-10>task</a> until a condition <var>goal</var> is met. This means running the following steps:</p>
- <ol><li><p>If necessary, update the rendering or user interface of any <code id=processing-model-9:document-3><a href=#document>Document</a></code> or
- <a href=#browsing-context id=processing-model-9:browsing-context-4>browsing context</a> to reflect the current state.<li><p>Wait until the condition <var>goal</var> is met. While a user agent has a paused
- <a href=#concept-task id=processing-model-9:concept-task-11>task</a>, the corresponding <a href=#event-loop id=processing-model-9:event-loop-26>event loop</a> must not run
+ <ol><li><p>If necessary, update the rendering or user interface of any <code id=processing-model-9:document-21><a href=#document>Document</a></code> or
+ <a href=#browsing-context id=processing-model-9:browsing-context-5>browsing context</a> to reflect the current state.<li><p>Wait until the condition <var>goal</var> is met. While a user agent has a paused
+ <a href=#concept-task id=processing-model-9:concept-task-11>task</a>, the corresponding <a href=#event-loop id=processing-model-9:event-loop-27>event loop</a> must not run
further <a href=#concept-task id=processing-model-9:concept-task-12>tasks</a>, and any script in the currently running <a href=#concept-task id=processing-model-9:concept-task-13>task</a> must block. User agents should remain responsive to user input
- while paused, however, albeit in a reduced capacity since the <a href=#event-loop id=processing-model-9:event-loop-27>event loop</a> will not be
+ while paused, however, albeit in a reduced capacity since the <a href=#event-loop id=processing-model-9:event-loop-28>event loop</a> will not be
doing anything.</ol>
<hr>
<p>When a user agent is to <dfn id=obtain-the-storage-mutex>obtain the storage mutex</dfn> as part of running a <a href=#concept-task id=processing-model-9:concept-task-14>task</a>, it must run through the following steps:</p>
- <ol><li><p>If the <a href=#storage-mutex id=processing-model-9:storage-mutex-3>storage mutex</a> is already owned by this <a href=#concept-task id=processing-model-9:concept-task-15>task</a>'s <a href=#event-loop id=processing-model-9:event-loop-28>event loop</a>, then abort these steps.<li><p>Otherwise, <a href=#pause id=processing-model-9:pause>pause</a> until the <a href=#storage-mutex id=processing-model-9:storage-mutex-4>storage mutex</a> can be taken by the
- <a href=#event-loop id=processing-model-9:event-loop-29>event loop</a>.<li><p>Take ownership of the <a href=#storage-mutex id=processing-model-9:storage-mutex-5>storage mutex</a>.</ol>
+ <ol><li><p>If the <a href=#storage-mutex id=processing-model-9:storage-mutex-3>storage mutex</a> is already owned by this <a href=#concept-task id=processing-model-9:concept-task-15>task</a>'s <a href=#event-loop id=processing-model-9:event-loop-29>event loop</a>, then abort these steps.<li><p>Otherwise, <a href=#pause id=processing-model-9:pause>pause</a> until the <a href=#storage-mutex id=processing-model-9:storage-mutex-4>storage mutex</a> can be taken by the
+ <a href=#event-loop id=processing-model-9:event-loop-30>event loop</a>.<li><p>Take ownership of the <a href=#storage-mutex id=processing-model-9:storage-mutex-5>storage mutex</a>.</ol>
@@ -66336,6 +66376,42 @@
+ <h3 id=animation-frames>8.8 Animation Frames</h3>
+
+ <p>Each <code id=animation-frames:document><a href=#document>Document</a></code> has a <dfn id=list-of-animation-frame-callbacks>list of animation frame callbacks</dfn>, which must be
+ initially empty, and an <dfn id=animation-frame-callback-identifier>animation frame callback identifier</dfn>, which is a number which
+ must initially be zero.</p>
+
+ <p>When the <dfn id=dom-window-requestanimationframe><code>requestAnimationFrame()</code></dfn> method is called,
+ the user agent must run the following steps:</p>
+
+ <ol><li><p>Let <var>document</var> be <a href=#concept-document-window id=animation-frames:concept-document-window>the
+ <code>Window</code> object's <code>Document</code> object</a>.<li><p>Increment <var>document</var>'s <a href=#animation-frame-callback-identifier id=animation-frames:animation-frame-callback-identifier>animation frame callback identifier</a> by
+ one.<li><p>Append the method's argument to <var>document</var>'s <a href=#list-of-animation-frame-callbacks id=animation-frames:list-of-animation-frame-callbacks>list of animation frame
+ callbacks</a>, associated with <var>document</var>'s <a href=#animation-frame-callback-identifier id=animation-frames:animation-frame-callback-identifier-2>animation frame callback
+ identifier</a>'s current value.<li><p>Return <var>document</var>'s <a href=#animation-frame-callback-identifier id=animation-frames:animation-frame-callback-identifier-3>animation frame callback identifier</a>'s current
+ value.</ol>
+
+ <p>When the <dfn id=dom-window-cancelanimationframe><code>cancelAnimationFrame()</code></dfn> method is called,
+ the user agent must run the following steps:</p>
+
+ <ol><li><p>Let <var>document</var> be <a href=#concept-document-window id=animation-frames:concept-document-window-2>the
+ <code>Window</code> object's <code>Document</code> object</a>.<li><p>Find the entry in <var>document</var>'s <a href=#list-of-animation-frame-callbacks id=animation-frames:list-of-animation-frame-callbacks-2>list of animation frame callbacks</a>
+ that is associated with the value given by the method's argument.<li><p>If there is such an entry, remove it from <var>document</var>'s <a href=#list-of-animation-frame-callbacks id=animation-frames:list-of-animation-frame-callbacks-3>list of animation
+ frame callbacks</a>.</ol>
+
+ <p>When the user agent is to <dfn id=run-the-animation-frame-callbacks>run the animation frame callbacks</dfn> for a
+ <code id=animation-frames:document-2><a href=#document>Document</a></code> <var>doc</var> with a timestamp <var>now</var>, it must run the following
+ steps:</p>
+
+ <ol><li><p>Let <var>callbacks</var> be a list of the entries in <var>doc</var>'s <a href=#list-of-animation-frame-callbacks id=animation-frames:list-of-animation-frame-callbacks-4>list of
+ animation frame callbacks</a>, in the order in which they were added to the list.<li><p>Set <var>doc</var>'s <a href=#list-of-animation-frame-callbacks id=animation-frames:list-of-animation-frame-callbacks-5>list of animation frame callbacks</a> to the empty
+ list.<li><p>For each entry in <var>callbacks</var>, in order: invoke the callback, passing
+ <var>now</var> as the only argument, and if an exception is thrown, <a href=#report-the-exception id=animation-frames:report-the-exception>report the
+ exception</a>. <a href=#refsWEBIDL>[WEBIDL]</a></ol>
+
+
+
<h2 id=comms>9 Communication</h2>
<h3 id=the-messageevent-interfaces>9.1 The <code id=the-messageevent-interfaces:messageevent><a href=#messageevent>MessageEvent</a></code> interfaces</h3><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27128" title="MessageEventInit should probably use Window, not WindowProxy">27128</a></div>
@@ -81780,7 +81856,7 @@
- <h3 id=web+-scheme-prefix>16.10 <dfn><code>web+</code> scheme prefix</dfn></h3><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18496" title="Change the IANA sections to refer to the new registration system and not IANA">18496</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18671" title="Find a solution to the problem of the IANA scheme registry being so incomplete (especially given web+)">18671</a></div>
+ <h3 id=web+-scheme-prefix>16.10 <dfn><code>web+</code> scheme prefix</dfn></h3><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18496" title="Change the IANA sections to refer to the new registration system and not IANA">18496</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18671" title="Find a solution to the problem of the IANA scheme registry being so incomplete (especially given web+)">18671</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27364" title="Encoding considerations: none,">27364</a></div>
<p>This section describes a convention for use with the IANA URI scheme registry. It does not
itself register a specific scheme. <a href=#refsRFC4395>[RFC4395]</a></p>
@@ -84713,7 +84789,7 @@
- <dl id=ref-list><dt id=refsABNF>[ABNF]<dd><cite><a href=http://www.ietf.org/rfc/std/std68.txt>Augmented BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker, P. Overell. IETF.<dt id=refsABOUT>[ABOUT]<dd><cite><a href=http://tools.ietf.org/html/rfc6694>The 'about' URI scheme</a></cite>, S. Moonesamy. IETF.<dt id=refsAPNG>[APNG]<dd>(Non-normative) <cite><a href=https://wiki.mozilla.org/APNG_Specification>APNG Specification</a></cite>. S. Parmenter, V. Vukicevic, A. Smith. Mozilla.<dt id=refsARIA>[ARIA]<dd><cite><a href=http://www.w3.org/WAI/PF/aria/>Accessible Rich Internet Applications (WAI-ARIA)</a></cite>, J. Craig, M. Cooper, L. Pappas, R. Schwerdtfeger, L. Seeman. W3C.<dt id=refsARIAIMPL>[ARIAIMPL]<dd><cite><a href=http://www.w3.org/WAI/PF/aria-implementation/>WAI-ARIA 1.0 User Agent Implementation Guide</a></cite>, A. Snow-Weaver, M. Cooper. W3C.<dt id=refsATAG>[ATAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/ATAG20/>Authoring Tool Accessibility Guide
lines (ATAG) 2.0</a></cite>, J. Richards, J. Spellman, J. Treviranus. W3C.<dt id=refsATOM>[ATOM]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc4287>The Atom Syndication Format</a></cite>, M. Nottingham, R. Sayre. IETF.<dt id=refsBCP47>[BCP47]<dd><cite><a href=http://www.ietf.org/rfc/bcp/bcp47.txt>Tags for Identifying Languages; Matching of Language Tags</a></cite>, A. Phillips, M. Davis. IETF.<dt id=refsBECSS>[BECSS]<dd><cite><a href=http://www.w3.org/TR/becss/>Behavioral Extensions to CSS</a></cite>, I. Hickson. W3C.<dt id=refsBEZIER>[BEZIER]<dd><cite>Courbes à poles</cite>, P. de Casteljau. INPI, 1959.<dt id=refsBIDI>[BIDI]<dd><cite><a href=http://www.unicode.org/reports/tr9/>UAX #9: Unicode Bidirectional Algorithm</a></cite>, M. Davis. Unicode Consortium.<dt id=refsBOCU1>[BOCU1]<dd>(Non-normative) <cite><a href=http://www.unicode.org/notes/tn6/>UTN #6: BOCU-1: MIME-Compatible Unicode Compression</a></cite>, M. Scherer, M. Davis. Unicode Consortium.<dt id
=refsCESU8>[CESU8]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr26/>UTR #26: Compatibility Encoding Scheme For UTF-16: 8-BIT (CESU-8)</a></cite>, T. Phipps. Unicode Consortium.<dt id=refsCHARMOD>[CHARMOD]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/charmod/>Character Model for the World Wide Web 1.0: Fundamentals</a></cite>, M. Dürst, F. Yergeau, R. Ishida, M. Wolf, T. Texin. W3C.<dt id=refsCLDR>[CLDR]<dd><cite><a href=http://cldr.unicode.org/>Unicode Common Locale Data Repository</a></cite>. Unicode.<dt id=refsCOMPOSITE>[COMPOSITE]<dd><cite><a href=http://dev.w3.org/fxtf/compositing/>Compositing and Blending</a></cite>. R. Cabanier, N. Andronikos. W3C.<dt id=refsCOMPUTABLE>[COMPUTABLE]<dd>(Non-normative) <cite><a href=http://www.turingarchive.org/browse.php/B/12>On computable numbers, with an application to the Entscheidungsproblem</a></cite>, A. Turing. In <cite>Proceedings of the London Mathematical Society</cite>, series 2, volume 42, page
s 230-265. London Mathematical Society, 1937.<dt id=refsCOOKIES>[COOKIES]<dd><cite><a href=http://tools.ietf.org/html/rfc6265>HTTP State Management Mechanism</a></cite>, A. Barth. IETF.<dt id=refsCP50220>[CP50220]<dd>(Non-normative) <cite><a href=http://www.iana.org/assignments/charset-reg/CP50220>CP50220</a></cite>, Y. Naruse. IANA.<dt id=refsCSP>[CSP]<dd>(Non-normative) <cite><a href=https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html>Content Security Policy</a></cite>, B. Sterne, A. Barth. W3C.<dt id=refsCSS>[CSS]<dd><cite><a href=http://www.w3.org/TR/CSS2/>Cascading Style Sheets Level 2 Revision 1</a></cite>, B. Bos, T. Çelik, I. Hickson, H. Lie. W3C.<dt id=refsCSSANIMATIONS>[CSSANIMATIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css-animations/>CSS Animations</a></cite>, D. Jackson, D. Hyatt, C. Marrin, S. Galineau, L. Baron. W3C.<dt id=refsCSSATTR>[CSSATTR]<dd><cite><a href=http://dev.w3.org/csswg/css-style-attr/>CSS
Styling Attribute Syntax</a></cite>, T. Çelik, E. Etemad. W3C.<dt id=refsCSSCOLOR>[CSSCOLOR]<dd><cite><a href=http://dev.w3.org/csswg/css-color/>CSS Color Module Level 3</a></cite>, T. Çelik, C. Lilley, L. Baron. W3C.<dt id=refsCSSFONTLOAD>[CSSFONTLOAD]<dd><cite><a href=http://dev.w3.org/csswg/css-font-loading/>CSS Font Loading</a></cite>, T. Atkins, J. Daggett. W3C.<dt id=refsCSSFONTS>[CSSFONTS]<dd><cite><a href=http://dev.w3.org/csswg/css-fonts/>CSS Fonts</a></cite>, J. Daggett. W3C.<dt id=refsCSSGC>[CSSGC]<dd><cite><a href=http://dev.w3.org/csswg/css-content>CSS Generated Content</a></cite>, H. Lie, E. Etemad, I. Hickson. W3C.<dt id=refsCSSIMAGES>[CSSIMAGES]<dd><cite><a href=http://dev.w3.org/csswg/css-images/>CSS Image Values and Replaced Content Module</a></cite>, E. Etemad, T. Atkins. W3C.<dt id=refsCSSOM>[CSSOM]<dd><cite><a href=http://dev.w3.org/csswg/cssom/>Cascading Style Sheets Object Model (CSSOM)</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSOMVIEW>[CSS
OMVIEW]<dd><cite><a href=http://dev.w3.org/csswg/cssom-view/>CSSOM View Module</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSRUBY>[CSSRUBY]<dd><cite><a href=http://dev.w3.org/csswg/css-ruby/>CSS3 Ruby Module</a></cite>, R. Ishida. W3C.<dt id=refsCSSTRANSITIONS>[CSSTRANSITIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css-transitions/>CSS Transitions</a></cite>, D. Jackson, D. Hyatt, C. Marrin, L. Baron. W3C.<dt id=refsCSSUI>[CSSUI]<dd><cite><a href=http://dev.w3.org/csswg/css-ui/>CSS3 Basic User Interface Module</a></cite>, T. Çelik. W3C.<dt id=refsCSSSCOPED>[CSSSCOPED]<dd><cite><a href=http://dev.w3.org/csswg/css-scoping/>CSS Scoping</a></cite>, T. Atkins, E. Etemad. W3C.<dt id=refsCSSSYNTAX>[CSSSYNTAX]<dd><cite><a href=http://dev.w3.org/csswg/css-syntax/>CSS Syntax</a></cite>, T. Atkins, S. Sapin. W3C.<dt id=refsCSSVALUES>[CSSVALUES]<dd><cite><a href=http://dev.w3.org/csswg/css-values/>CSS3 Values and Units</a></cite>, H. Lie, T. Atkins, E. Etemad. W
3C.<dt id=refsCSSWM>[CSSWM]<dd><cite><a href=http://dev.w3.org/csswg/css-writing-modes>CSS Writing Modes</a></cite>, E. Etemad, K. Ishii. W3C.<dt id=refsDASH>[DASH]<dd><cite><a href="http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=65274">Dynamic adaptive streaming over HTTP (DASH)</a></cite>. ISO.<dt id=refsDOM>[DOM]<dd><cite><a href=https://dom.spec.whatwg.org/>DOM</a></cite>, A. van Kesteren, A. Gregor, Ms2ger. WHATWG.<dt id=refsDOMEVENTS>[DOMEVENTS]<dd><cite><a href=https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html>Document Object Model (DOM) Level 3 Events Specification</a></cite>, G. Kacmarcik, T. Leithead, J. Rossi, D. Schepers, B. Höhrmann, P. Le Hégaret, T. Pixley. W3C.<dt id=refsDOMPARSING>[DOMPARSING]<dd><cite><a href=https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html lang=en-US>DOM Parsing and Serialization</a></cite>, T. Leithead. W3C.<dt id=refsDOT>[DOT]<dd>(Non-normative) <cite><a href=http://www.grap
hviz.org/content/dot-language>The DOT Language</a></cite>. Graphviz.<dt id=refsE163>[E163]<dd><cite>Recommendation E.163 — Numbering Plan for The International Telephone Service</cite>, CCITT Blue Book, Fascicle II.2, pp. 128-134, November 1988.<dt id=refsECMA262>[ECMA262]<dd><cite><a href=http://people.mozilla.org/~jorendorff/es6-draft.html>ECMAScript Language Specification</a></cite>. ECMA.<dt id=refsEDITING>[EDITING]<dd><cite><a href=https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html>HTML Editing APIs</a></cite>, A. Gregor. W3C Editing APIs CG.<dt id=refsENCODING>[ENCODING]<dd><cite><a href=https://encoding.spec.whatwg.org/>Encoding</a></cite>, A. van Kesteren, J. Bell. WHATWG.<dt id=refsFETCH>[FETCH]<dd><cite><a href=https://fetch.spec.whatwg.org/>Fetch</a></cite>, A. van Kesteren. WHATWG.<dt id=refsFILEAPI>[FILEAPI]<dd><cite><a href=http://dev.w3.org/2006/webapi/FileAPI/>File API</a></cite>, A. Ranganathan. W3C.<dt id=refsFULLSCREEN>[FULLSCREEN]<dd><cite><a href
=https://fullscreen.spec.whatwg.org/>Fullscreen</a></cite>, A. van Kesteren, T. Çelik. WHATWG.<dt id=refsGIF>[GIF]<dd>(Non-normative) <cite><a href=http://www.w3.org/Graphics/GIF/spec-gif89a.txt>Graphics Interchange Format</a></cite>. CompuServe.<dt id=refsGRAPHICS>[GRAPHICS]<dd>(Non-normative) <cite>Computer Graphics: Principles and Practice in C</cite>, Second Edition, J. Foley, A. van Dam, S. Feiner, J. Hughes. Addison-Wesley. ISBN 0-201-84840-6.<dt id=refsGREGORIAN>[GREGORIAN]<dd>(Non-normative) <cite>Inter Gravissimas</cite>, A. Lilius, C. Clavius. Gregory XIII Papal Bull, February 1582.<dt id=refsHTTP>[HTTP]<dd><cite><a href=http://tools.ietf.org/html/rfc7230>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7231>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc
7232>Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7233>Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a></cite>, R. Fielding, Y. Lafon, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7234>Hypertext Transfer Protocol (HTTP/1.1): Caching</a></cite>, R. Fielding, M. Nottingham, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7235>Hypertext Transfer Protocol (HTTP/1.1): Authentication</a></cite>, R. Fielding, J. Reschke. IETF.<dt id=refsIANAPERMHEADERS>[IANAPERMHEADERS]<dd><cite><a href=http://www.iana.org/assignments/message-headers/perm-headers.html>Permanent Message Header Field Names</a></cite>. IANA.<dt id=refsINBAND>[INBAND]<dd><cite><a href=http://dev.w3.org/html5/html-sourcing-inband-tracks/>Sourcing In-band Media Resource Tracks from Media Containers into HTML</a></cite>, S. Pfeiffer, B. Lund. W3C.<dt id=refsISO3166>[ISO31
66]<dd><cite><a href=http://www.iso.org/iso/home/standards/country_codes.htm>ISO 3166: Codes for the representation of names of countries and their subdivisions</a></cite>. ISO.<dt id=refsISO4217>[ISO4217]<dd><cite><a href=http://www.iso.org/iso/home/standards/currency_codes.htm>ISO 4217: Codes for the representation of currencies and funds</a></cite>. ISO.<dt id=refsISO8601>[ISO8601]<dd>(Non-normative) <cite><a href="http://isotc.iso.org/livelink/livelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch&nodeid=4021199">ISO8601: Data elements and interchange formats — Information interchange — Representation of dates and times</a></cite>. ISO.<dt id=refsJLREQ>[JLREQ]<dd><cite><a href=http://www.w3.org/TR/jlreq/>Requirements for Japanese Text Layout</a></cite>. W3C.<dt id=refsJPEG>[JPEG]<dd><cite><a href=http://www.w3.org/Graphics/JPEG/jfif3.pdf>JPEG File Interchange Format</a></cite>, E. Hamilton.<dt id=refsJSON>[JSON]<dd><cite><a href=http://tools.ietf.org/html/rfc4627>Th
e application/json Media Type for JavaScript Object Notation (JSON)</a></cite>, D. Crockford. IETF.<dt id=refsMAILTO>[MAILTO]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc6068>The 'mailto' URI scheme</a></cite>, M. Duerst, L. Masinter, J. Zawinski. IETF.<dt id=refsMATHML>[MATHML]<dd><cite><a href=http://www.w3.org/TR/MathML/>Mathematical Markup Language (MathML)</a></cite>, D. Carlisle, P. Ion, R. Miner, N. Poppelier. W3C.<dt id=refsMEDIAFRAG>[MEDIAFRAG]<dd><cite><a href=http://www.w3.org/2008/WebVideo/Fragments/WD-media-fragments-spec/>Media Fragments URI</a></cite>, R. Troncy, E. Mannens, S. Pfeiffer, D. Van Deursen. W3C.<dt id=refsMEDIASOURCE>[MEDIASOURCE]<dd><cite><a href=https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html>Media Source Extensions</a></cite>, A. Colwell, A. Bateman, M. Watson. W3C.<dt id=refsMEDIASTREAM>[MEDIASTREAM]<dd><cite><a href=http://w3c.github.io/mediacapture-main/getusermedia.html>Media Capture and Stre
ams</a></cite>, D. Burnett, A. Bergkvist, C. Jennings, A. Narayanan. W3C.<dt id=refsMFREL>[MFREL]<dd><cite><a href=http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions>Microformats Wiki: existing rel values</a></cite>. Microformats.<dt id=refsMIMESNIFF>[MIMESNIFF]<dd><cite><a href=https://mimesniff.spec.whatwg.org/>MIME Sniffing</a></cite>, G. Hemsley. WHATWG.<dt id=refsMNG>[MNG]<dd><cite><a href=http://www.libpng.org/pub/mng/spec/>MNG (Multiple-image Network Graphics) Format</a></cite>. G. Randers-Pehrson.<dt id=refsMPEG2>[MPEG2]<dd><cite>ISO/IEC 13818-1: Information technology — Generic coding of moving pictures and associated audio information: Systems</cite>. ISO/IEC.<dt id=refsMPEG4>[MPEG4]<dd><cite>ISO/IEC 14496-12: ISO base media file format</cite>. ISO/IEC.<dt id=refsMQ>[MQ]<dd><cite><a href=http://drafts.csswg.org/mediaqueries/>Media Queries</a></cite>, H. Lie, T. Çelik, D. Glazman, A. van Kesteren. W3C.<dt id=refsNPAPI>[NPAPI]<dd>(Non-norm
ative) <cite><a href=https://developer.mozilla.org/en-US/Add-ons/Plugins/Gecko_Plugin_API_Reference>Gecko Plugin API Reference</a></cite>. Mozilla.<dt id=refsOGGSKELETONHEADERS>[OGGSKELETONHEADERS]<dd><cite><a href=http://wiki.xiph.org/SkeletonHeaders>SkeletonHeaders</a></cite>. Xiph.Org.<dt id=refsOPENSEARCH>[OPENSEARCH]<dd><cite><a href=http://www.opensearch.org/Specifications/OpenSearch/1.1#Autodiscovery_in_HTML.2FXHTML>Autodiscovery in HTML/XHTML</a></cite>. In <cite>OpenSearch 1.1 Draft 4</cite>, Section 4.6.2. OpenSearch.org.<dt id=refsORIGIN>[ORIGIN]<dd><cite><a href=http://tools.ietf.org/html/rfc6454>The Web Origin Concept</a></cite>, A. Barth. IETF.<dt id=refsPAGEVIS>[PAGEVIS]<dd>(Non-normative) <cite><a href=https://w3c.github.io/web-performance/specs/PageVisibility/Overview.html>Page Visibility</a></cite>, J. Mann, A. Jain. W3C.<dt id=refsPDF>[PDF]<dd>(Non-normative) <cite><a href=http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf>Document management — P
ortable document format — Part 1: PDF</a></cite>. ISO.<dt id=refsPINGBACK>[PINGBACK]<dd><cite><a href=http://www.hixie.ch/specs/pingback/pingback>Pingback 1.0</a></cite>, S. Langridge, I. Hickson.<dt id=refsPNG>[PNG]<dd><cite><a href=http://www.w3.org/TR/PNG/>Portable Network Graphics (PNG) Specification</a></cite>, D. Duce. W3C.<dt id=refsPOINTERLOCK>[POINTERLOCK]<dd><cite><a href=https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>Pointer Lock</a></cite>, V. Scheib. W3C.<dt id=refsPPUTF8>[PPUTF8]<dd>(Non-normative) <cite><a href=http://www.sw.it.aoyama.ac.jp/2012/pub/IUC11-UTF-8.pdf>The Properties and Promises of UTF-8</a></cite>, M. Dürst. University of Zürich. In <cite>Proceedings of the 11th International Unicode Conference</cite>.<dt id=refsPSL>[PSL]<dd><cite><a href=https://publicsuffix.org/>Public Suffix List</a></cite>.
+ <dl id=ref-list><dt id=refsABNF>[ABNF]<dd><cite><a href=http://www.ietf.org/rfc/std/std68.txt>Augmented BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker, P. Overell. IETF.<dt id=refsABOUT>[ABOUT]<dd><cite><a href=http://tools.ietf.org/html/rfc6694>The 'about' URI scheme</a></cite>, S. Moonesamy. IETF.<dt id=refsAPNG>[APNG]<dd>(Non-normative) <cite><a href=https://wiki.mozilla.org/APNG_Specification>APNG Specification</a></cite>. S. Parmenter, V. Vukicevic, A. Smith. Mozilla.<dt id=refsARIA>[ARIA]<dd><cite><a href=http://www.w3.org/WAI/PF/aria/>Accessible Rich Internet Applications (WAI-ARIA)</a></cite>, J. Craig, M. Cooper, L. Pappas, R. Schwerdtfeger, L. Seeman. W3C.<dt id=refsARIAIMPL>[ARIAIMPL]<dd><cite><a href=http://www.w3.org/WAI/PF/aria-implementation/>WAI-ARIA 1.0 User Agent Implementation Guide</a></cite>, A. Snow-Weaver, M. Cooper. W3C.<dt id=refsATAG>[ATAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/ATAG20/>Authoring Tool Accessibility Guide
lines (ATAG) 2.0</a></cite>, J. Richards, J. Spellman, J. Treviranus. W3C.<dt id=refsATOM>[ATOM]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc4287>The Atom Syndication Format</a></cite>, M. Nottingham, R. Sayre. IETF.<dt id=refsBCP47>[BCP47]<dd><cite><a href=http://www.ietf.org/rfc/bcp/bcp47.txt>Tags for Identifying Languages; Matching of Language Tags</a></cite>, A. Phillips, M. Davis. IETF.<dt id=refsBECSS>[BECSS]<dd><cite><a href=http://www.w3.org/TR/becss/>Behavioral Extensions to CSS</a></cite>, I. Hickson. W3C.<dt id=refsBEZIER>[BEZIER]<dd><cite>Courbes à poles</cite>, P. de Casteljau. INPI, 1959.<dt id=refsBIDI>[BIDI]<dd><cite><a href=http://www.unicode.org/reports/tr9/>UAX #9: Unicode Bidirectional Algorithm</a></cite>, M. Davis. Unicode Consortium.<dt id=refsBOCU1>[BOCU1]<dd>(Non-normative) <cite><a href=http://www.unicode.org/notes/tn6/>UTN #6: BOCU-1: MIME-Compatible Unicode Compression</a></cite>, M. Scherer, M. Davis. Unicode Consortium.<dt id
=refsCESU8>[CESU8]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr26/>UTR #26: Compatibility Encoding Scheme For UTF-16: 8-BIT (CESU-8)</a></cite>, T. Phipps. Unicode Consortium.<dt id=refsCHARMOD>[CHARMOD]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/charmod/>Character Model for the World Wide Web 1.0: Fundamentals</a></cite>, M. Dürst, F. Yergeau, R. Ishida, M. Wolf, T. Texin. W3C.<dt id=refsCLDR>[CLDR]<dd><cite><a href=http://cldr.unicode.org/>Unicode Common Locale Data Repository</a></cite>. Unicode.<dt id=refsCOMPOSITE>[COMPOSITE]<dd><cite><a href=http://dev.w3.org/fxtf/compositing/>Compositing and Blending</a></cite>. R. Cabanier, N. Andronikos. W3C.<dt id=refsCOMPUTABLE>[COMPUTABLE]<dd>(Non-normative) <cite><a href=http://www.turingarchive.org/browse.php/B/12>On computable numbers, with an application to the Entscheidungsproblem</a></cite>, A. Turing. In <cite>Proceedings of the London Mathematical Society</cite>, series 2, volume 42, page
s 230-265. London Mathematical Society, 1937.<dt id=refsCOOKIES>[COOKIES]<dd><cite><a href=http://tools.ietf.org/html/rfc6265>HTTP State Management Mechanism</a></cite>, A. Barth. IETF.<dt id=refsCP50220>[CP50220]<dd>(Non-normative) <cite><a href=http://www.iana.org/assignments/charset-reg/CP50220>CP50220</a></cite>, Y. Naruse. IANA.<dt id=refsCSP>[CSP]<dd>(Non-normative) <cite><a href=https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html>Content Security Policy</a></cite>, B. Sterne, A. Barth. W3C.<dt id=refsCSS>[CSS]<dd><cite><a href=http://www.w3.org/TR/CSS2/>Cascading Style Sheets Level 2 Revision 1</a></cite>, B. Bos, T. Çelik, I. Hickson, H. Lie. W3C.<dt id=refsCSSANIMATIONS>[CSSANIMATIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css-animations/>CSS Animations</a></cite>, D. Jackson, D. Hyatt, C. Marrin, S. Galineau, L. Baron. W3C.<dt id=refsCSSATTR>[CSSATTR]<dd><cite><a href=http://dev.w3.org/csswg/css-style-attr/>CSS
Styling Attribute Syntax</a></cite>, T. Çelik, E. Etemad. W3C.<dt id=refsCSSCOLOR>[CSSCOLOR]<dd><cite><a href=http://dev.w3.org/csswg/css-color/>CSS Color Module Level 3</a></cite>, T. Çelik, C. Lilley, L. Baron. W3C.<dt id=refsCSSFONTLOAD>[CSSFONTLOAD]<dd><cite><a href=http://dev.w3.org/csswg/css-font-loading/>CSS Font Loading</a></cite>, T. Atkins, J. Daggett. W3C.<dt id=refsCSSFONTS>[CSSFONTS]<dd><cite><a href=http://dev.w3.org/csswg/css-fonts/>CSS Fonts</a></cite>, J. Daggett. W3C.<dt id=refsCSSGC>[CSSGC]<dd><cite><a href=http://dev.w3.org/csswg/css-content>CSS Generated Content</a></cite>, H. Lie, E. Etemad, I. Hickson. W3C.<dt id=refsCSSIMAGES>[CSSIMAGES]<dd><cite><a href=http://dev.w3.org/csswg/css-images/>CSS Image Values and Replaced Content Module</a></cite>, E. Etemad, T. Atkins. W3C.<dt id=refsCSSOM>[CSSOM]<dd><cite><a href=http://dev.w3.org/csswg/cssom/>Cascading Style Sheets Object Model (CSSOM)</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSOMVIEW>[CSS
OMVIEW]<dd><cite><a href=http://dev.w3.org/csswg/cssom-view/>CSSOM View Module</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSRUBY>[CSSRUBY]<dd><cite><a href=http://dev.w3.org/csswg/css-ruby/>CSS3 Ruby Module</a></cite>, R. Ishida. W3C.<dt id=refsCSSTRANSITIONS>[CSSTRANSITIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css-transitions/>CSS Transitions</a></cite>, D. Jackson, D. Hyatt, C. Marrin, L. Baron. W3C.<dt id=refsCSSUI>[CSSUI]<dd><cite><a href=http://dev.w3.org/csswg/css-ui/>CSS3 Basic User Interface Module</a></cite>, T. Çelik. W3C.<dt id=refsCSSSCOPED>[CSSSCOPED]<dd><cite><a href=http://dev.w3.org/csswg/css-scoping/>CSS Scoping</a></cite>, T. Atkins, E. Etemad. W3C.<dt id=refsCSSSYNTAX>[CSSSYNTAX]<dd><cite><a href=http://dev.w3.org/csswg/css-syntax/>CSS Syntax</a></cite>, T. Atkins, S. Sapin. W3C.<dt id=refsCSSVALUES>[CSSVALUES]<dd><cite><a href=http://dev.w3.org/csswg/css-values/>CSS3 Values and Units</a></cite>, H. Lie, T. Atkins, E. Etemad. W
3C.<dt id=refsCSSWM>[CSSWM]<dd><cite><a href=http://dev.w3.org/csswg/css-writing-modes>CSS Writing Modes</a></cite>, E. Etemad, K. Ishii. W3C.<dt id=refsDASH>[DASH]<dd><cite><a href="http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=65274">Dynamic adaptive streaming over HTTP (DASH)</a></cite>. ISO.<dt id=refsDOM>[DOM]<dd><cite><a href=https://dom.spec.whatwg.org/>DOM</a></cite>, A. van Kesteren, A. Gregor, Ms2ger. WHATWG.<dt id=refsDOMEVENTS>[DOMEVENTS]<dd><cite><a href=https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html>Document Object Model (DOM) Level 3 Events Specification</a></cite>, G. Kacmarcik, T. Leithead, J. Rossi, D. Schepers, B. Höhrmann, P. Le Hégaret, T. Pixley. W3C.<dt id=refsDOMPARSING>[DOMPARSING]<dd><cite><a href=https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html lang=en-US>DOM Parsing and Serialization</a></cite>, T. Leithead. W3C.<dt id=refsDOT>[DOT]<dd>(Non-normative) <cite><a href=http://www.grap
hviz.org/content/dot-language>The DOT Language</a></cite>. Graphviz.<dt id=refsE163>[E163]<dd><cite>Recommendation E.163 — Numbering Plan for The International Telephone Service</cite>, CCITT Blue Book, Fascicle II.2, pp. 128-134, November 1988.<dt id=refsECMA262>[ECMA262]<dd><cite><a href=http://people.mozilla.org/~jorendorff/es6-draft.html>ECMAScript Language Specification</a></cite>. ECMA.<dt id=refsEDITING>[EDITING]<dd><cite><a href=https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html>HTML Editing APIs</a></cite>, A. Gregor. W3C Editing APIs CG.<dt id=refsENCODING>[ENCODING]<dd><cite><a href=https://encoding.spec.whatwg.org/>Encoding</a></cite>, A. van Kesteren, J. Bell. WHATWG.<dt id=refsFETCH>[FETCH]<dd><cite><a href=https://fetch.spec.whatwg.org/>Fetch</a></cite>, A. van Kesteren. WHATWG.<dt id=refsFILEAPI>[FILEAPI]<dd><cite><a href=http://dev.w3.org/2006/webapi/FileAPI/>File API</a></cite>, A. Ranganathan. W3C.<dt id=refsFULLSCREEN>[FULLSCREEN]<dd><cite><a href
=https://fullscreen.spec.whatwg.org/>Fullscreen</a></cite>, A. van Kesteren, T. Çelik. WHATWG.<dt id=refsGIF>[GIF]<dd>(Non-normative) <cite><a href=http://www.w3.org/Graphics/GIF/spec-gif89a.txt>Graphics Interchange Format</a></cite>. CompuServe.<dt id=refsGRAPHICS>[GRAPHICS]<dd>(Non-normative) <cite>Computer Graphics: Principles and Practice in C</cite>, Second Edition, J. Foley, A. van Dam, S. Feiner, J. Hughes. Addison-Wesley. ISBN 0-201-84840-6.<dt id=refsGREGORIAN>[GREGORIAN]<dd>(Non-normative) <cite>Inter Gravissimas</cite>, A. Lilius, C. Clavius. Gregory XIII Papal Bull, February 1582.<dt id=refsHRT>[HRT]<dd><cite><a href=https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/HighResolutionTime/Overview.html>High Resolution Time</a></cite>, J. Mann. W3C.<dt id=refsHTTP>[HTTP]<dd><cite><a href=http://tools.ietf.org/html/rfc7230>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.or
g/html/rfc7231>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7232>Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7233>Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a></cite>, R. Fielding, Y. Lafon, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7234>Hypertext Transfer Protocol (HTTP/1.1): Caching</a></cite>, R. Fielding, M. Nottingham, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7235>Hypertext Transfer Protocol (HTTP/1.1): Authentication</a></cite>, R. Fielding, J. Reschke. IETF.<dt id=refsIANAPERMHEADERS>[IANAPERMHEADERS]<dd><cite><a href=http://www.iana.org/assignments/message-headers/perm-headers.html>Permanent Message Header Field Names</a></cite>. IANA.<dt id=refsINBAND>[INBAND]<dd><cite><a href=http://dev.w3.org/ht
ml5/html-sourcing-inband-tracks/>Sourcing In-band Media Resource Tracks from Media Containers into HTML</a></cite>, S. Pfeiffer, B. Lund. W3C.<dt id=refsISO3166>[ISO3166]<dd><cite><a href=http://www.iso.org/iso/home/standards/country_codes.htm>ISO 3166: Codes for the representation of names of countries and their subdivisions</a></cite>. ISO.<dt id=refsISO4217>[ISO4217]<dd><cite><a href=http://www.iso.org/iso/home/standards/currency_codes.htm>ISO 4217: Codes for the representation of currencies and funds</a></cite>. ISO.<dt id=refsISO8601>[ISO8601]<dd>(Non-normative) <cite><a href="http://isotc.iso.org/livelink/livelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch&nodeid=4021199">ISO8601: Data elements and interchange formats — Information interchange — Representation of dates and times</a></cite>. ISO.<dt id=refsJLREQ>[JLREQ]<dd><cite><a href=http://www.w3.org/TR/jlreq/>Requirements for Japanese Text Layout</a></cite>. W3C.<dt id=refsJPEG>[JPEG]<dd><cite><a href=http:
//www.w3.org/Graphics/JPEG/jfif3.pdf>JPEG File Interchange Format</a></cite>, E. Hamilton.<dt id=refsJSON>[JSON]<dd><cite><a href=http://tools.ietf.org/html/rfc4627>The application/json Media Type for JavaScript Object Notation (JSON)</a></cite>, D. Crockford. IETF.<dt id=refsMAILTO>[MAILTO]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc6068>The 'mailto' URI scheme</a></cite>, M. Duerst, L. Masinter, J. Zawinski. IETF.<dt id=refsMATHML>[MATHML]<dd><cite><a href=http://www.w3.org/TR/MathML/>Mathematical Markup Language (MathML)</a></cite>, D. Carlisle, P. Ion, R. Miner, N. Poppelier. W3C.<dt id=refsMEDIAFRAG>[MEDIAFRAG]<dd><cite><a href=http://www.w3.org/2008/WebVideo/Fragments/WD-media-fragments-spec/>Media Fragments URI</a></cite>, R. Troncy, E. Mannens, S. Pfeiffer, D. Van Deursen. W3C.<dt id=refsMEDIASOURCE>[MEDIASOURCE]<dd><cite><a href=https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html>Media Source Extensions</a></cite>, A. Co
lwell, A. Bateman, M. Watson. W3C.<dt id=refsMEDIASTREAM>[MEDIASTREAM]<dd><cite><a href=http://w3c.github.io/mediacapture-main/getusermedia.html>Media Capture and Streams</a></cite>, D. Burnett, A. Bergkvist, C. Jennings, A. Narayanan. W3C.<dt id=refsMFREL>[MFREL]<dd><cite><a href=http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions>Microformats Wiki: existing rel values</a></cite>. Microformats.<dt id=refsMIMESNIFF>[MIMESNIFF]<dd><cite><a href=https://mimesniff.spec.whatwg.org/>MIME Sniffing</a></cite>, G. Hemsley. WHATWG.<dt id=refsMNG>[MNG]<dd><cite><a href=http://www.libpng.org/pub/mng/spec/>MNG (Multiple-image Network Graphics) Format</a></cite>. G. Randers-Pehrson.<dt id=refsMPEG2>[MPEG2]<dd><cite>ISO/IEC 13818-1: Information technology — Generic coding of moving pictures and associated audio information: Systems</cite>. ISO/IEC.<dt id=refsMPEG4>[MPEG4]<dd><cite>ISO/IEC 14496-12: ISO base media file format</cite>. ISO/IEC.<dt id=refsMQ>[MQ]<dd>
<cite><a href=http://drafts.csswg.org/mediaqueries/>Media Queries</a></cite>, H. Lie, T. Çelik, D. Glazman, A. van Kesteren. W3C.<dt id=refsNPAPI>[NPAPI]<dd>(Non-normative) <cite><a href=https://developer.mozilla.org/en-US/Add-ons/Plugins/Gecko_Plugin_API_Reference>Gecko Plugin API Reference</a></cite>. Mozilla.<dt id=refsOGGSKELETONHEADERS>[OGGSKELETONHEADERS]<dd><cite><a href=http://wiki.xiph.org/SkeletonHeaders>SkeletonHeaders</a></cite>. Xiph.Org.<dt id=refsOPENSEARCH>[OPENSEARCH]<dd><cite><a href=http://www.opensearch.org/Specifications/OpenSearch/1.1#Autodiscovery_in_HTML.2FXHTML>Autodiscovery in HTML/XHTML</a></cite>. In <cite>OpenSearch 1.1 Draft 4</cite>, Section 4.6.2. OpenSearch.org.<dt id=refsORIGIN>[ORIGIN]<dd><cite><a href=http://tools.ietf.org/html/rfc6454>The Web Origin Concept</a></cite>, A. Barth. IETF.<dt id=refsPAGEVIS>[PAGEVIS]<dd>(Non-normative) <cite><a href=https://w3c.github.io/web-performance/specs/PageVisibility/Overview.html>Page Visibility</a></
cite>, J. Mann, A. Jain. W3C.<dt id=refsPDF>[PDF]<dd>(Non-normative) <cite><a href=http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf>Document management — Portable document format — Part 1: PDF</a></cite>. ISO.<dt id=refsPINGBACK>[PINGBACK]<dd><cite><a href=http://www.hixie.ch/specs/pingback/pingback>Pingback 1.0</a></cite>, S. Langridge, I. Hickson.<dt id=refsPNG>[PNG]<dd><cite><a href=http://www.w3.org/TR/PNG/>Portable Network Graphics (PNG) Specification</a></cite>, D. Duce. W3C.<dt id=refsPOINTERLOCK>[POINTERLOCK]<dd><cite><a href=https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>Pointer Lock</a></cite>, V. Scheib. W3C.<dt id=refsPPUTF8>[PPUTF8]<dd>(Non-normative) <cite><a href=http://www.sw.it.aoyama.ac.jp/2012/pub/IUC11-UTF-8.pdf>The Properties and Promises of UTF-8</a></cite>, M. Dürst. University of Zürich. In <cite>Proceedings of the 11th International Unicode Conference</cite>.<dt id=refsPSL>[PSL]<dd><cite><a href=https://publicsuffix.o
rg/>Public Suffix List</a></cite>.
Mozilla Foundation.<dt id=refsRFC1034>[RFC1034]<dd><cite><a href=http://tools.ietf.org/html/rfc1034>Domain Names - Concepts and Facilities</a></cite>, P. Mockapetris. IETF, November 1987.<dt id=refsRFC1123>[RFC1123]<dd><cite><a href=http://tools.ietf.org/html/rfc1123>Requirements for Internet Hosts -- Application and Support</a></cite>, R. Braden. IETF, October 1989.<dt id=refsRFC1345>[RFC1345]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1345>Character Mnemonics and Character Sets</a></cite>, K. Simonsen. IETF.<dt id=refsRFC1468>[RFC1468]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1468>Japanese Character Encoding for Internet Messages</a></cite>, J. Murai, M. Crispin, E. van der Poel. IETF.<dt id=refsRFC1554>[RFC1554]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1554>ISO-2022-JP-2: Multilingual Extension of ISO-2022-JP</a></cite>, M. Ohta, K. Handa. IETF.<dt id=refsRFC1557>[RFC1557]<dd>(Non-normative) <cite><a href=
http://tools.ietf.org/html/rfc1557>Korean Character Encoding for Internet Messages</a></cite>, U. Choi, K. Chon, H. Park. IETF.<dt id=refsRFC1842>[RFC1842]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1842>ASCII Printable Characters-Based Chinese Character Encoding for Internet Messages</a></cite>, Y. Wei, Y. Zhang, J. Li, J. Ding, Y. Jiang. IETF.<dt id=refsRFC1922>[RFC1922]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1922>Chinese Character Encoding for Internet Messages</a></cite>, HF. Zhu, DY. Hu, ZG. Wang, TC. Kao, WCH. Chang, M. Crispin. IETF.<dt id=refsRFC2046>[RFC2046]<dd><cite><a href=http://tools.ietf.org/html/rfc2046>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</a></cite>, N. Freed, N. Borenstein. IETF.<dt id=refsRFC2119>[RFC2119]<dd><cite><a href=http://tools.ietf.org/html/rfc2119>Key words for use in RFCs to Indicate Requirement Levels</a></cite>, S. Bradner. IETF.<dt id=refsRFC2237>[RFC2237]<dd>(Non-norm
ative) <cite><a href=http://tools.ietf.org/html/rfc2237>Japanese Character Encoding for Internet Messages</a></cite>, K. Tamaru. IETF.<dt id=refsRFC3447>[RFC3447]<dd><cite><a href=http://tools.ietf.org/html/rfc3447>Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications</a></cite>, J. Jonsson, B. Kaliski. IETF.<dt id=refsRFC2318>[RFC2318]<dd><cite><a href=http://tools.ietf.org/html/rfc2318>The text/css Media Type</a></cite>, H. Lie, B. Bos, C. Lilley. IETF.<dt id=refsRFC2388>[RFC2388]<dd><cite><a href=http://tools.ietf.org/html/rfc2388>Returning Values from Forms: multipart/form-data</a></cite>, L. Masinter. IETF.<dt id=refsRFC2397>[RFC2397]<dd><cite><a href=http://tools.ietf.org/html/rfc2397>The "data" URL scheme</a></cite>, L. Masinter. IETF.<dt id=refsRFC2445>[RFC2445]<dd><cite><a href=http://tools.ietf.org/html/rfc2445>Internet Calendaring and Scheduling Core Object Specification (iCalendar)</a></cite>, F. Dawson, D. Stenerson. IETF.<dt id=refsRFC248
3>[RFC2483]<dd><cite><a href=http://tools.ietf.org/html/rfc2483>URI Resolution Services Necessary for URN Resolution</a></cite>, M. Mealling, R. Daniel. IETF.<dt id=refsRFC3279>[RFC3279]<dd><cite><a href=http://tools.ietf.org/html/rfc3279>Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</a></cite>, W. Polk, R. Housley, L. Bassham. IETF.<dt id=refsRFC3676>[RFC3676]<dd><cite><a href=http://tools.ietf.org/html/rfc3676>The Text/Plain Format and DelSp Parameters</a></cite>, R. Gellens. IETF.<dt id=refsRFC3864>[RFC3864]<dd><cite><a href=http://tools.ietf.org/html/rfc3864>Registration Procedures for Message Header Fields</a></cite>, G. Klyne, M. Nottingham, J. Mogul. IETF.<dt id=refsRFC4329>[RFC4329]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc4329>Scripting Media Types</a></cite>, B. Höhrmann. IETF.<dt id=refsRFC4337>[RFC4337]<dd>(Non-normative) <cite><a href=http://tools.ietf.
org/html/rfc4337>MIME Type Registration for MPEG-4</a></cite>, Y. Lim, D. Singer. IETF.<dt id=refsRFC4395>[RFC4395]<dd><cite><a href=http://tools.ietf.org/html/rfc4395>Guidelines and Registration Procedures for New URI Schemes</a></cite>, T. Hansen, T. Hardie, L. Masinter. IETF.<dt id=refsRFC4648>[RFC4648]<dd><cite><a href=http://tools.ietf.org/html/rfc4648>The Base16, Base32, and Base64 Data Encodings</a></cite>, S. Josefsson. IETF.<dt id=refsRFC5280>[RFC5280]<dd><cite><a href=http://tools.ietf.org/html/rfc5280>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</a></cite>, D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley, W. Polk. IETF.<dt id=refsRFC5322>[RFC5322]<dd><cite><a href=http://tools.ietf.org/html/rfc5322>Internet Message Format</a></cite>, P. Resnick. IETF.<dt id=refsRFC6381>[RFC6381]<dd><cite><a href=http://tools.ietf.org/html/rfc6381>The 'Codecs' and 'Profiles' Parameters for "Bucket" Media Types</a></ci
te>, R. Gellens, D. Singer, P. Frojdh. IETF.<dt id=refsRFC6266>[RFC6266]<dd><cite><a href=http://tools.ietf.org/html/rfc6266>Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</a></cite>, J. Reschke. IETF.<dt id=refsRFC6350>[RFC6350]<dd><cite><a href=http://tools.ietf.org/html/rfc6350>vCard Format Specification</a></cite>, S. Perreault. IETF.<dt id=refsRFC7303>[RFC7303]<dd><cite><a href=http://tools.ietf.org/html/rfc7303>XML Media Types</a></cite>, H. Thompson, C. Lilley. IETF.<dt id=refsSCSU>[SCSU]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr6/>UTR #6: A Standard Compression Scheme For Unicode</a></cite>, M. Wolf, K. Whistler, C. Wicksteed, M. Davis, A. Freytag, M. Scherer. Unicode Consortium.<dt id=refsSELECTORS>[SELECTORS]<dd><cite><a href=http://dev.w3.org/csswg/selectors/>Selectors</a></cite>, E. Etemad, T. Çelik, D. Glazman, I. Hickson, P. Linss, J. Williams. W3C.<dt id=refsSMS>[SMS]<dd>(Non-normative) <cite><a
href=http://tools.ietf.org/html/rfc5724>URI Scheme for Global System for Mobile Communications (GSM) Short Message Service (SMS)</a></cite>, E. Wilde, A. Vaha-Sipila. IETF.<dt id=refsSRGB>[SRGB]<dd><cite lang=en-GB><a href="http://webstore.iec.ch/webstore/webstore.nsf/artnum/025408!OpenDocument&Click=">IEC 61966-2-1: Multimedia systems and equipment — Colour measurement and management — Part 2-1: Colour management — Default RGB colour space — sRGB</a></cite>. IEC.<dt id=refsSVG>[SVG]<dd><cite><a href=http://www.w3.org/TR/SVGTiny12/>Scalable Vector Graphics (SVG) Tiny 1.2 Specification</a></cite>, O. Andersson, R. Berjon, E. Dahlström, A. Emmons, J. Ferraiolo, A. Grasso, V. Hardy, S. Hayman, D. Jackson, C. Lilley, C. McCormack, A. Neumann, C. Northway, A. Quint, N. Ramani, D. Schepers, A. Shellshear. W3C.<dt id=refsTOR>[TOR]<dd>(Non-normative) <cite><a href=https://www.torproject.org/>Tor</a></cite>.<dt id=refsTOUCH>[TOUCH]<dd><cite><a href=https://dvcs.w3.org/hg
/webevents/raw-file/v1/touchevents.html>Touch Events</a></cite>, D. Schepers, S. Moon, M. Brubeck, A. Barstow. W3C.<dt id=refsTZDATABASE>[TZDATABASE]<dd>(Non-normative) <cite><a href=http://www.iana.org/time-zones>Time Zone Database</a></cite>. IANA.<dt id=refsUAAG>[UAAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/UAAG20/>User Agent Accessibility Guidelines (UAAG) 2.0</a></cite>, J. Allan, K. Ford, J. Richards, J. Spellman. W3C.<dt id=refsUCA>[UCA]<dd><cite><a href=http://www.unicode.org/reports/tr10/>UTR #10: Unicode Collation Algorithm</a></cite>, M. Davis, K. Whistler. Unicode Consortium.<dt id=refsUNICODE>[UNICODE]<dd><cite><a href=http://www.unicode.org/versions/>The Unicode Standard</a></cite>. Unicode Consortium.<dt id=refsUNIVCHARDET>[UNIVCHARDET]<dd>(Non-normative) <cite><a href=http://www-archive.mozilla.org/projects/intl/UniversalCharsetDetection.html>A composite approach to language/encoding detection</a></cite>, S. Li, K. Momoi. Netscape. In <cite>Pro
ceedings of the 19th International Unicode Conference</cite>.<dt id=refsURL>[URL]<dd><cite><a href=https://url.spec.whatwg.org/>URL</a></cite>, A. van Kesteren. WHATWG.<dt id=refsURN>[URN]<dd><cite><a href=http://tools.ietf.org/html/rfc2141>URN Syntax</a></cite>, R. Moats. IETF.<dt id=refsUTF7>[UTF7]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc2152>UTF-7: A Mail-Safe Transformation Format of Unicode</a></cite>, D. Goldsmith, M. Davis. IETF.<dt id=refsUTF8DET>[UTF8DET]<dd>(Non-normative) <cite><a href=http://www.w3.org/International/questions/qa-forms-utf-8>Multilingual form encoding</a></cite>, M. Dürst. W3C.<dt id=refsUTR36>[UTR36]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr36/>UTR #36: Unicode Security Considerations</a></cite>, M. Davis, M. Suignard. Unicode Consortium.<dt id=refsWCAG>[WCAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/WCAG20/>Web Content Accessibility Guidelines (WCAG) 2.0</a></cite>, B. Caldwell, M. Co
oper, L. Reid, G. Vanderheiden. W3C.<dt id=refsWEBGL>[WEBGL]<dd><cite><a href=http://www.khronos.org/registry/webgl/specs/latest/>WebGL Specification</a></cite>, D. Jackson. Khronos Group.<dt id=refsWEBIDL>[WEBIDL]<dd><cite><a href=http://dev.w3.org/2006/webapi/WebIDL/>Web IDL</a></cite>, C. McCormack. W3C.<dt id=refsWEBLINK>[WEBLINK]<dd><cite><a href=http://tools.ietf.org/html/rfc5988>Web Linking</a></cite>, M. Nottingham. IETF.<dt id=refsWEBMCG>[WEBMCG]<dd><cite><a href=http://www.webmproject.org/code/specs/container/>WebM Container Guidelines</a></cite>. The WebM Project.<dt id=refsWEBVTT>[WEBVTT]<dd><cite><a href=http://dev.w3.org/html5/webvtt/>WebVTT</a></cite>, I. Hickson. W3C.<dt id=refsWHATWGWIKI>[WHATWGWIKI]<dd><cite><a href=https://wiki.whatwg.org/>The WHATWG Wiki</a></cite>. WHATWG.<dt id=refsWSP>[WSP]<dd><cite><a href=http://tools.ietf.org/html/rfc6455>The WebSocket protocol</a></cite>, I. Fette, A. Melnikov. IETF.<dt id=refsX121>[X121]<dd><cite>Recommendation X.
121 — International Numbering Plan for Public Data Networks</cite>, CCITT Blue Book, Fascicle VIII.3, pp. 317-332.<dt id=refsX690>[X690]<dd><cite><a href=http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf>Recommendation X.690 — Information Technology — ASN.1 Encoding Rules — Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER), and Distinguished Encoding Rules (DER)</a></cite>. International Telecommunication Union.<dt id=refsXFN>[XFN]<dd><cite><a href=http://gmpg.org/xfn/11>XFN 1.1 profile</a></cite>, T. Çelik, M. Mullenweg, E. Meyer. GMPG.<dt id=refsXHR>[XHR]<dd><cite><a href=https://xhr.spec.whatwg.org/><code>XMLHttpRequest</code></a></cite>, A. van Kesteren. WHATWG.<dt id=refsXML>[XML]<dd><cite><a href=http://www.w3.org/TR/xml/>Extensible Markup Language</a></cite>, T. Bray, J. Paoli, C. Sperberg-McQueen, E. Maler, F. Yergeau. W3C.<dt id=refsXMLBASE>[XMLBASE]<dd><cite><a href=http://www.w3.org/TR/xmlbase/>XML Base</a></cit
e>, J. Marsh, R. Tobin. W3C.<dt id=refsXMLNS>[XMLNS]<dd><cite><a href=http://www.w3.org/TR/xml-names/>Namespaces in XML</a></cite>, T. Bray, D. Hollander, A. Layman, R. Tobin. W3C.<dt id=refsXMLSSPI>[XMLSSPI]<dd><cite><a href=http://www.w3.org/TR/xml-stylesheet/>Associating Style Sheets with XML documents</a></cite>, J. Clark, S. Pieters, H. Thompson. W3C.<dt id=refsXPATH10>[XPATH10]<dd><cite><a href=http://www.w3.org/TR/1999/REC-xpath-19991116/>XML Path Language (XPath) Version 1.0</a></cite>, J. Clark, S. DeRose. W3C.<dt id=refsXSLT10>[XSLT10]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/1999/REC-xslt-19991116>XSL Transformations (XSLT) Version 1.0</a></cite>, J. Clark. W3C.</dl>
Modified: index
===================================================================
--- index 2014-11-12 19:34:25 UTC (rev 8848)
+++ index 2014-11-19 21:56:43 UTC (rev 8849)
@@ -340,7 +340,7 @@
</style><body onload=init()>
<header id=head class="head with-buttons">
<p><a href=https://whatwg.org/ class=logo><img src=//whatwg.org/images/logo width=101 alt=WHATWG height=101></a></p>
- <hgroup><h1 class=allcaps>HTML</h1><h2 id=living-standard-—-last-updated-[date:-01-jan-1901] class="no-num no-toc">Living Standard — Last Updated <span class=pubdate>12 November 2014</span></h2></hgroup>
+ <hgroup><h1 class=allcaps>HTML</h1><h2 id=living-standard-—-last-updated-[date:-01-jan-1901] class="no-num no-toc">Living Standard — Last Updated <span class=pubdate>19 November 2014</span></h2></hgroup>
<nav>
<div>
@@ -381,7 +381,7 @@
on a <code>label</code> element to define a command</a><li><a href=#using-the-accesskey-attribute-on-a-legend-element-to-define-a-command>4.11.6.9 Using the <code>accesskey</code> attribute
on a <code>legend</code> element to define a command</a><li><a href=#using-the-accesskey-attribute-to-define-a-command-on-other-elements>4.11.6.10 Using the <code>accesskey</code>
attribute to define a command on other elements</a></ol><li><a href=#the-dialog-element>4.11.7 The <code>dialog</code> element</a><ol><li><a href=#anchor-points>4.11.7.1 Anchor points</a></ol></ol><li><a href=#scripting-3>4.12 Scripting</a><ol><li><a href=#the-script-element>4.12.1 The <code>script</code> element</a><ol><li><a href=#scriptingLanguages>4.12.1.1 Scripting languages</a><li><a href=#restrictions-for-contents-of-script-elements>4.12.1.2 Restrictions for contents of <code>script</code> elements</a><li><a href=#inline-documentation-for-external-scripts>4.12.1.3 Inline documentation for external scripts</a><li><a href=#scriptTagXSLT>4.12.1.4 Interaction of <code>script</code> elements and XSLT</a></ol><li><a href=#the-noscript-element>4.12.2 The <code>noscript</code> element</a><li><a href=#the-template-element>4.12.3 The <code>template</code> element</a><ol><li><a href=#template-XSLT-XPath>4.12.3.1 Interaction of <code>template</code> elements with XSLT and XPath
</a></ol><li><a href=#the-canvas-element>4.12.4 The <code>canvas</code> element</a><ol><li><a href=#proxying-canvases-to-workers>4.12.4.1 Proxying canvases to workers</a><li><a href=#2dcontext>4.12.4.2 The 2D rendering context</a><ol><li><a href=#implementation-notes>4.12.4.2.1 Implementation notes</a><li><a href=#the-canvas-state>4.12.4.2.2 The canvas state</a><li><a href=#drawingstyle-objects>4.12.4.2.3 <code>DrawingStyle</code> objects</a><li><a href=#line-styles>4.12.4.2.4 Line styles</a><li><a href=#text-styles>4.12.4.2.5 Text styles</a><li><a href=#building-paths>4.12.4.2.6 Building paths</a><li><a href=#path2d-objects>4.12.4.2.7 <code>Path2D</code> objects</a><li><a href=#transformations>4.12.4.2.8 Transformations</a><li><a href=#image-sources-for-2d-rendering-contexts>4.12.4.2.9 Image sources for 2D rendering contexts</a><li><a href=#fill-and-stroke-styles>4.12.4.2.10 Fill and stroke styles</a><li><a href=#drawing-rectangles-to-the-bitmap>4.12.4.2.11 Drawing rectangl
es to the bitmap</a><li><a href=#drawing-text-to-the-bitmap>4.12.4.2.12 Drawing text to the bitmap</a><li><a href=#drawing-paths-to-the-canvas>4.12.4.2.13 Drawing paths to the canvas</a><li><a href=#drawing-images>4.12.4.2.14 Drawing images</a><li><a href=#hit-regions>4.12.4.2.15 Hit regions</a><li><a href=#pixel-manipulation>4.12.4.2.16 Pixel manipulation</a><li><a href=#compositing>4.12.4.2.17 Compositing</a><li><a href=#image-smoothing>4.12.4.2.18 Image smoothing</a><li><a href=#shadows>4.12.4.2.19 Shadows</a><li><a href=#drawing-model>4.12.4.2.20 Drawing model</a><li><a href=#best-practices>4.12.4.2.21 Best practices</a><li><a href=#examples>4.12.4.2.22 Examples</a></ol><li><a href=#colour-spaces-and-colour-correction>4.12.4.3 Colour spaces and colour correction</a><li><a href=#serialising-bitmaps-to-a-file>4.12.4.4 Serialising bitmaps to a file</a><li><a href=#security-with-canvas-elements>4.12.4.5 Security with <code>canvas</code> elements</a></ol></ol><li><a href=#com
mon-idioms>4.13 Common idioms without dedicated elements</a><ol><li><a href=#the-main-part-of-the-content>4.13.1 The main part of the content</a><li><a href=#rel-up>4.13.2 Bread crumb navigation</a><li><a href=#tag-clouds>4.13.3 Tag clouds</a><li><a href=#conversations>4.13.4 Conversations</a><li><a href=#footnotes>4.13.5 Footnotes</a></ol><li><a href=#disabled-elements>4.14 Disabled elements</a><li><a href=#selectors>4.15 Matching HTML elements using selectors</a><ol><li><a href=#case-sensitivity>4.15.1 Case-sensitivity</a><li><a href=#pseudo-classes>4.15.2 Pseudo-classes</a></ol></ol><li id=toc-microdata><a href=#microdata>5 Microdata</a><ol><li><a href=#introduction-7>5.1 Introduction</a><ol><li><a href=#overview>5.1.1 Overview</a><li><a href=#the-basic-syntax>5.1.2 The basic syntax</a><li><a href=#typed-items>5.1.3 Typed items</a><li><a href=#global-identifiers-for-items>5.1.4 Global identifiers for items</a><li><a href=#selecting-names-when-defining-vocabularies>5.1.5 S
electing names when defining vocabularies</a><li><a href=#using-the-microdata-dom-api>5.1.6 Using the microdata DOM API</a></ol><li><a href=#encoding-microdata>5.2 Encoding microdata</a><ol><li><a href=#the-microdata-model>5.2.1 The microdata model</a><li><a href=#items>5.2.2 Items</a><li><a href=#names:-the-itemprop-attribute>5.2.3 Names: the <code>itemprop</code> attribute</a><li><a href=#values>5.2.4 Values</a><li><a href=#associating-names-with-items>5.2.5 Associating names with items</a><li><a href=#microdata-and-other-namespaces>5.2.6 Microdata and other namespaces</a></ol><li><a href=#microdata-dom-api>5.3 Microdata DOM API</a><li><a href=#mdvocabs>5.4 Sample microdata vocabularies</a><ol><li><a href=#vcard>5.4.1 vCard</a><ol><li><a href=#conversion-to-vcard>5.4.1.1 Conversion to vCard</a><li><a href=#examples-2>5.4.1.2 Examples</a></ol><li><a href=#vevent>5.4.2 vEvent</a><ol><li><a href=#conversion-to-icalendar>5.4.2.1 Conversion to iCalendar</a><li><a href=#examples
-3>5.4.2.2 Examples</a></ol><li><a href=#licensing-works>5.4.3 Licensing works</a><ol><li><a href=#examples-4>5.4.3.1 Examples</a></ol></ol><li><a href=#converting-html-to-other-formats>5.5 Converting HTML to other formats</a><ol><li><a href=#json>5.5.1 JSON</a></ol></ol><li id=toc-editing><a href=#editing>6 User interaction</a><ol><li><a href=#the-hidden-attribute>6.1 The <code>hidden</code> attribute</a><li><a href=#inert-subtrees>6.2 Inert subtrees</a><li><a href=#activation>6.3 Activation</a><li><a href=#focus>6.4 Focus</a><ol><li><a href=#introduction-8>6.4.1 Introduction</a><li><a href=#data-model>6.4.2 Data model</a><li><a href=#the-tabindex-attribute>6.4.3 The <code>tabindex</code> attribute</a><li><a href=#processing-model-6>6.4.4 Processing model</a><li><a href=#sequential-focus-navigation>6.4.5 Sequential focus navigation</a><li><a href=#focus-management-apis>6.4.6 Focus management APIs</a></ol><li><a href=#assigning-keyboard-shortcuts>6.5 Assigning keyboard short
cuts</a><ol><li><a href=#introduction-9>6.5.1 Introduction</a><li><a href=#the-accesskey-attribute>6.5.2 The <code>accesskey</code> attribute</a><li><a href=#processing-model-7>6.5.3 Processing model</a></ol><li><a href=#editing-2>6.6 Editing</a><ol><li><a href=#contenteditable>6.6.1 Making document regions editable: The <code>contenteditable</code> content attribute</a><li><a href=#making-entire-documents-editable:-the-designmode-idl-attribute>6.6.2 Making entire documents editable: The <code>designMode</code> IDL attribute</a><li><a href=#best-practices-for-in-page-editors>6.6.3 Best practices for in-page editors</a><li><a href=#editing-apis>6.6.4 Editing APIs</a><li><a href=#spelling-and-grammar-checking>6.6.5 Spelling and grammar checking</a></ol><li><a href=#dnd>6.7 Drag and drop</a><ol><li><a href=#introduction-10>6.7.1 Introduction</a><li><a href=#the-drag-data-store>6.7.2 The drag data store</a><li><a href=#the-datatransfer-interface>6.7.3 The <code>DataTransfer</cod
e> interface</a><ol><li><a href=#the-datatransferitemlist-interface>6.7.3.1 The <code>DataTransferItemList</code> interface</a><li><a href=#the-datatransferitem-interface>6.7.3.2 The <code>DataTransferItem</code> interface</a></ol><li><a href=#the-dragevent-interface>6.7.4 The <code>DragEvent</code> interface</a><li><a href=#drag-and-drop-processing-model>6.7.5 Drag-and-drop processing model</a><li><a href=#dndevents>6.7.6 Events summary</a><li><a href=#the-draggable-attribute>6.7.7 The <code>draggable</code> attribute</a><li><a href=#the-dropzone-attribute>6.7.8 The <code>dropzone</code> attribute</a><li><a href=#security-risks-in-the-drag-and-drop-model>6.7.9 Security risks in the drag-and-drop model</a></ol></ol><li id=toc-browsers><a href=#browsers>7 Loading Web pages</a><ol><li><a href=#windows>7.1 Browsing contexts</a><ol><li><a href=#nested-browsing-contexts>7.1.1 Nested browsing contexts</a><ol><li><a href=#navigating-nested-browsing-contexts-in-the-dom>7.1.1.1 Navig
ating nested browsing contexts in the DOM</a></ol><li><a href=#auxiliary-browsing-contexts>7.1.2 Auxiliary browsing contexts</a><ol><li><a href=#navigating-auxiliary-browsing-contexts-in-the-dom>7.1.2.1 Navigating auxiliary browsing contexts in the DOM</a></ol><li><a href=#secondary-browsing-contexts>7.1.3 Secondary browsing contexts</a><li><a href=#security-nav>7.1.4 Security</a><li><a href=#groupings-of-browsing-contexts>7.1.5 Groupings of browsing contexts</a><li><a href=#browsing-context-names>7.1.6 Browsing context names</a></ol><li><a href=#the-window-object>7.2 The <code>Window</code> object</a><ol><li><a href=#security-window>7.2.1 Security</a><li><a href=#apis-for-creating-and-navigating-browsing-contexts-by-name>7.2.2 APIs for creating and navigating browsing contexts by name</a><li><a href=#accessing-other-browsing-contexts>7.2.3 Accessing other browsing contexts</a><li><a href=#named-access-on-the-window-object>7.2.4 Named access on the <code>Window</code> object
</a><li><a href=#garbage-collection-and-browsing-contexts>7.2.5 Garbage collection and browsing contexts</a><li><a href=#closing-browsing-contexts>7.2.6 Closing browsing contexts</a><li><a href=#browser-interface-elements>7.2.7 Browser interface elements</a><li><a href=#the-windowproxy-object>7.2.8 The <code>WindowProxy</code> object</a></ol><li><a href=#origin>7.3 Origin</a><ol><li><a href=#relaxing-the-same-origin-restriction>7.3.1 Relaxing the same-origin restriction</a></ol><li><a href=#sandboxing>7.4 Sandboxing</a><li><a href=#history>7.5 Session history and navigation</a><ol><li><a href=#the-session-history-of-browsing-contexts>7.5.1 The session history of browsing contexts</a><li><a href=#the-history-interface>7.5.2 The <code>History</code> interface</a><li><a href=#the-location-interface>7.5.3 The <code>Location</code> interface</a><ol><li><a href=#security-location>7.5.3.1 Security</a></ol><li><a href=#history-notes>7.5.4 Implementation notes for session history</a>
</ol><li><a href=#browsing-the-web>7.6 Browsing the Web</a><ol><li><a href=#navigating-across-documents>7.6.1 Navigating across documents</a><li><a href=#read-html>7.6.2 Page load processing model for HTML files</a><li><a href=#read-xml>7.6.3 Page load processing model for XML files</a><li><a href=#read-text>7.6.4 Page load processing model for text files</a><li><a href=#read-multipart-x-mixed-replace>7.6.5 Page load processing model for <code>multipart/x-mixed-replace</code> resources</a><li><a href=#read-media>7.6.6 Page load processing model for media</a><li><a href=#read-plugin>7.6.7 Page load processing model for content that uses plugins</a><li><a href=#read-ua-inline>7.6.8 Page load processing model for inline
- content that doesn't have a DOM</a><li><a href=#scroll-to-fragid>7.6.9 Navigating to a fragment identifier</a><li><a href=#history-traversal>7.6.10 History traversal</a><ol><li><a href=#the-popstateevent-interface>7.6.10.1 The <code>PopStateEvent</code> interface</a><li><a href=#the-hashchangeevent-interface>7.6.10.2 The <code>HashChangeEvent</code> interface</a><li><a href=#the-pagetransitionevent-interface>7.6.10.3 The <code>PageTransitionEvent</code> interface</a></ol><li><a href=#unloading-documents>7.6.11 Unloading documents</a><ol><li><a href=#the-beforeunloadevent-interface>7.6.11.1 The <code>BeforeUnloadEvent</code> interface</a></ol><li><a href=#aborting-a-document-load>7.6.12 Aborting a document load</a></ol><li><a href=#offline>7.7 Offline Web applications</a><ol><li><a href=#introduction-11>7.7.1 Introduction</a><ol><li><a href=#supporting-offline-caching-for-legacy-applications>7.7.1.1 Supporting offline caching for legacy applications</a><li><a href=#appcache
events>7.7.1.2 Event summary</a></ol><li><a href=#appcache>7.7.2 Application caches</a><li><a href=#manifests>7.7.3 The cache manifest syntax</a><ol><li><a href=#some-sample-manifests>7.7.3.1 Some sample manifests</a><li><a href=#writing-cache-manifests>7.7.3.2 Writing cache manifests</a><li><a href=#parsing-cache-manifests>7.7.3.3 Parsing cache manifests</a></ol><li><a href=#downloading-or-updating-an-application-cache>7.7.4 Downloading or updating an application cache</a><li><a href=#the-application-cache-selection-algorithm>7.7.5 The application cache selection algorithm</a><li><a href=#changesToNetworkingModel>7.7.6 Changes to the networking model</a><li><a href=#expiring-application-caches>7.7.7 Expiring application caches</a><li><a href=#disk-space>7.7.8 Disk space</a><li><a href=#security-concerns-with-offline-applications-caches>7.7.9 Security concerns with offline applications caches</a><li><a href=#application-cache-api>7.7.10 Application cache API</a><li><a href=#
navigator.online>7.7.11 Browser state</a></ol></ol><li id=toc-webappapis><a href=#webappapis>8 Web application APIs</a><ol><li><a href=#scripting>8.1 Scripting</a><ol><li><a href=#introduction-12>8.1.1 Introduction</a><li><a href=#enabling-and-disabling-scripting>8.1.2 Enabling and disabling scripting</a><li><a href=#processing-model-8>8.1.3 Processing model</a><ol><li><a href=#definitions-2>8.1.3.1 Definitions</a><li><a href=#script-settings-for-browsing-contexts>8.1.3.2 Script settings for browsing contexts</a><li><a href=#calling-scripts>8.1.3.3 Calling scripts</a><li><a href=#creating-scripts>8.1.3.4 Creating scripts</a><li><a href=#killing-scripts>8.1.3.5 Killing scripts</a><li><a href=#runtime-script-errors>8.1.3.6 Runtime script errors</a><ol><li><a href=#runtime-script-errors-in-documents>8.1.3.6.1 Runtime script errors in documents</a><li><a href=#the-errorevent-interface>8.1.3.6.2 The <code>ErrorEvent</code> interface</a></ol></ol><li><a href=#event-loops>8.1.4 Eve
nt loops</a><ol><li><a href=#definitions-3>8.1.4.1 Definitions</a><li><a href=#processing-model-9>8.1.4.2 Processing model</a><li><a href=#generic-task-sources>8.1.4.3 Generic task sources</a></ol><li><a href=#events>8.1.5 Events</a><ol><li><a href=#event-handler-attributes>8.1.5.1 Event handlers</a><li><a href=#event-handlers-on-elements,-document-objects,-and-window-objects>8.1.5.2 Event handlers on elements, <code>Document</code> objects, and <code>Window</code> objects</a><ol><li><a href=#idl-definitions>8.1.5.2.1 IDL definitions</a></ol><li><a href=#event-firing>8.1.5.3 Event firing</a><li><a href=#events-and-the-window-object>8.1.5.4 Events and the <code>Window</code> object</a></ol></ol><li><a href=#atob>8.2 Base64 utility methods</a><li><a href=#dynamic-markup-insertion>8.3 Dynamic markup insertion</a><ol><li><a href=#opening-the-input-stream>8.3.1 Opening the input stream</a><li><a href=#closing-the-input-stream>8.3.2 Closing the input stream</a><li><a href=#documen
t.write()>8.3.3 <code>document.write()</code></a><li><a href=#document.writeln()>8.3.4 <code>document.writeln()</code></a></ol><li><a href=#timers>8.4 Timers</a><li><a href=#user-prompts>8.5 User prompts</a><ol><li><a href=#simple-dialogs>8.5.1 Simple dialogs</a><li><a href=#printing>8.5.2 Printing</a><li><a href=#dialogs-implemented-using-separate-documents>8.5.3 Dialogs implemented using separate documents with <code>showModalDialog()</code></a></ol><li><a href=#system-state-and-capabilities>8.6 System state and capabilities</a><ol><li><a href=#the-navigator-object>8.6.1 The <code>Navigator</code> object</a><ol><li><a href=#client-identification>8.6.1.1 Client identification</a><li><a href=#language-preferences>8.6.1.2 Language preferences</a><li><a href=#custom-handlers>8.6.1.3 Custom scheme and content handlers: the <code>registerProtocolHandler()</code> and <code>registerContentHandler()</code> methods</a><ol><li><a href=#security-and-privacy>8.6.1.3.1 Security and priv
acy</a><li><a href=#sample-handler-impl>8.6.1.3.2 Sample user interface</a></ol><li><a href=#manually-releasing-the-storage-mutex>8.6.1.4 Manually releasing the storage mutex</a><li><a href=#plugins-2>8.6.1.5 Plugins</a></ol><li><a href=#the-external-interface>8.6.2 The <code>External</code> interface</a></ol><li><a href=#images>8.7 Images</a></ol><li id=toc-comms><a href=#comms>9 Communication</a><ol><li><a href=#the-messageevent-interfaces>9.1 The <code>MessageEvent</code> interfaces</a><li><a href=#server-sent-events>9.2 Server-sent events</a><ol><li><a href=#server-sent-events-intro>9.2.1 Introduction</a><li><a href=#the-eventsource-interface>9.2.2 The <code>EventSource</code> interface</a><li><a href=#processing-model-10>9.2.3 Processing model</a><li><a href=#parsing-an-event-stream>9.2.4 Parsing an event stream</a><li><a href=#event-stream-interpretation>9.2.5 Interpreting an event stream</a><li><a href=#authoring-notes>9.2.6 Authoring notes</a><li><a href=#eventsource
-push>9.2.7 Connectionless push and other features</a><li><a href=#garbage-collection-2>9.2.8 Garbage collection</a><li><a href=#implementation-advice>9.2.9 Implementation advice</a><li><a href=#iana-considerations>9.2.10 IANA considerations</a><ol><li><a href=#text/event-stream>9.2.10.1 <code>text/event-stream</code></a><li><a href=#last-event-id>9.2.10.2 <code>Last-Event-ID</code></a></ol></ol><li><a href=#network>9.3 Web sockets</a><ol><li><a href=#network-intro>9.3.1 Introduction</a><li><a href=#the-websocket-interface>9.3.2 The <code>WebSocket</code> interface</a><li><a href=#feedback-from-the-protocol>9.3.3 Feedback from the protocol</a><li><a href=#ping-and-pong-frames>9.3.4 Ping and Pong frames</a><li><a href=#parsing-websocket-urls>9.3.5 Parsing WebSocket URLs</a><li><a href=#the-closeevent-interfaces>9.3.6 The <code>CloseEvent</code> interfaces</a><li><a href=#garbage-collection-3>9.3.7 Garbage collection</a></ol><li><a href=#web-messaging>9.4 Cross-document messag
ing</a><ol><li><a href=#introduction-13>9.4.1 Introduction</a><li><a href=#security-postmsg>9.4.2 Security</a><ol><li><a href=#authors>9.4.2.1 Authors</a><li><a href=#user-agents>9.4.2.2 User agents</a></ol><li><a href=#posting-messages>9.4.3 Posting messages</a></ol><li><a href=#channel-messaging>9.5 Channel messaging</a><ol><li><a href=#introduction-14>9.5.1 Introduction</a><ol><li><a href=#examples-5>9.5.1.1 Examples</a><li><a href=#ports-as-the-basis-of-an-object-capability-model-on-the-web>9.5.1.2 Ports as the basis of an object-capability model on the Web</a><li><a href=#ports-as-the-basis-of-abstracting-out-service-implementations>9.5.1.3 Ports as the basis of abstracting out service implementations</a></ol><li><a href=#message-channels>9.5.2 Message channels</a><li><a href=#message-ports>9.5.3 Message ports</a><li><a href=#broadcasting-to-many-ports>9.5.4 Broadcasting to many ports</a><li><a href=#ports-and-garbage-collection>9.5.5 Ports and garbage collection</a></o
l><li><a href=#broadcasting-to-other-browsing-contexts>9.6 Broadcasting to other browsing contexts</a></ol><li id=toc-workers><a href=#workers>10 Web workers</a><ol><li><a href=#introduction-15>10.1 Introduction</a><ol><li><a href=#scope-2>10.1.1 Scope</a><li><a href=#examples-6>10.1.2 Examples</a><ol><li><a href=#a-background-number-crunching-worker>10.1.2.1 A background number-crunching worker</a><li><a href=#worker-used-for-background-i/o>10.1.2.2 Worker used for background I/O</a><li><a href=#shared-workers-introduction>10.1.2.3 Shared workers introduction</a><li><a href=#shared-state-using-a-shared-worker>10.1.2.4 Shared state using a shared worker</a><li><a href=#delegation>10.1.2.5 Delegation</a></ol><li><a href=#tutorials>10.1.3 Tutorials</a><ol><li><a href=#creating-a-dedicated-worker>10.1.3.1 Creating a dedicated worker</a><li><a href=#communicating-with-a-dedicated-worker>10.1.3.2 Communicating with a dedicated worker</a><li><a href=#shared-workers>10.1.3.3 Shared
workers</a></ol></ol><li><a href=#infrastructure-2>10.2 Infrastructure</a><ol><li><a href=#the-global-scope>10.2.1 The global scope</a><ol><li><a href=#the-workerglobalscope-common-interface>10.2.1.1 The <code>WorkerGlobalScope</code> common interface</a><li><a href=#dedicated-workers-and-the-dedicatedworkerglobalscope-interface>10.2.1.2 Dedicated workers and the <code>DedicatedWorkerGlobalScope</code> interface</a><li><a href=#shared-workers-and-the-sharedworkerglobalscope-interface>10.2.1.3 Shared workers and the <code>SharedWorkerGlobalScope</code> interface</a></ol><li><a href=#worker-event-loop>10.2.2 The event loop</a><li><a href="#the-worker's-lifetime">10.2.3 The worker's lifetime</a><li><a href=#processing-model-11>10.2.4 Processing model</a><li><a href=#runtime-script-errors-2>10.2.5 Runtime script errors</a><li><a href=#creating-workers>10.2.6 Creating workers</a><ol><li><a href=#the-abstractworker-abstract-interface>10.2.6.1 The <code>AbstractWorker</code> abstr
act interface</a><li><a href=#script-settings-for-workers>10.2.6.2 Script settings for workers</a><li><a href=#dedicated-workers-and-the-worker-interface>10.2.6.3 Dedicated workers and the <code>Worker</code> interface</a><li><a href=#shared-workers-and-the-sharedworker-interface>10.2.6.4 Shared workers and the <code>SharedWorker</code> interface</a></ol></ol><li><a href=#apis-available-to-workers>10.3 APIs available to workers</a><ol><li><a href=#importing-scripts-and-libraries>10.3.1 Importing scripts and libraries</a><li><a href=#the-workernavigator-object>10.3.2 The <code>WorkerNavigator</code> object</a><li><a href=#worker-locations>10.3.3 Worker locations</a></ol></ol><li id=toc-webstorage><a href=#webstorage>11 Web storage</a><ol><li><a href=#introduction-16>11.1 Introduction</a><li><a href=#storage>11.2 The API</a><ol><li><a href=#the-storage-interface>11.2.1 The <code>Storage</code> interface</a><li><a href=#the-sessionstorage-attribute>11.2.2 The <code>sessionStora
ge</code> attribute</a><li><a href=#the-localstorage-attribute>11.2.3 The <code>localStorage</code> attribute</a><li><a href=#the-storage-event>11.2.4 The <code>storage</code> event</a><ol><li><a href=#the-storageevent-interface>11.2.4.1 The <code>StorageEvent</code> interface</a></ol><li><a href=#threads>11.2.5 Threads</a></ol><li><a href=#disk-space-2>11.3 Disk space</a><li><a href=#privacy>11.4 Privacy</a><ol><li><a href=#user-tracking>11.4.1 User tracking</a><li><a href=#sensitivity-of-data>11.4.2 Sensitivity of data</a></ol><li><a href=#security-storage>11.5 Security</a><ol><li><a href=#dns-spoofing-attacks>11.5.1 DNS spoofing attacks</a><li><a href=#cross-directory-attacks>11.5.2 Cross-directory attacks</a><li><a href=#implementation-risks>11.5.3 Implementation risks</a></ol></ol><li id=toc-syntax><a href=#syntax>12 The HTML syntax</a><ol><li><a href=#writing>12.1 Writing HTML documents</a><ol><li><a href=#the-doctype>12.1.1 The DOCTYPE</a><li><a href=#elements-2>12.1.
2 Elements</a><ol><li><a href=#start-tags>12.1.2.1 Start tags</a><li><a href=#end-tags>12.1.2.2 End tags</a><li><a href=#attributes-2>12.1.2.3 Attributes</a><li><a href=#optional-tags>12.1.2.4 Optional tags</a><li><a href=#element-restrictions>12.1.2.5 Restrictions on content models</a><li><a href=#cdata-rcdata-restrictions>12.1.2.6 Restrictions on the contents of raw text and escapable raw text elements</a></ol><li><a href=#text-2>12.1.3 Text</a><ol><li><a href=#newlines>12.1.3.1 Newlines</a></ol><li><a href=#character-references>12.1.4 Character references</a><li><a href=#cdata-sections>12.1.5 CDATA sections</a><li><a href=#comments>12.1.6 Comments</a></ol><li><a href=#parsing>12.2 Parsing HTML documents</a><ol><li><a href=#overview-of-the-parsing-model>12.2.1 Overview of the parsing model</a><li><a href=#the-input-byte-stream>12.2.2 The input byte stream</a><ol><li><a href=#parsing-with-a-known-character-encoding>12.2.2.1 Parsing with a known character encoding</a><li><a
href=#determining-the-character-encoding>12.2.2.2 Determining the character encoding</a><li><a href=#character-encodings>12.2.2.3 Character encodings</a><li><a href=#changing-the-encoding-while-parsing>12.2.2.4 Changing the encoding while parsing</a><li><a href=#preprocessing-the-input-stream>12.2.2.5 Preprocessing the input stream</a></ol><li><a href=#parse-state>12.2.3 Parse state</a><ol><li><a href=#the-insertion-mode>12.2.3.1 The insertion mode</a><li><a href=#the-stack-of-open-elements>12.2.3.2 The stack of open elements</a><li><a href=#the-list-of-active-formatting-elements>12.2.3.3 The list of active formatting elements</a><li><a href=#the-element-pointers>12.2.3.4 The element pointers</a><li><a href=#other-parsing-state-flags>12.2.3.5 Other parsing state flags</a></ol><li><a href=#tokenization>12.2.4 Tokenization</a><ol><li><a href=#data-state>12.2.4.1 Data state</a><li><a href=#character-reference-in-data-state>12.2.4.2 Character reference in data state</a><li><a hr
ef=#rcdata-state>12.2.4.3 RCDATA state</a><li><a href=#character-reference-in-rcdata-state>12.2.4.4 Character reference in RCDATA state</a><li><a href=#rawtext-state>12.2.4.5 RAWTEXT state</a><li><a href=#script-data-state>12.2.4.6 Script data state</a><li><a href=#plaintext-state>12.2.4.7 PLAINTEXT state</a><li><a href=#tag-open-state>12.2.4.8 Tag open state</a><li><a href=#end-tag-open-state>12.2.4.9 End tag open state</a><li><a href=#tag-name-state>12.2.4.10 Tag name state</a><li><a href=#rcdata-less-than-sign-state>12.2.4.11 RCDATA less-than sign state</a><li><a href=#rcdata-end-tag-open-state>12.2.4.12 RCDATA end tag open state</a><li><a href=#rcdata-end-tag-name-state>12.2.4.13 RCDATA end tag name state</a><li><a href=#rawtext-less-than-sign-state>12.2.4.14 RAWTEXT less-than sign state</a><li><a href=#rawtext-end-tag-open-state>12.2.4.15 RAWTEXT end tag open state</a><li><a href=#rawtext-end-tag-name-state>12.2.4.16 RAWTEXT end tag name state</a><li><a href=#script-dat
a-less-than-sign-state>12.2.4.17 Script data less-than sign state</a><li><a href=#script-data-end-tag-open-state>12.2.4.18 Script data end tag open state</a><li><a href=#script-data-end-tag-name-state>12.2.4.19 Script data end tag name state</a><li><a href=#script-data-escape-start-state>12.2.4.20 Script data escape start state</a><li><a href=#script-data-escape-start-dash-state>12.2.4.21 Script data escape start dash state</a><li><a href=#script-data-escaped-state>12.2.4.22 Script data escaped state</a><li><a href=#script-data-escaped-dash-state>12.2.4.23 Script data escaped dash state</a><li><a href=#script-data-escaped-dash-dash-state>12.2.4.24 Script data escaped dash dash state</a><li><a href=#script-data-escaped-less-than-sign-state>12.2.4.25 Script data escaped less-than sign state</a><li><a href=#script-data-escaped-end-tag-open-state>12.2.4.26 Script data escaped end tag open state</a><li><a href=#script-data-escaped-end-tag-name-state>12.2.4.27 Script data escaped
end tag name state</a><li><a href=#script-data-double-escape-start-state>12.2.4.28 Script data double escape start state</a><li><a href=#script-data-double-escaped-state>12.2.4.29 Script data double escaped state</a><li><a href=#script-data-double-escaped-dash-state>12.2.4.30 Script data double escaped dash state</a><li><a href=#script-data-double-escaped-dash-dash-state>12.2.4.31 Script data double escaped dash dash state</a><li><a href=#script-data-double-escaped-less-than-sign-state>12.2.4.32 Script data double escaped less-than sign state</a><li><a href=#script-data-double-escape-end-state>12.2.4.33 Script data double escape end state</a><li><a href=#before-attribute-name-state>12.2.4.34 Before attribute name state</a><li><a href=#attribute-name-state>12.2.4.35 Attribute name state</a><li><a href=#after-attribute-name-state>12.2.4.36 After attribute name state</a><li><a href=#before-attribute-value-state>12.2.4.37 Before attribute value state</a><li><a href=#attribute-va
lue-(double-quoted)-state>12.2.4.38 Attribute value (double-quoted) state</a><li><a href=#attribute-value-(single-quoted)-state>12.2.4.39 Attribute value (single-quoted) state</a><li><a href=#attribute-value-(unquoted)-state>12.2.4.40 Attribute value (unquoted) state</a><li><a href=#character-reference-in-attribute-value-state>12.2.4.41 Character reference in attribute value state</a><li><a href=#after-attribute-value-(quoted)-state>12.2.4.42 After attribute value (quoted) state</a><li><a href=#self-closing-start-tag-state>12.2.4.43 Self-closing start tag state</a><li><a href=#bogus-comment-state>12.2.4.44 Bogus comment state</a><li><a href=#markup-declaration-open-state>12.2.4.45 Markup declaration open state</a><li><a href=#comment-start-state>12.2.4.46 Comment start state</a><li><a href=#comment-start-dash-state>12.2.4.47 Comment start dash state</a><li><a href=#comment-state>12.2.4.48 Comment state</a><li><a href=#comment-end-dash-state>12.2.4.49 Comment end dash state</
a><li><a href=#comment-end-state>12.2.4.50 Comment end state</a><li><a href=#comment-end-bang-state>12.2.4.51 Comment end bang state</a><li><a href=#doctype-state>12.2.4.52 DOCTYPE state</a><li><a href=#before-doctype-name-state>12.2.4.53 Before DOCTYPE name state</a><li><a href=#doctype-name-state>12.2.4.54 DOCTYPE name state</a><li><a href=#after-doctype-name-state>12.2.4.55 After DOCTYPE name state</a><li><a href=#after-doctype-public-keyword-state>12.2.4.56 After DOCTYPE public keyword state</a><li><a href=#before-doctype-public-identifier-state>12.2.4.57 Before DOCTYPE public identifier state</a><li><a href=#doctype-public-identifier-(double-quoted)-state>12.2.4.58 DOCTYPE public identifier (double-quoted) state</a><li><a href=#doctype-public-identifier-(single-quoted)-state>12.2.4.59 DOCTYPE public identifier (single-quoted) state</a><li><a href=#after-doctype-public-identifier-state>12.2.4.60 After DOCTYPE public identifier state</a><li><a href=#between-doctype-public
-and-system-identifiers-state>12.2.4.61 Between DOCTYPE public and system identifiers state</a><li><a href=#after-doctype-system-keyword-state>12.2.4.62 After DOCTYPE system keyword state</a><li><a href=#before-doctype-system-identifier-state>12.2.4.63 Before DOCTYPE system identifier state</a><li><a href=#doctype-system-identifier-(double-quoted)-state>12.2.4.64 DOCTYPE system identifier (double-quoted) state</a><li><a href=#doctype-system-identifier-(single-quoted)-state>12.2.4.65 DOCTYPE system identifier (single-quoted) state</a><li><a href=#after-doctype-system-identifier-state>12.2.4.66 After DOCTYPE system identifier state</a><li><a href=#bogus-doctype-state>12.2.4.67 Bogus DOCTYPE state</a><li><a href=#cdata-section-state>12.2.4.68 CDATA section state</a><li><a href=#tokenizing-character-references>12.2.4.69 Tokenizing character references</a></ol><li><a href=#tree-construction>12.2.5 Tree construction</a><ol><li><a href=#creating-and-inserting-nodes>12.2.5.1 Creatin
g and inserting nodes</a><li><a href=#parsing-elements-that-contain-only-text>12.2.5.2 Parsing elements that contain only text</a><li><a href=#closing-elements-that-have-implied-end-tags>12.2.5.3 Closing elements that have implied end tags</a><li><a href=#parsing-main-inhtml>12.2.5.4 The rules for parsing tokens in HTML content</a><ol><li><a href=#the-initial-insertion-mode>12.2.5.4.1 The "initial" insertion mode</a><li><a href=#the-before-html-insertion-mode>12.2.5.4.2 The "before html" insertion mode</a><li><a href=#the-before-head-insertion-mode>12.2.5.4.3 The "before head" insertion mode</a><li><a href=#parsing-main-inhead>12.2.5.4.4 The "in head" insertion mode</a><li><a href=#parsing-main-inheadnoscript>12.2.5.4.5 The "in head noscript" insertion mode</a><li><a href=#the-after-head-insertion-mode>12.2.5.4.6 The "after head" insertion mode</a><li><a href=#parsing-main-inbody>12.2.5.4.7 The "in body" insertion mode</a><li><a href=#parsing-main-incdata>12.2.5.4.8 The "tex
t" insertion mode</a><li><a href=#parsing-main-intable>12.2.5.4.9 The "in table" insertion mode</a><li><a href=#parsing-main-intabletext>12.2.5.4.10 The "in table text" insertion mode</a><li><a href=#parsing-main-incaption>12.2.5.4.11 The "in caption" insertion mode</a><li><a href=#parsing-main-incolgroup>12.2.5.4.12 The "in column group" insertion mode</a><li><a href=#parsing-main-intbody>12.2.5.4.13 The "in table body" insertion mode</a><li><a href=#parsing-main-intr>12.2.5.4.14 The "in row" insertion mode</a><li><a href=#parsing-main-intd>12.2.5.4.15 The "in cell" insertion mode</a><li><a href=#parsing-main-inselect>12.2.5.4.16 The "in select" insertion mode</a><li><a href=#parsing-main-inselectintable>12.2.5.4.17 The "in select in table" insertion mode</a><li><a href=#parsing-main-intemplate>12.2.5.4.18 The "in template" insertion mode</a><li><a href=#parsing-main-afterbody>12.2.5.4.19 The "after body" insertion mode</a><li><a href=#parsing-main-inframeset>12.2.5.4.20 Th
e "in frameset" insertion mode</a><li><a href=#parsing-main-afterframeset>12.2.5.4.21 The "after frameset" insertion mode</a><li><a href=#the-after-after-body-insertion-mode>12.2.5.4.22 The "after after body" insertion mode</a><li><a href=#the-after-after-frameset-insertion-mode>12.2.5.4.23 The "after after frameset" insertion mode</a></ol><li><a href=#parsing-main-inforeign>12.2.5.5 The rules for parsing tokens in foreign content</a></ol><li><a href=#the-end>12.2.6 The end</a><li><a href=#coercing-an-html-dom-into-an-infoset>12.2.7 Coercing an HTML DOM into an infoset</a><li><a href=#an-introduction-to-error-handling-and-strange-cases-in-the-parser>12.2.8 An introduction to error handling and strange cases in the parser</a><ol><li><a href=#misnested-tags:-b-i-/b-/i>12.2.8.1 Misnested tags: <b><i></b></i></a><li><a href=#misnested-tags:-b-p-/b-/p>12.2.8.2 Misnested tags: <b><p></b></p></a><li><a href=#unexpected-markup-in-tables>12.2.8.3 Unexpected ma
rkup in tables</a><li><a href=#scripts-that-modify-the-page-as-it-is-being-parsed>12.2.8.4 Scripts that modify the page as it is being parsed</a><li><a href=#the-execution-of-scripts-that-are-moving-across-multiple-documents>12.2.8.5 The execution of scripts that are moving across multiple documents</a><li><a href=#unclosed-formatting-elements>12.2.8.6 Unclosed formatting elements</a></ol></ol><li><a href=#serialising-html-fragments>12.3 Serialising HTML fragments</a><li><a href=#parsing-html-fragments>12.4 Parsing HTML fragments</a><li><a href=#named-character-references>12.5 Named character references</a></ol><li id=toc-the-xhtml-syntax><a href=#the-xhtml-syntax>13 The XHTML syntax</a><ol><li><a href=#writing-xhtml-documents>13.1 Writing XHTML documents</a><li><a href=#parsing-xhtml-documents>13.2 Parsing XHTML documents</a><li><a href=#serialising-xhtml-fragments>13.3 Serialising XHTML fragments</a><li><a href=#parsing-xhtml-fragments>13.4 Parsing XHTML fragments</a></ol>
<li id=toc-rendering><a href=#rendering>14 Rendering</a><ol><li><a href=#introduction-17>14.1 Introduction</a><li><a href=#the-css-user-agent-style-sheet-and-presentational-hints>14.2 The CSS user agent style sheet and presentational hints</a><li><a href=#non-replaced-elements>14.3 Non-replaced elements</a><ol><li><a href=#hidden-elements>14.3.1 Hidden elements</a><li><a href=#the-page>14.3.2 The page</a><li><a href=#flow-content-3>14.3.3 Flow content</a><li><a href=#phrasing-content-3>14.3.4 Phrasing content</a><li><a href=#bidi-rendering>14.3.5 Bidirectional text</a><li><a href=#quotes>14.3.6 Quotes</a><li><a href=#sections-and-headings>14.3.7 Sections and headings</a><li><a href=#lists>14.3.8 Lists</a><li><a href=#tables-2>14.3.9 Tables</a><li><a href=#margin-collapsing-quirks>14.3.10 Margin collapsing quirks</a><li><a href=#form-controls>14.3.11 Form controls</a><li><a href=#the-hr-element-2>14.3.12 The <code>hr</code> element</a><li><a href=#the-fieldset-and-legend-elem
ents>14.3.13 The <code>fieldset</code> and <code>legend</code> elements</a></ol><li><a href=#replaced-elements>14.4 Replaced elements</a><ol><li><a href=#embedded-content-rendering-rules>14.4.1 Embedded content</a><li><a href=#images-2>14.4.2 Images</a><li><a href=#attributes-for-embedded-content-and-images>14.4.3 Attributes for embedded content and images</a><li><a href=#image-maps-2>14.4.4 Image maps</a></ol><li><a href=#bindings>14.5 Bindings</a><ol><li><a href=#introduction-18>14.5.1 Introduction</a><li><a href=#the-button-element-2>14.5.2 The <code>button</code> element</a><li><a href=#the-details-element-2>14.5.3 The <code>details</code> element</a><li><a href=#the-input-element-as-a-text-entry-widget>14.5.4 The <code>input</code> element as a text entry widget</a><li><a href=#the-input-element-as-domain-specific-widgets>14.5.5 The <code>input</code> element as domain-specific widgets</a><li><a href=#the-input-element-as-a-range-control>14.5.6 The <code>input</code> el
ement as a range control</a><li><a href=#the-input-element-as-a-colour-well>14.5.7 The <code>input</code> element as a colour well</a><li><a href=#the-input-element-as-a-checkbox-and-radio-button-widgets>14.5.8 The <code>input</code> element as a checkbox and radio button widgets</a><li><a href=#the-input-element-as-a-file-upload-control>14.5.9 The <code>input</code> element as a file upload control</a><li><a href=#the-input-element-as-a-button>14.5.10 The <code>input</code> element as a button</a><li><a href=#the-marquee-element>14.5.11 The <code>marquee</code> element</a><li><a href=#the-meter-element-2>14.5.12 The <code>meter</code> element</a><li><a href=#the-progress-element-2>14.5.13 The <code>progress</code> element</a><li><a href=#the-select-element-2>14.5.14 The <code>select</code> element</a><li><a href=#the-textarea-element-2>14.5.15 The <code>textarea</code> element</a><li><a href=#the-keygen-element-2>14.5.16 The <code>keygen</code> element</a></ol><li><a href=#
frames-and-framesets>14.6 Frames and framesets</a><li><a href=#interactive-media>14.7 Interactive media</a><ol><li><a href=#links,-forms,-and-navigation>14.7.1 Links, forms, and navigation</a><li><a href=#the-title-attribute-2>14.7.2 The <code>title</code> attribute</a><li><a href=#editing-hosts>14.7.3 Editing hosts</a><li><a href=#text-rendered-in-native-user-interfaces>14.7.4 Text rendered in native user interfaces</a></ol><li><a href=#print-media>14.8 Print media</a><li><a href=#unstyled-xml-documents>14.9 Unstyled XML documents</a></ol><li id=toc-obsolete><a href=#obsolete>15 Obsolete features</a><ol><li><a href=#obsolete-but-conforming-features>15.1 Obsolete but conforming features</a><ol><li><a href=#warnings-for-obsolete-but-conforming-features>15.1.1 Warnings for obsolete but conforming features</a></ol><li><a href=#non-conforming-features>15.2 Non-conforming features</a><li><a href=#requirements-for-implementations>15.3 Requirements for implementations</a><ol><li><a
href=#the-applet-element>15.3.1 The <code>applet</code> element</a><li><a href=#the-marquee-element-2>15.3.2 The <code>marquee</code> element</a><li><a href=#frames>15.3.3 Frames</a><li><a href=#other-elements,-attributes-and-apis>15.3.4 Other elements, attributes and APIs</a></ol></ol><li id=toc-iana><a href=#iana>16 IANA considerations</a><ol><li><a href=#text/html>16.1 <code>text/html</code></a><li><a href=#multipart/x-mixed-replace>16.2 <code>multipart/x-mixed-replace</code></a><li><a href=#application/xhtml+xml>16.3 <code>application/xhtml+xml</code></a><li><a href=#application/x-www-form-urlencoded>16.4 <code>application/x-www-form-urlencoded</code></a><li><a href=#text/cache-manifest>16.5 <code>text/cache-manifest</code></a><li><a href=#text/ping>16.6 <code>text/ping</code></a><li><a href=#application/microdata+json>16.7 <code>application/microdata+json</code></a><li><a href=#ping-from>16.8 <code>Ping-From</code></a><li><a href=#ping-to>16.9 <code>Ping-To</code></a><
li><a href=#web+-scheme-prefix>16.10 <code>web+</code> scheme prefix</a></ol><li id=toc-index><a href=#index>Index</a><ol><li><a href=#elements-3>Elements</a><li><a href=#element-content-categories>Element content categories</a><li><a href=#attributes-3>Attributes</a><li><a href=#element-interfaces>Element Interfaces</a><li><a href=#all-interfaces>All Interfaces</a><li><a href=#events-2>Events</a><li><a href=#mime-types-2>MIME Types</a></ol><li id=toc-references><a href=#references>References</a><li id=toc-acknowledgments><a href=#acknowledgments>Acknowledgements</a></ol>
+ content that doesn't have a DOM</a><li><a href=#scroll-to-fragid>7.6.9 Navigating to a fragment identifier</a><li><a href=#history-traversal>7.6.10 History traversal</a><ol><li><a href=#the-popstateevent-interface>7.6.10.1 The <code>PopStateEvent</code> interface</a><li><a href=#the-hashchangeevent-interface>7.6.10.2 The <code>HashChangeEvent</code> interface</a><li><a href=#the-pagetransitionevent-interface>7.6.10.3 The <code>PageTransitionEvent</code> interface</a></ol><li><a href=#unloading-documents>7.6.11 Unloading documents</a><ol><li><a href=#the-beforeunloadevent-interface>7.6.11.1 The <code>BeforeUnloadEvent</code> interface</a></ol><li><a href=#aborting-a-document-load>7.6.12 Aborting a document load</a></ol><li><a href=#offline>7.7 Offline Web applications</a><ol><li><a href=#introduction-11>7.7.1 Introduction</a><ol><li><a href=#supporting-offline-caching-for-legacy-applications>7.7.1.1 Supporting offline caching for legacy applications</a><li><a href=#appcache
events>7.7.1.2 Event summary</a></ol><li><a href=#appcache>7.7.2 Application caches</a><li><a href=#manifests>7.7.3 The cache manifest syntax</a><ol><li><a href=#some-sample-manifests>7.7.3.1 Some sample manifests</a><li><a href=#writing-cache-manifests>7.7.3.2 Writing cache manifests</a><li><a href=#parsing-cache-manifests>7.7.3.3 Parsing cache manifests</a></ol><li><a href=#downloading-or-updating-an-application-cache>7.7.4 Downloading or updating an application cache</a><li><a href=#the-application-cache-selection-algorithm>7.7.5 The application cache selection algorithm</a><li><a href=#changesToNetworkingModel>7.7.6 Changes to the networking model</a><li><a href=#expiring-application-caches>7.7.7 Expiring application caches</a><li><a href=#disk-space>7.7.8 Disk space</a><li><a href=#security-concerns-with-offline-applications-caches>7.7.9 Security concerns with offline applications caches</a><li><a href=#application-cache-api>7.7.10 Application cache API</a><li><a href=#
navigator.online>7.7.11 Browser state</a></ol></ol><li id=toc-webappapis><a href=#webappapis>8 Web application APIs</a><ol><li><a href=#scripting>8.1 Scripting</a><ol><li><a href=#introduction-12>8.1.1 Introduction</a><li><a href=#enabling-and-disabling-scripting>8.1.2 Enabling and disabling scripting</a><li><a href=#processing-model-8>8.1.3 Processing model</a><ol><li><a href=#definitions-2>8.1.3.1 Definitions</a><li><a href=#script-settings-for-browsing-contexts>8.1.3.2 Script settings for browsing contexts</a><li><a href=#calling-scripts>8.1.3.3 Calling scripts</a><li><a href=#creating-scripts>8.1.3.4 Creating scripts</a><li><a href=#killing-scripts>8.1.3.5 Killing scripts</a><li><a href=#runtime-script-errors>8.1.3.6 Runtime script errors</a><ol><li><a href=#runtime-script-errors-in-documents>8.1.3.6.1 Runtime script errors in documents</a><li><a href=#the-errorevent-interface>8.1.3.6.2 The <code>ErrorEvent</code> interface</a></ol></ol><li><a href=#event-loops>8.1.4 Eve
nt loops</a><ol><li><a href=#definitions-3>8.1.4.1 Definitions</a><li><a href=#processing-model-9>8.1.4.2 Processing model</a><li><a href=#generic-task-sources>8.1.4.3 Generic task sources</a></ol><li><a href=#events>8.1.5 Events</a><ol><li><a href=#event-handler-attributes>8.1.5.1 Event handlers</a><li><a href=#event-handlers-on-elements,-document-objects,-and-window-objects>8.1.5.2 Event handlers on elements, <code>Document</code> objects, and <code>Window</code> objects</a><ol><li><a href=#idl-definitions>8.1.5.2.1 IDL definitions</a></ol><li><a href=#event-firing>8.1.5.3 Event firing</a><li><a href=#events-and-the-window-object>8.1.5.4 Events and the <code>Window</code> object</a></ol></ol><li><a href=#atob>8.2 Base64 utility methods</a><li><a href=#dynamic-markup-insertion>8.3 Dynamic markup insertion</a><ol><li><a href=#opening-the-input-stream>8.3.1 Opening the input stream</a><li><a href=#closing-the-input-stream>8.3.2 Closing the input stream</a><li><a href=#documen
t.write()>8.3.3 <code>document.write()</code></a><li><a href=#document.writeln()>8.3.4 <code>document.writeln()</code></a></ol><li><a href=#timers>8.4 Timers</a><li><a href=#user-prompts>8.5 User prompts</a><ol><li><a href=#simple-dialogs>8.5.1 Simple dialogs</a><li><a href=#printing>8.5.2 Printing</a><li><a href=#dialogs-implemented-using-separate-documents>8.5.3 Dialogs implemented using separate documents with <code>showModalDialog()</code></a></ol><li><a href=#system-state-and-capabilities>8.6 System state and capabilities</a><ol><li><a href=#the-navigator-object>8.6.1 The <code>Navigator</code> object</a><ol><li><a href=#client-identification>8.6.1.1 Client identification</a><li><a href=#language-preferences>8.6.1.2 Language preferences</a><li><a href=#custom-handlers>8.6.1.3 Custom scheme and content handlers: the <code>registerProtocolHandler()</code> and <code>registerContentHandler()</code> methods</a><ol><li><a href=#security-and-privacy>8.6.1.3.1 Security and priv
acy</a><li><a href=#sample-handler-impl>8.6.1.3.2 Sample user interface</a></ol><li><a href=#manually-releasing-the-storage-mutex>8.6.1.4 Manually releasing the storage mutex</a><li><a href=#plugins-2>8.6.1.5 Plugins</a></ol><li><a href=#the-external-interface>8.6.2 The <code>External</code> interface</a></ol><li><a href=#images>8.7 Images</a><li><a href=#animation-frames>8.8 Animation Frames</a></ol><li id=toc-comms><a href=#comms>9 Communication</a><ol><li><a href=#the-messageevent-interfaces>9.1 The <code>MessageEvent</code> interfaces</a><li><a href=#server-sent-events>9.2 Server-sent events</a><ol><li><a href=#server-sent-events-intro>9.2.1 Introduction</a><li><a href=#the-eventsource-interface>9.2.2 The <code>EventSource</code> interface</a><li><a href=#processing-model-10>9.2.3 Processing model</a><li><a href=#parsing-an-event-stream>9.2.4 Parsing an event stream</a><li><a href=#event-stream-interpretation>9.2.5 Interpreting an event stream</a><li><a href=#authoring-n
otes>9.2.6 Authoring notes</a><li><a href=#eventsource-push>9.2.7 Connectionless push and other features</a><li><a href=#garbage-collection-2>9.2.8 Garbage collection</a><li><a href=#implementation-advice>9.2.9 Implementation advice</a><li><a href=#iana-considerations>9.2.10 IANA considerations</a><ol><li><a href=#text/event-stream>9.2.10.1 <code>text/event-stream</code></a><li><a href=#last-event-id>9.2.10.2 <code>Last-Event-ID</code></a></ol></ol><li><a href=#network>9.3 Web sockets</a><ol><li><a href=#network-intro>9.3.1 Introduction</a><li><a href=#the-websocket-interface>9.3.2 The <code>WebSocket</code> interface</a><li><a href=#feedback-from-the-protocol>9.3.3 Feedback from the protocol</a><li><a href=#ping-and-pong-frames>9.3.4 Ping and Pong frames</a><li><a href=#parsing-websocket-urls>9.3.5 Parsing WebSocket URLs</a><li><a href=#the-closeevent-interfaces>9.3.6 The <code>CloseEvent</code> interfaces</a><li><a href=#garbage-collection-3>9.3.7 Garbage collection</a></o
l><li><a href=#web-messaging>9.4 Cross-document messaging</a><ol><li><a href=#introduction-13>9.4.1 Introduction</a><li><a href=#security-postmsg>9.4.2 Security</a><ol><li><a href=#authors>9.4.2.1 Authors</a><li><a href=#user-agents>9.4.2.2 User agents</a></ol><li><a href=#posting-messages>9.4.3 Posting messages</a></ol><li><a href=#channel-messaging>9.5 Channel messaging</a><ol><li><a href=#introduction-14>9.5.1 Introduction</a><ol><li><a href=#examples-5>9.5.1.1 Examples</a><li><a href=#ports-as-the-basis-of-an-object-capability-model-on-the-web>9.5.1.2 Ports as the basis of an object-capability model on the Web</a><li><a href=#ports-as-the-basis-of-abstracting-out-service-implementations>9.5.1.3 Ports as the basis of abstracting out service implementations</a></ol><li><a href=#message-channels>9.5.2 Message channels</a><li><a href=#message-ports>9.5.3 Message ports</a><li><a href=#broadcasting-to-many-ports>9.5.4 Broadcasting to many ports</a><li><a href=#ports-and-garbag
e-collection>9.5.5 Ports and garbage collection</a></ol><li><a href=#broadcasting-to-other-browsing-contexts>9.6 Broadcasting to other browsing contexts</a></ol><li id=toc-workers><a href=#workers>10 Web workers</a><ol><li><a href=#introduction-15>10.1 Introduction</a><ol><li><a href=#scope-2>10.1.1 Scope</a><li><a href=#examples-6>10.1.2 Examples</a><ol><li><a href=#a-background-number-crunching-worker>10.1.2.1 A background number-crunching worker</a><li><a href=#worker-used-for-background-i/o>10.1.2.2 Worker used for background I/O</a><li><a href=#shared-workers-introduction>10.1.2.3 Shared workers introduction</a><li><a href=#shared-state-using-a-shared-worker>10.1.2.4 Shared state using a shared worker</a><li><a href=#delegation>10.1.2.5 Delegation</a></ol><li><a href=#tutorials>10.1.3 Tutorials</a><ol><li><a href=#creating-a-dedicated-worker>10.1.3.1 Creating a dedicated worker</a><li><a href=#communicating-with-a-dedicated-worker>10.1.3.2 Communicating with a dedicated
worker</a><li><a href=#shared-workers>10.1.3.3 Shared workers</a></ol></ol><li><a href=#infrastructure-2>10.2 Infrastructure</a><ol><li><a href=#the-global-scope>10.2.1 The global scope</a><ol><li><a href=#the-workerglobalscope-common-interface>10.2.1.1 The <code>WorkerGlobalScope</code> common interface</a><li><a href=#dedicated-workers-and-the-dedicatedworkerglobalscope-interface>10.2.1.2 Dedicated workers and the <code>DedicatedWorkerGlobalScope</code> interface</a><li><a href=#shared-workers-and-the-sharedworkerglobalscope-interface>10.2.1.3 Shared workers and the <code>SharedWorkerGlobalScope</code> interface</a></ol><li><a href=#worker-event-loop>10.2.2 The event loop</a><li><a href="#the-worker's-lifetime">10.2.3 The worker's lifetime</a><li><a href=#processing-model-11>10.2.4 Processing model</a><li><a href=#runtime-script-errors-2>10.2.5 Runtime script errors</a><li><a href=#creating-workers>10.2.6 Creating workers</a><ol><li><a href=#the-abstractworker-abstract-in
terface>10.2.6.1 The <code>AbstractWorker</code> abstract interface</a><li><a href=#script-settings-for-workers>10.2.6.2 Script settings for workers</a><li><a href=#dedicated-workers-and-the-worker-interface>10.2.6.3 Dedicated workers and the <code>Worker</code> interface</a><li><a href=#shared-workers-and-the-sharedworker-interface>10.2.6.4 Shared workers and the <code>SharedWorker</code> interface</a></ol></ol><li><a href=#apis-available-to-workers>10.3 APIs available to workers</a><ol><li><a href=#importing-scripts-and-libraries>10.3.1 Importing scripts and libraries</a><li><a href=#the-workernavigator-object>10.3.2 The <code>WorkerNavigator</code> object</a><li><a href=#worker-locations>10.3.3 Worker locations</a></ol></ol><li id=toc-webstorage><a href=#webstorage>11 Web storage</a><ol><li><a href=#introduction-16>11.1 Introduction</a><li><a href=#storage>11.2 The API</a><ol><li><a href=#the-storage-interface>11.2.1 The <code>Storage</code> interface</a><li><a href=#the-
sessionstorage-attribute>11.2.2 The <code>sessionStorage</code> attribute</a><li><a href=#the-localstorage-attribute>11.2.3 The <code>localStorage</code> attribute</a><li><a href=#the-storage-event>11.2.4 The <code>storage</code> event</a><ol><li><a href=#the-storageevent-interface>11.2.4.1 The <code>StorageEvent</code> interface</a></ol><li><a href=#threads>11.2.5 Threads</a></ol><li><a href=#disk-space-2>11.3 Disk space</a><li><a href=#privacy>11.4 Privacy</a><ol><li><a href=#user-tracking>11.4.1 User tracking</a><li><a href=#sensitivity-of-data>11.4.2 Sensitivity of data</a></ol><li><a href=#security-storage>11.5 Security</a><ol><li><a href=#dns-spoofing-attacks>11.5.1 DNS spoofing attacks</a><li><a href=#cross-directory-attacks>11.5.2 Cross-directory attacks</a><li><a href=#implementation-risks>11.5.3 Implementation risks</a></ol></ol><li id=toc-syntax><a href=#syntax>12 The HTML syntax</a><ol><li><a href=#writing>12.1 Writing HTML documents</a><ol><li><a href=#the-docty
pe>12.1.1 The DOCTYPE</a><li><a href=#elements-2>12.1.2 Elements</a><ol><li><a href=#start-tags>12.1.2.1 Start tags</a><li><a href=#end-tags>12.1.2.2 End tags</a><li><a href=#attributes-2>12.1.2.3 Attributes</a><li><a href=#optional-tags>12.1.2.4 Optional tags</a><li><a href=#element-restrictions>12.1.2.5 Restrictions on content models</a><li><a href=#cdata-rcdata-restrictions>12.1.2.6 Restrictions on the contents of raw text and escapable raw text elements</a></ol><li><a href=#text-2>12.1.3 Text</a><ol><li><a href=#newlines>12.1.3.1 Newlines</a></ol><li><a href=#character-references>12.1.4 Character references</a><li><a href=#cdata-sections>12.1.5 CDATA sections</a><li><a href=#comments>12.1.6 Comments</a></ol><li><a href=#parsing>12.2 Parsing HTML documents</a><ol><li><a href=#overview-of-the-parsing-model>12.2.1 Overview of the parsing model</a><li><a href=#the-input-byte-stream>12.2.2 The input byte stream</a><ol><li><a href=#parsing-with-a-known-character-encoding>12.2.
2.1 Parsing with a known character encoding</a><li><a href=#determining-the-character-encoding>12.2.2.2 Determining the character encoding</a><li><a href=#character-encodings>12.2.2.3 Character encodings</a><li><a href=#changing-the-encoding-while-parsing>12.2.2.4 Changing the encoding while parsing</a><li><a href=#preprocessing-the-input-stream>12.2.2.5 Preprocessing the input stream</a></ol><li><a href=#parse-state>12.2.3 Parse state</a><ol><li><a href=#the-insertion-mode>12.2.3.1 The insertion mode</a><li><a href=#the-stack-of-open-elements>12.2.3.2 The stack of open elements</a><li><a href=#the-list-of-active-formatting-elements>12.2.3.3 The list of active formatting elements</a><li><a href=#the-element-pointers>12.2.3.4 The element pointers</a><li><a href=#other-parsing-state-flags>12.2.3.5 Other parsing state flags</a></ol><li><a href=#tokenization>12.2.4 Tokenization</a><ol><li><a href=#data-state>12.2.4.1 Data state</a><li><a href=#character-reference-in-data-state>1
2.2.4.2 Character reference in data state</a><li><a href=#rcdata-state>12.2.4.3 RCDATA state</a><li><a href=#character-reference-in-rcdata-state>12.2.4.4 Character reference in RCDATA state</a><li><a href=#rawtext-state>12.2.4.5 RAWTEXT state</a><li><a href=#script-data-state>12.2.4.6 Script data state</a><li><a href=#plaintext-state>12.2.4.7 PLAINTEXT state</a><li><a href=#tag-open-state>12.2.4.8 Tag open state</a><li><a href=#end-tag-open-state>12.2.4.9 End tag open state</a><li><a href=#tag-name-state>12.2.4.10 Tag name state</a><li><a href=#rcdata-less-than-sign-state>12.2.4.11 RCDATA less-than sign state</a><li><a href=#rcdata-end-tag-open-state>12.2.4.12 RCDATA end tag open state</a><li><a href=#rcdata-end-tag-name-state>12.2.4.13 RCDATA end tag name state</a><li><a href=#rawtext-less-than-sign-state>12.2.4.14 RAWTEXT less-than sign state</a><li><a href=#rawtext-end-tag-open-state>12.2.4.15 RAWTEXT end tag open state</a><li><a href=#rawtext-end-tag-name-state>12.2.4.16
RAWTEXT end tag name state</a><li><a href=#script-data-less-than-sign-state>12.2.4.17 Script data less-than sign state</a><li><a href=#script-data-end-tag-open-state>12.2.4.18 Script data end tag open state</a><li><a href=#script-data-end-tag-name-state>12.2.4.19 Script data end tag name state</a><li><a href=#script-data-escape-start-state>12.2.4.20 Script data escape start state</a><li><a href=#script-data-escape-start-dash-state>12.2.4.21 Script data escape start dash state</a><li><a href=#script-data-escaped-state>12.2.4.22 Script data escaped state</a><li><a href=#script-data-escaped-dash-state>12.2.4.23 Script data escaped dash state</a><li><a href=#script-data-escaped-dash-dash-state>12.2.4.24 Script data escaped dash dash state</a><li><a href=#script-data-escaped-less-than-sign-state>12.2.4.25 Script data escaped less-than sign state</a><li><a href=#script-data-escaped-end-tag-open-state>12.2.4.26 Script data escaped end tag open state</a><li><a href=#script-data-esc
aped-end-tag-name-state>12.2.4.27 Script data escaped end tag name state</a><li><a href=#script-data-double-escape-start-state>12.2.4.28 Script data double escape start state</a><li><a href=#script-data-double-escaped-state>12.2.4.29 Script data double escaped state</a><li><a href=#script-data-double-escaped-dash-state>12.2.4.30 Script data double escaped dash state</a><li><a href=#script-data-double-escaped-dash-dash-state>12.2.4.31 Script data double escaped dash dash state</a><li><a href=#script-data-double-escaped-less-than-sign-state>12.2.4.32 Script data double escaped less-than sign state</a><li><a href=#script-data-double-escape-end-state>12.2.4.33 Script data double escape end state</a><li><a href=#before-attribute-name-state>12.2.4.34 Before attribute name state</a><li><a href=#attribute-name-state>12.2.4.35 Attribute name state</a><li><a href=#after-attribute-name-state>12.2.4.36 After attribute name state</a><li><a href=#before-attribute-value-state>12.2.4.37 Bef
ore attribute value state</a><li><a href=#attribute-value-(double-quoted)-state>12.2.4.38 Attribute value (double-quoted) state</a><li><a href=#attribute-value-(single-quoted)-state>12.2.4.39 Attribute value (single-quoted) state</a><li><a href=#attribute-value-(unquoted)-state>12.2.4.40 Attribute value (unquoted) state</a><li><a href=#character-reference-in-attribute-value-state>12.2.4.41 Character reference in attribute value state</a><li><a href=#after-attribute-value-(quoted)-state>12.2.4.42 After attribute value (quoted) state</a><li><a href=#self-closing-start-tag-state>12.2.4.43 Self-closing start tag state</a><li><a href=#bogus-comment-state>12.2.4.44 Bogus comment state</a><li><a href=#markup-declaration-open-state>12.2.4.45 Markup declaration open state</a><li><a href=#comment-start-state>12.2.4.46 Comment start state</a><li><a href=#comment-start-dash-state>12.2.4.47 Comment start dash state</a><li><a href=#comment-state>12.2.4.48 Comment state</a><li><a href=#com
ment-end-dash-state>12.2.4.49 Comment end dash state</a><li><a href=#comment-end-state>12.2.4.50 Comment end state</a><li><a href=#comment-end-bang-state>12.2.4.51 Comment end bang state</a><li><a href=#doctype-state>12.2.4.52 DOCTYPE state</a><li><a href=#before-doctype-name-state>12.2.4.53 Before DOCTYPE name state</a><li><a href=#doctype-name-state>12.2.4.54 DOCTYPE name state</a><li><a href=#after-doctype-name-state>12.2.4.55 After DOCTYPE name state</a><li><a href=#after-doctype-public-keyword-state>12.2.4.56 After DOCTYPE public keyword state</a><li><a href=#before-doctype-public-identifier-state>12.2.4.57 Before DOCTYPE public identifier state</a><li><a href=#doctype-public-identifier-(double-quoted)-state>12.2.4.58 DOCTYPE public identifier (double-quoted) state</a><li><a href=#doctype-public-identifier-(single-quoted)-state>12.2.4.59 DOCTYPE public identifier (single-quoted) state</a><li><a href=#after-doctype-public-identifier-state>12.2.4.60 After DOCTYPE public i
dentifier state</a><li><a href=#between-doctype-public-and-system-identifiers-state>12.2.4.61 Between DOCTYPE public and system identifiers state</a><li><a href=#after-doctype-system-keyword-state>12.2.4.62 After DOCTYPE system keyword state</a><li><a href=#before-doctype-system-identifier-state>12.2.4.63 Before DOCTYPE system identifier state</a><li><a href=#doctype-system-identifier-(double-quoted)-state>12.2.4.64 DOCTYPE system identifier (double-quoted) state</a><li><a href=#doctype-system-identifier-(single-quoted)-state>12.2.4.65 DOCTYPE system identifier (single-quoted) state</a><li><a href=#after-doctype-system-identifier-state>12.2.4.66 After DOCTYPE system identifier state</a><li><a href=#bogus-doctype-state>12.2.4.67 Bogus DOCTYPE state</a><li><a href=#cdata-section-state>12.2.4.68 CDATA section state</a><li><a href=#tokenizing-character-references>12.2.4.69 Tokenizing character references</a></ol><li><a href=#tree-construction>12.2.5 Tree construction</a><ol><li>
<a href=#creating-and-inserting-nodes>12.2.5.1 Creating and inserting nodes</a><li><a href=#parsing-elements-that-contain-only-text>12.2.5.2 Parsing elements that contain only text</a><li><a href=#closing-elements-that-have-implied-end-tags>12.2.5.3 Closing elements that have implied end tags</a><li><a href=#parsing-main-inhtml>12.2.5.4 The rules for parsing tokens in HTML content</a><ol><li><a href=#the-initial-insertion-mode>12.2.5.4.1 The "initial" insertion mode</a><li><a href=#the-before-html-insertion-mode>12.2.5.4.2 The "before html" insertion mode</a><li><a href=#the-before-head-insertion-mode>12.2.5.4.3 The "before head" insertion mode</a><li><a href=#parsing-main-inhead>12.2.5.4.4 The "in head" insertion mode</a><li><a href=#parsing-main-inheadnoscript>12.2.5.4.5 The "in head noscript" insertion mode</a><li><a href=#the-after-head-insertion-mode>12.2.5.4.6 The "after head" insertion mode</a><li><a href=#parsing-main-inbody>12.2.5.4.7 The "in body" insertion mode</a
><li><a href=#parsing-main-incdata>12.2.5.4.8 The "text" insertion mode</a><li><a href=#parsing-main-intable>12.2.5.4.9 The "in table" insertion mode</a><li><a href=#parsing-main-intabletext>12.2.5.4.10 The "in table text" insertion mode</a><li><a href=#parsing-main-incaption>12.2.5.4.11 The "in caption" insertion mode</a><li><a href=#parsing-main-incolgroup>12.2.5.4.12 The "in column group" insertion mode</a><li><a href=#parsing-main-intbody>12.2.5.4.13 The "in table body" insertion mode</a><li><a href=#parsing-main-intr>12.2.5.4.14 The "in row" insertion mode</a><li><a href=#parsing-main-intd>12.2.5.4.15 The "in cell" insertion mode</a><li><a href=#parsing-main-inselect>12.2.5.4.16 The "in select" insertion mode</a><li><a href=#parsing-main-inselectintable>12.2.5.4.17 The "in select in table" insertion mode</a><li><a href=#parsing-main-intemplate>12.2.5.4.18 The "in template" insertion mode</a><li><a href=#parsing-main-afterbody>12.2.5.4.19 The "after body" insertion mode<
/a><li><a href=#parsing-main-inframeset>12.2.5.4.20 The "in frameset" insertion mode</a><li><a href=#parsing-main-afterframeset>12.2.5.4.21 The "after frameset" insertion mode</a><li><a href=#the-after-after-body-insertion-mode>12.2.5.4.22 The "after after body" insertion mode</a><li><a href=#the-after-after-frameset-insertion-mode>12.2.5.4.23 The "after after frameset" insertion mode</a></ol><li><a href=#parsing-main-inforeign>12.2.5.5 The rules for parsing tokens in foreign content</a></ol><li><a href=#the-end>12.2.6 The end</a><li><a href=#coercing-an-html-dom-into-an-infoset>12.2.7 Coercing an HTML DOM into an infoset</a><li><a href=#an-introduction-to-error-handling-and-strange-cases-in-the-parser>12.2.8 An introduction to error handling and strange cases in the parser</a><ol><li><a href=#misnested-tags:-b-i-/b-/i>12.2.8.1 Misnested tags: <b><i></b></i></a><li><a href=#misnested-tags:-b-p-/b-/p>12.2.8.2 Misnested tags: <b><p></b></p></a><li><a hr
ef=#unexpected-markup-in-tables>12.2.8.3 Unexpected markup in tables</a><li><a href=#scripts-that-modify-the-page-as-it-is-being-parsed>12.2.8.4 Scripts that modify the page as it is being parsed</a><li><a href=#the-execution-of-scripts-that-are-moving-across-multiple-documents>12.2.8.5 The execution of scripts that are moving across multiple documents</a><li><a href=#unclosed-formatting-elements>12.2.8.6 Unclosed formatting elements</a></ol></ol><li><a href=#serialising-html-fragments>12.3 Serialising HTML fragments</a><li><a href=#parsing-html-fragments>12.4 Parsing HTML fragments</a><li><a href=#named-character-references>12.5 Named character references</a></ol><li id=toc-the-xhtml-syntax><a href=#the-xhtml-syntax>13 The XHTML syntax</a><ol><li><a href=#writing-xhtml-documents>13.1 Writing XHTML documents</a><li><a href=#parsing-xhtml-documents>13.2 Parsing XHTML documents</a><li><a href=#serialising-xhtml-fragments>13.3 Serialising XHTML fragments</a><li><a href=#parsing
-xhtml-fragments>13.4 Parsing XHTML fragments</a></ol><li id=toc-rendering><a href=#rendering>14 Rendering</a><ol><li><a href=#introduction-17>14.1 Introduction</a><li><a href=#the-css-user-agent-style-sheet-and-presentational-hints>14.2 The CSS user agent style sheet and presentational hints</a><li><a href=#non-replaced-elements>14.3 Non-replaced elements</a><ol><li><a href=#hidden-elements>14.3.1 Hidden elements</a><li><a href=#the-page>14.3.2 The page</a><li><a href=#flow-content-3>14.3.3 Flow content</a><li><a href=#phrasing-content-3>14.3.4 Phrasing content</a><li><a href=#bidi-rendering>14.3.5 Bidirectional text</a><li><a href=#quotes>14.3.6 Quotes</a><li><a href=#sections-and-headings>14.3.7 Sections and headings</a><li><a href=#lists>14.3.8 Lists</a><li><a href=#tables-2>14.3.9 Tables</a><li><a href=#margin-collapsing-quirks>14.3.10 Margin collapsing quirks</a><li><a href=#form-controls>14.3.11 Form controls</a><li><a href=#the-hr-element-2>14.3.12 The <code>hr</code
> element</a><li><a href=#the-fieldset-and-legend-elements>14.3.13 The <code>fieldset</code> and <code>legend</code> elements</a></ol><li><a href=#replaced-elements>14.4 Replaced elements</a><ol><li><a href=#embedded-content-rendering-rules>14.4.1 Embedded content</a><li><a href=#images-2>14.4.2 Images</a><li><a href=#attributes-for-embedded-content-and-images>14.4.3 Attributes for embedded content and images</a><li><a href=#image-maps-2>14.4.4 Image maps</a></ol><li><a href=#bindings>14.5 Bindings</a><ol><li><a href=#introduction-18>14.5.1 Introduction</a><li><a href=#the-button-element-2>14.5.2 The <code>button</code> element</a><li><a href=#the-details-element-2>14.5.3 The <code>details</code> element</a><li><a href=#the-input-element-as-a-text-entry-widget>14.5.4 The <code>input</code> element as a text entry widget</a><li><a href=#the-input-element-as-domain-specific-widgets>14.5.5 The <code>input</code> element as domain-specific widgets</a><li><a href=#the-input-eleme
nt-as-a-range-control>14.5.6 The <code>input</code> element as a range control</a><li><a href=#the-input-element-as-a-colour-well>14.5.7 The <code>input</code> element as a colour well</a><li><a href=#the-input-element-as-a-checkbox-and-radio-button-widgets>14.5.8 The <code>input</code> element as a checkbox and radio button widgets</a><li><a href=#the-input-element-as-a-file-upload-control>14.5.9 The <code>input</code> element as a file upload control</a><li><a href=#the-input-element-as-a-button>14.5.10 The <code>input</code> element as a button</a><li><a href=#the-marquee-element>14.5.11 The <code>marquee</code> element</a><li><a href=#the-meter-element-2>14.5.12 The <code>meter</code> element</a><li><a href=#the-progress-element-2>14.5.13 The <code>progress</code> element</a><li><a href=#the-select-element-2>14.5.14 The <code>select</code> element</a><li><a href=#the-textarea-element-2>14.5.15 The <code>textarea</code> element</a><li><a href=#the-keygen-element-2>14.5.16
The <code>keygen</code> element</a></ol><li><a href=#frames-and-framesets>14.6 Frames and framesets</a><li><a href=#interactive-media>14.7 Interactive media</a><ol><li><a href=#links,-forms,-and-navigation>14.7.1 Links, forms, and navigation</a><li><a href=#the-title-attribute-2>14.7.2 The <code>title</code> attribute</a><li><a href=#editing-hosts>14.7.3 Editing hosts</a><li><a href=#text-rendered-in-native-user-interfaces>14.7.4 Text rendered in native user interfaces</a></ol><li><a href=#print-media>14.8 Print media</a><li><a href=#unstyled-xml-documents>14.9 Unstyled XML documents</a></ol><li id=toc-obsolete><a href=#obsolete>15 Obsolete features</a><ol><li><a href=#obsolete-but-conforming-features>15.1 Obsolete but conforming features</a><ol><li><a href=#warnings-for-obsolete-but-conforming-features>15.1.1 Warnings for obsolete but conforming features</a></ol><li><a href=#non-conforming-features>15.2 Non-conforming features</a><li><a href=#requirements-for-implementatio
ns>15.3 Requirements for implementations</a><ol><li><a href=#the-applet-element>15.3.1 The <code>applet</code> element</a><li><a href=#the-marquee-element-2>15.3.2 The <code>marquee</code> element</a><li><a href=#frames>15.3.3 Frames</a><li><a href=#other-elements,-attributes-and-apis>15.3.4 Other elements, attributes and APIs</a></ol></ol><li id=toc-iana><a href=#iana>16 IANA considerations</a><ol><li><a href=#text/html>16.1 <code>text/html</code></a><li><a href=#multipart/x-mixed-replace>16.2 <code>multipart/x-mixed-replace</code></a><li><a href=#application/xhtml+xml>16.3 <code>application/xhtml+xml</code></a><li><a href=#application/x-www-form-urlencoded>16.4 <code>application/x-www-form-urlencoded</code></a><li><a href=#text/cache-manifest>16.5 <code>text/cache-manifest</code></a><li><a href=#text/ping>16.6 <code>text/ping</code></a><li><a href=#application/microdata+json>16.7 <code>application/microdata+json</code></a><li><a href=#ping-from>16.8 <code>Ping-From</code><
/a><li><a href=#ping-to>16.9 <code>Ping-To</code></a><li><a href=#web+-scheme-prefix>16.10 <code>web+</code> scheme prefix</a></ol><li id=toc-index><a href=#index>Index</a><ol><li><a href=#elements-3>Elements</a><li><a href=#element-content-categories>Element content categories</a><li><a href=#attributes-3>Attributes</a><li><a href=#element-interfaces>Element Interfaces</a><li><a href=#all-interfaces>All Interfaces</a><li><a href=#events-2>Events</a><li><a href=#mime-types-2>MIME Types</a></ol><li id=toc-references><a href=#references>References</a><li id=toc-acknowledgments><a href=#acknowledgments>Acknowledgements</a></ol>
@@ -611,7 +611,7 @@
- <h4 id=compliance-with-other-specifications>1.7.2 Compliance with other specifications</h4>
+ <h4 id=compliance-with-other-specifications>1.7.2 Compliance with other specifications</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27367" title="Despite difficulties with multithreading there should be some function in scripting/search engine re [...]">27367</a></div>
<p><i>This section is non-normative.</i></p>
@@ -1130,7 +1130,7 @@
- <h4 id=common-pitfalls-to-avoid-when-using-the-scripting-apis>1.11.2 Common pitfalls to avoid when using the scripting APIs</h4>
+ <h4 id=common-pitfalls-to-avoid-when-using-the-scripting-apis>1.11.2 Common pitfalls to avoid when using the scripting APIs</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27316" title="This example is not clear enough to understand.">27316</a></div>
<p><i>This section is non-normative.</i></p>
@@ -2183,7 +2183,7 @@
- <h4 id=dependencies>2.2.2 Dependencies</h4>
+ <h4 id=dependencies>2.2.2 Dependencies</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27343" title="i dont know">27343</a></div>
<p>This specification relies on several other underlying specifications.</p>
@@ -2475,6 +2475,9 @@
<ul class=brief><li>The <dfn id=top-layer>top layer</dfn> concept<li><dfn id=dom-element-requestfullscreen><code>requestFullscreen()</code></dfn>
<li>The <dfn id=fullscreen-enabled-flag>fullscreen enabled flag</dfn><li>The <dfn id=fully-exit-fullscreen>fully exit fullscreen</dfn> algorithm</ul>
+ <p>The <cite>High Resolution Time</cite> specification provides the
+ <dfn id=performance><code>Performance</code></dfn> object's <dfn id=dom-performance-now><code>now()</code></dfn> method. <a href=#refsHRT>[HRT]</a></p>
+
<dt>File API<dd>
<p>This specification uses the following features defined in the File API specification: <a href=#refsFILEAPI>[FILEAPI]</a></p>
@@ -3008,7 +3011,7 @@
<p>When a user agent is to <dfn id=strip-leading-and-trailing-whitespace>strip leading and trailing whitespace</dfn> from a string, the
user agent must remove all <a href=#space-character id=common-parser-idioms:space-character-2>space characters</a> that are at the
- start or end of the string.</p>
+ start or end of the string.<div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27348" title="containers seem to be what's preventing the changes, srcdoc">27348</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27350" title="containers seem to be what's preventing the changes, srcdoc">27350</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27351" title="containers seem to be what's preventing the changes, srcdoc">27351</a></div>
<p>When a user agent is to <dfn id=strip-and-collapse-whitespace>strip and collapse whitespace</dfn> in a string, it must replace
any sequence of one or more consecutive <a href=#space-character id=common-parser-idioms:space-character-3>space characters</a> in
@@ -4369,7 +4372,7 @@
<h3 id=urls>2.5 URLs</h3>
- <h4 id=terminology-2>2.5.1 Terminology</h4>
+ <h4 id=terminology-2>2.5.1 Terminology</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27349" title="containers seem to be what's preventing the changes, srcdoc">27349</a></div>
<p>A <a href=#url id=terminology-2:url>URL</a> is a <dfn id=valid-url>valid URL</dfn> if it conforms to the authoring conformance
requirements in the WHATWG URL standard. <a href=#refsURL>[URL]</a></p>
@@ -8840,7 +8843,7 @@
<h3 id=the-root-element>4.1 The root element</h3>
- <h4 id=the-html-element>4.1.1 The <dfn><code>html</code></dfn> element</h4>
+ <h4 id=the-html-element>4.1.1 The <dfn><code>html</code></dfn> element</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27319" title="neither Validator nor any browser got a problem with immediately followed comments when not defining start-/ and end-tags">27319</a></div>
<dl class=element><dt><a href=#concept-element-categories id=the-html-element:concept-element-categories>Categories</a>:<dd>None.<dt><a href=#concept-element-contexts id=the-html-element:concept-element-contexts>Contexts in which this element can be used</a>:<dd>As the root element of a document.<dd>Wherever a subdocument fragment is allowed in a compound document.<dt><a href=#concept-element-content-model id=the-html-element:concept-element-content-model>Content model</a>:<dd>A <code id=the-html-element:the-head-element><a href=#the-head-element>head</a></code> element followed by a <code id=the-html-element:the-body-element><a href=#the-body-element>body</a></code> element.<dt><a href=#concept-element-tag-omission id=the-html-element:concept-element-tag-omission>Tag omission in text/html</a>:<dd>An <code id=the-html-element:the-html-element><a href=#the-html-element>html</a></code> element's <a href=#syntax-start-tag id=the-html-element:syntax-start-tag>start tag</a> can
be omitted
if the first thing inside the <code id=the-html-element:the-html-element-2><a href=#the-html-element>html</a></code> element is not a <a href=#syntax-comments id=the-html-element:syntax-comments>comment</a>.<dd>An <code id=the-html-element:the-html-element-3><a href=#the-html-element>html</a></code> element's <a href=#syntax-end-tag id=the-html-element:syntax-end-tag>end tag</a> can be omitted if
@@ -33734,7 +33737,7 @@
</div>
- <h6 id="e-mail-state-(type=email)">4.10.5.1.5 <dfn>E-mail</dfn> state (<code>type=email</code>)</h6><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15489" title="forms: Add an attribute <input type=email idna> that allows IDNA e-mail addresses to be round-tripped">15489</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18162" title="IDN email addresses should be converted to Punycode before validating them">18162</a></div>
+ <h6 id="e-mail-state-(type=email)">4.10.5.1.5 <dfn>E-mail</dfn> state (<code>type=email</code>)</h6><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15489" title="forms: <input type=email> validation needs to be updated for EAI">15489</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18162" title="IDN email addresses should be converted to Punycode before validating them">18162</a></div>
@@ -35782,7 +35785,7 @@
- <h6 id="file-upload-state-(type=file)">4.10.5.1.18 <dfn>File Upload</dfn> state (<code>type=file</code>)</h6>
+ <h6 id="file-upload-state-(type=file)">4.10.5.1.18 <dfn>File Upload</dfn> state (<code>type=file</code>)</h6><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27333" title="Most user agents (Chrome, Firefox) seem to distinguish between space and enter. Enter submits the form, even for radio buttons, space selects the checkbox.">27333</a></div>
@@ -44824,7 +44827,7 @@
</div>
- <h4 id=the-script-element>4.12.1 The <dfn id=script><code>script</code></dfn> element</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23165" title="Implement JavaScript syntax checking in <script>">23165</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23156" title="Bug filing button of the nightly 5.1 spec gets hidden from user upon scroll">23156</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18298" title=""The script element gets inserted into a document." - is the order defined if multiple script elements are simultaneously inserted? What about the relative order of other things that happen on insertion and script elements?">18298</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=25943" title="Include execution graph by Peter">25943</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23157
" title="XHTML: validator doesn’t check that Raw Text elements (style/script) match the constraints">23157</a></div>
+ <h4 id=the-script-element>4.12.1 The <dfn id=script><code>script</code></dfn> element</h4><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23165" title="Implement JavaScript syntax checking in <script>">23165</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23156" title="Bug filing button of the nightly 5.1 spec gets hidden from user upon scroll">23156</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18298" title=""The script element gets inserted into a document." - is the order defined if multiple script elements are simultaneously inserted? What about the relative order of other things that happen on insertion and script elements?">18298</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=25943" title="Include execution graph by Peter">25943</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27332
" title="Contexts in which this element can be used: not where flow content is expected?">27332</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=23157" title="XHTML: validator doesn’t check that Raw Text elements (style/script) match the constraints">23157</a></div>
<dl class=element><dt><a href=#concept-element-categories id=the-script-element:concept-element-categories>Categories</a>:<dd><a href=#metadata-content-2 id=the-script-element:metadata-content-2>Metadata content</a>.<dd><a href=#flow-content-2 id=the-script-element:flow-content-2>Flow content</a>.<dd><a href=#phrasing-content-2 id=the-script-element:phrasing-content-2>Phrasing content</a>.<dd><a href=#script-supporting-elements-2 id=the-script-element:script-supporting-elements-2>Script-supporting element</a>.<dt><a href=#concept-element-contexts id=the-script-element:concept-element-contexts>Contexts in which this element can be used</a>:<dd>Where <a href=#metadata-content-2 id=the-script-element:metadata-content-2-2>metadata content</a> is expected.<dd>Where <a href=#phrasing-content-2 id=the-script-element:phrasing-content-2-2>phrasing content</a> is expected.<dd>Where <a href=#script-supporting-elements-2 id=the-script-element:script-supporting-elements-2-2>script-supp
orting elements</a> are expected.<dt><a href=#concept-element-content-model id=the-script-element:concept-element-content-model>Content model</a>:<dd>If there is no <code id=the-script-element:attr-script-src><a href=#attr-script-src>src</a></code>
attribute, depends on the value of the <code id=the-script-element:attr-script-type><a href=#attr-script-type>type</a></code> attribute, but must match
@@ -57783,6 +57786,9 @@
void <a href=#dom-print id=the-window-object:dom-print>print</a>();
any <a href=#dom-showmodaldialog id=the-window-object:dom-showmodaldialog>showModalDialog</a>(DOMString url, optional any argument); // deprecated
+ long <a href=#dom-window-requestanimationframe id=the-window-object:dom-window-requestanimationframe>requestAnimationFrame</a>(<span>FrameRequestCallback</span> callback);
+ void <a href=#dom-window-cancelanimationframe id=the-window-object:dom-window-cancelanimationframe>cancelAnimationFrame</a>(long handle);
+
void <a href=#dom-window-postmessage id=the-window-object:dom-window-postmessage>postMessage</a>(any message, DOMString targetOrigin, optional sequence<<a href=#transferable id=the-window-object:transferable>Transferable</a>> transfer);
// <a href="#Window-partial">also has obsolete members</a>
@@ -63000,12 +63006,15 @@
<h6 id=runtime-script-errors-in-documents>8.1.3.6.1 Runtime script errors in documents</h6>
- <p>Whenever an uncaught runtime script error occurs in one of the scripts associated with a
- <code id=runtime-script-errors-in-documents:document><a href=#document>Document</a></code>, the user agent must <a href=#report-the-error id=runtime-script-errors-in-documents:report-the-error>report the error</a> for the relevant <a href=#concept-script id=runtime-script-errors-in-documents:concept-script>script</a>, with the problematic position (line number and column
+ <p>When the user agent is to <dfn id=report-the-exception>report an exception</dfn>
+ <var>E</var>, the user agent must <a href=#report-the-error id=runtime-script-errors-in-documents:report-the-error>report the error</a> for the relevant <a href=#concept-script id=runtime-script-errors-in-documents:concept-script>script</a>, with the problematic position (line number and column
number) in the resource containing the script, using the <a href=#global-object id=runtime-script-errors-in-documents:global-object>global object</a> specified by
the script's <a href=#settings-object id=runtime-script-errors-in-documents:settings-object>settings object</a> as the target. If the error is still <i id=runtime-script-errors-in-documents:concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i> after this, then the error may be reported to
the user.</p>
+ <p>When an exception is thrown during the execution of one of the scripts associated with a
+ <code id=runtime-script-errors-in-documents:document><a href=#document>Document</a></code>, and the exception is not caught, the user agent must <a href=#report-the-exception id=runtime-script-errors-in-documents:report-the-exception>report the
+ exception</a>.</p>
<h6 id=the-errorevent-interface>8.1.3.6.2 The <code id=the-errorevent-interface:errorevent><a href=#errorevent>ErrorEvent</a></code> interface</h6><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=25099" title="Should define default values for ErrorEventInit in the IDL, not in the prose">25099</a></div>
@@ -63163,7 +63172,7 @@
agent must release the <a href=#storage-mutex id=definitions-3:storage-mutex-4>storage mutex</a>.</p>
- <h5 id=processing-model-9>8.1.4.2 Processing model</h5>
+ <h5 id=processing-model-9>8.1.4.2 Processing model</h5>
<p>An <a href=#event-loop id=processing-model-9:event-loop>event loop</a> must continually run through the following steps for as long as it
exists:</p>
@@ -63183,26 +63192,57 @@
<p><i>Update the rendering</i>: If this <a href=#event-loop id=processing-model-9:event-loop-7>event loop</a> is a <a href=#browsing-context id=processing-model-9:browsing-context-2>browsing
context</a> <a href=#event-loop id=processing-model-9:event-loop-8>event loop</a> (as opposed to a <a href=#workers>worker</a>
- <a href=#event-loop id=processing-model-9:event-loop-9>event loop</a>), then, if necessary, run the following steps.</p>
+ <a href=#event-loop id=processing-model-9:event-loop-9>event loop</a>), then, if necessary, run the following substeps.</p>
- <ol><li><p>Update the rendering or user interface of any <code id=processing-model-9:document-2><a href=#document>Document</a></code> or <a href=#browsing-context id=processing-model-9:browsing-context-3>browsing
- context</a> to reflect the current state.</ol>
-
<p class=note>Whether these steps are necessary depends on the update frequency. For example,
if the browser is attempting to achieve a 60 Hz refresh rate, then these steps are only
- necessary every 60th of a second (about 16.7ms). This specification does not mandate any
- particular model for when to update the rendering.</p>
+ necessary every 60th of a second (about 16.7ms). If the browser finds that the page is not able
+ to sustain this rate, it might drop to a more sustainable 30Hz, rather than occasionally
+ dropping frames. This specification does not mandate any particular model for when to update the
+ rendering.</p>
- <li><p>If this is a <a href=#workers>worker</a> <a href=#event-loop id=processing-model-9:event-loop-10>event loop</a> (i.e. one running for a
+ <ol><li><p>Let <var>now</var> be the value that would be returned by the <code id=processing-model-9:performance><a href=#performance>Performance</a></code>
+ object's <code id=processing-model-9:dom-performance-now><a href=#dom-performance-now>now()</a></code> method. <a href=#refsHRT>[HRT]</a></p>
+
+ <li>
+
+ <p>Let <var>docs</var> be the list of <code id=processing-model-9:document-2><a href=#document>Document</a></code> objects associated with the
+ <a href=#event-loop id=processing-model-9:event-loop-10>event loop</a> in question, sorted arbitrarily except that the following conditions
+ must be met:</p>
+
+ <ul><li><p>Any <code id=processing-model-9:document-3><a href=#document>Document</a></code> <var>B</var> that is <span>nested through</span> a
+ <code id=processing-model-9:document-4><a href=#document>Document</a></code> <var>A</var> must be listed after <var>A</var> in the list.<li><p>If there are two documents <var>A</var> and <var>B</var> whose <a href=#browsing-context id=processing-model-9:browsing-context-3>browsing contexts</a> are both <a href=#nested-browsing-context id=processing-model-9:nested-browsing-context>nested
+ browsing contexts</a> and their <a href=#browsing-context-container id=processing-model-9:browsing-context-container>browsing context
+ containers</a> are both elements in the same <code id=processing-model-9:document-5><a href=#document>Document</a></code> <var>C</var>, then the
+ order of <var>A</var> and <var>B</var> in the list must match the relative <a href=#tree-order id=processing-model-9:tree-order>tree
+ order</a> of their respective <a href=#browsing-context-container id=processing-model-9:browsing-context-container-2>browsing context
+ containers</a> in <var>C</var>.</ul>
+
+ <p>In the steps below that iterate over <var>docs</var>, each <code id=processing-model-9:document-6><a href=#document>Document</a></code> must be
+ processed in the order it is found in the list.</p>
+
+ <li><p>For each <code id=processing-model-9:document-7><a href=#document>Document</a></code> in <var>docs</var>, <dfn id=run-the-resize-steps>run the resize steps</dfn> for
+ that <code id=processing-model-9:document-8><a href=#document>Document</a></code>, passing in <var>now</var> as the timestamp. <a href=#refsCSSOMVIEW>[CSSOMVIEW]</a><li><p>For each <code id=processing-model-9:document-9><a href=#document>Document</a></code> in <var>docs</var>, <dfn id=run-the-scroll-steps>run the scroll steps</dfn> for
+ that <code id=processing-model-9:document-10><a href=#document>Document</a></code>, passing in <var>now</var> as the timestamp. <a href=#refsCSSOMVIEW>[CSSOMVIEW]</a><li><p>For each <code id=processing-model-9:document-11><a href=#document>Document</a></code> in <var>docs</var>, <dfn id=evaluate-media-queries-and-report-changes>evaluate media queries and
+ report changes</dfn> for that <code id=processing-model-9:document-12><a href=#document>Document</a></code>, passing in <var>now</var> as the
+ timestamp. <a href=#refsCSSOMVIEW>[CSSOMVIEW]</a><li><p>For each <code id=processing-model-9:document-13><a href=#document>Document</a></code> in <var>docs</var>, <dfn id=run-css-animations-and-send-events>run CSS animations and send
+ events</dfn> for that <code id=processing-model-9:document-14><a href=#document>Document</a></code>, passing in <var>now</var> as the timestamp. <a href=#refsCSSANIMATIONS>[CSSANIMATIONS]</a><li><p>For each <code id=processing-model-9:document-15><a href=#document>Document</a></code> in <var>docs</var>, <dfn id=run-the-fullscreen-rendering-steps>run the fullscreen rendering
+ steps</dfn> for that <code id=processing-model-9:document-16><a href=#document>Document</a></code>, passing in <var>now</var> as the timestamp. <a href=#refsFULLSCREEN>[FULLSCREEN]</a><li><p>For each <code id=processing-model-9:document-17><a href=#document>Document</a></code> in <var>docs</var>, <a href=#run-the-animation-frame-callbacks id=processing-model-9:run-the-animation-frame-callbacks>run the animation frame
+ callbacks</a> for that <code id=processing-model-9:document-18><a href=#document>Document</a></code>, passing in <var>now</var> as the
+ timestamp.<li><p>For each <code id=processing-model-9:document-19><a href=#document>Document</a></code> in <var>docs</var>, update the rendering or user
+ interface of that <code id=processing-model-9:document-20><a href=#document>Document</a></code> and its <a href=#browsing-context id=processing-model-9:browsing-context-4>browsing context</a> to reflect the
+ current state.</ol>
+
+ <li><p>If this is a <a href=#workers>worker</a> <a href=#event-loop id=processing-model-9:event-loop-11>event loop</a> (i.e. one running for a
<code id=processing-model-9:workerglobalscope><a href=#workerglobalscope>WorkerGlobalScope</a></code>), but there are no <a href=#concept-task id=processing-model-9:concept-task-4>tasks</a> in the
- <a href=#event-loop id=processing-model-9:event-loop-11>event loop</a>'s <a href=#task-queue id=processing-model-9:task-queue-4>task queues</a> and the
- <code id=processing-model-9:workerglobalscope-2><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing id=processing-model-9:dom-workerglobalscope-closing>closing</a> flag is true, then destroy the <a href=#event-loop id=processing-model-9:event-loop-12>event
+ <a href=#event-loop id=processing-model-9:event-loop-12>event loop</a>'s <a href=#task-queue id=processing-model-9:task-queue-4>task queues</a> and the
+ <code id=processing-model-9:workerglobalscope-2><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing id=processing-model-9:dom-workerglobalscope-closing>closing</a> flag is true, then destroy the <a href=#event-loop id=processing-model-9:event-loop-13>event
loop</a>, aborting these steps, resuming the <a href=#run-a-worker id=processing-model-9:run-a-worker>run a worker</a> steps described in the
- Web Workers section below.<li><p>Return to the <a href=#step1>first step</a> of the <a href=#event-loop id=processing-model-9:event-loop-13>event loop</a>.</ol>
+ Web Workers section below.<li><p>Return to the <a href=#step1>first step</a> of the <a href=#event-loop id=processing-model-9:event-loop-14>event loop</a>.</ol>
<hr>
- <p>Each <a href=#event-loop id=processing-model-9:event-loop-14>event loop</a> has a <dfn id=microtask-queue>microtask queue</dfn>. A <dfn id=microtask>microtask</dfn> is a
+ <p>Each <a href=#event-loop id=processing-model-9:event-loop-15>event loop</a> has a <dfn id=microtask-queue>microtask queue</dfn>. A <dfn id=microtask>microtask</dfn> is a
<a href=#concept-task id=processing-model-9:concept-task-5>task</a> that is originally to be queued on the <a href=#microtask-queue id=processing-model-9:microtask-queue>microtask
queue</a> rather than a <a href=#task-queue id=processing-model-9:task-queue-5>task queue</a>. There are two kinds of <a href=#microtask id=processing-model-9:microtask>microtasks</a>: <dfn id=solitary-callback-microtask>solitary callback
microtasks</dfn>, and <dfn id=compound-microtask>compound microtasks</dfn>.</p>
@@ -63212,7 +63252,7 @@
microtasks</a> have to take extra care to <a href=#execute-a-compound-microtask-subtask id=processing-model-9:execute-a-compound-microtask-subtask>wrap callbacks</a> to handle <a href=#spin-the-event-loop id=processing-model-9:spin-the-event-loop>spinning the event
loop</a>.</p>
- <p>When an algorithm requires a <a href=#microtask id=processing-model-9:microtask-2>microtask</a> to be <dfn id=queue-a-microtask>queued</dfn>, it must be appended to the relevant <a href=#event-loop id=processing-model-9:event-loop-15>event loop</a>'s
+ <p>When an algorithm requires a <a href=#microtask id=processing-model-9:microtask-2>microtask</a> to be <dfn id=queue-a-microtask>queued</dfn>, it must be appended to the relevant <a href=#event-loop id=processing-model-9:event-loop-16>event loop</a>'s
<a href=#microtask-queue id=processing-model-9:microtask-queue-2>microtask queue</a>; the <a href=#task-source id=processing-model-9:task-source>task source</a> of such a <a href=#microtask id=processing-model-9:microtask-3>microtask</a> is the
<dfn id=microtask-task-source>microtask task source</dfn>.</p>
@@ -63225,9 +63265,9 @@
<p>When a user agent is to <dfn id=perform-a-microtask-checkpoint>perform a microtask checkpoint</dfn>, if the <a href=#performing-a-microtask-checkpoint id=processing-model-9:performing-a-microtask-checkpoint>performing a
microtask checkpoint</a> flag is false, then the user agent must run the following steps:</p>
- <ol><li><p>Let the <a href=#performing-a-microtask-checkpoint id=processing-model-9:performing-a-microtask-checkpoint-2>performing a microtask checkpoint</a> flag be true.<li><p><i>Microtask queue handling</i>: If the <a href=#event-loop id=processing-model-9:event-loop-16>event loop</a>'s <a href=#microtask-queue id=processing-model-9:microtask-queue-3>microtask
- queue</a> is empty, jump to the <i>done</i> step below.<li><p>Select the oldest <a href=#microtask id=processing-model-9:microtask-6>microtask</a> on the <a href=#event-loop id=processing-model-9:event-loop-17>event loop</a>'s <a href=#microtask-queue id=processing-model-9:microtask-queue-4>microtask
- queue</a>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-18>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-3>currently running task</a> to the <a href=#concept-task id=processing-model-9:concept-task-6>task</a> selected in the previous step.<li>
+ <ol><li><p>Let the <a href=#performing-a-microtask-checkpoint id=processing-model-9:performing-a-microtask-checkpoint-2>performing a microtask checkpoint</a> flag be true.<li><p><i>Microtask queue handling</i>: If the <a href=#event-loop id=processing-model-9:event-loop-17>event loop</a>'s <a href=#microtask-queue id=processing-model-9:microtask-queue-3>microtask
+ queue</a> is empty, jump to the <i>done</i> step below.<li><p>Select the oldest <a href=#microtask id=processing-model-9:microtask-6>microtask</a> on the <a href=#event-loop id=processing-model-9:event-loop-18>event loop</a>'s <a href=#microtask-queue id=processing-model-9:microtask-queue-4>microtask
+ queue</a>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-19>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-3>currently running task</a> to the <a href=#concept-task id=processing-model-9:concept-task-6>task</a> selected in the previous step.<li>
<p><i>Run</i>: Run the selected <a href=#concept-task id=processing-model-9:concept-task-7>task</a>.</p>
@@ -63236,8 +63276,8 @@
checkpoint</a> algorithm again, which is why we use the <a href=#performing-a-microtask-checkpoint id=processing-model-9:performing-a-microtask-checkpoint-3>performing a microtask
checkpoint</a> flag to avoid reentrancy.</p>
- <li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-19>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-4>currently running task</a> back to
- null.<li><p>If the <a href=#storage-mutex id=processing-model-9:storage-mutex-2>storage mutex</a> is now owned by the <a href=#event-loop id=processing-model-9:event-loop-20>event loop</a>, release it
+ <li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-20>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-4>currently running task</a> back to
+ null.<li><p>If the <a href=#storage-mutex id=processing-model-9:storage-mutex-2>storage mutex</a> is now owned by the <a href=#event-loop id=processing-model-9:event-loop-21>event loop</a>, release it
so that it is once again free.<li><p>Remove the <a href=#microtask id=processing-model-9:microtask-7>microtask</a> run in the step above from the <a href=#microtask-queue id=processing-model-9:microtask-queue-5>microtask
queue</a>, and return to the <i>microtask queue handling</i> step.<li><p><i>Done</i>: Let the <a href=#performing-a-microtask-checkpoint id=processing-model-9:performing-a-microtask-checkpoint-4>performing a microtask checkpoint</a> flag be
false.</ol>
@@ -63246,11 +63286,11 @@
<dfn id=execute-a-compound-microtask-subtask>execute a compound microtask subtask</dfn> to run a series of steps, the user agent must run
the following steps:</p>
- <ol><li><p>Let <var>parent</var> be the <a href=#event-loop id=processing-model-9:event-loop-21>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-5>currently running
+ <ol><li><p>Let <var>parent</var> be the <a href=#event-loop id=processing-model-9:event-loop-22>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-5>currently running
task</a> (the currently running <a href=#compound-microtask id=processing-model-9:compound-microtask-3>compound microtask</a>).<li><p>Let <var>subtask</var> be a new <a href=#concept-task id=processing-model-9:concept-task-8>task</a> that
consists of running the given series of steps. The <a href=#task-source id=processing-model-9:task-source-4>task source</a> of such a
<a href=#microtask id=processing-model-9:microtask-8>microtask</a> is the <a href=#microtask-task-source id=processing-model-9:microtask-task-source-2>microtask task source</a>. This is a <dfn id=compound-microtask-subtask>compound
- microtask subtask</dfn>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-22>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-6>currently running task</a> to <var>subtask</var>.<li><p>Run <var>subtask</var>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-23>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-7>currently running task</a> back to <var>parent</var>.</ol>
+ microtask subtask</dfn>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-23>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-6>currently running task</a> to <var>subtask</var>.<li><p>Run <var>subtask</var>.<li><p>Set the <a href=#event-loop id=processing-model-9:event-loop-24>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-7>currently running task</a> back to <var>parent</var>.</ol>
<hr>
@@ -63271,7 +63311,7 @@
<ol><li>
- <p>Let <var>task</var> be the <a href=#event-loop id=processing-model-9:event-loop-24>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-8>currently running
+ <p>Let <var>task</var> be the <a href=#event-loop id=processing-model-9:event-loop-25>event loop</a>'s <a href=#currently-running-task id=processing-model-9:currently-running-task-8>currently running
task</a>.</p>
<p class=note>This might be a <a href=#microtask id=processing-model-9:microtask-9>microtask</a>, in which case it is a <a href=#solitary-callback-microtask id=processing-model-9:solitary-callback-microtask-2>solitary
@@ -63286,7 +63326,7 @@
<p>Stop <var>task</var>, allowing whatever algorithm that invoked it to resume, but
continue these steps <a href=#in-parallel id=processing-model-9:in-parallel-3>in parallel</a>.</p>
- <p class=note>This causes one of the following algorithms to continue: the <a href=#event-loop id=processing-model-9:event-loop-25>event
+ <p class=note>This causes one of the following algorithms to continue: the <a href=#event-loop id=processing-model-9:event-loop-26>event
loop</a>'s main set of steps, the <a href=#perform-a-microtask-checkpoint id=processing-model-9:perform-a-microtask-checkpoint-4>perform a microtask checkpoint</a> algorithm, or
the <a href=#execute-a-compound-microtask-subtask id=processing-model-9:execute-a-compound-microtask-subtask-2>execute a compound microtask subtask</a> algorithm to continue.</p>
@@ -63300,19 +63340,19 @@
<p>Some of the algorithms in this specification, for historical reasons, require the user agent to
<dfn id=pause>pause</dfn> while running a <a href=#concept-task id=processing-model-9:concept-task-10>task</a> until a condition <var>goal</var> is met. This means running the following steps:</p>
- <ol><li><p>If necessary, update the rendering or user interface of any <code id=processing-model-9:document-3><a href=#document>Document</a></code> or
- <a href=#browsing-context id=processing-model-9:browsing-context-4>browsing context</a> to reflect the current state.<li><p>Wait until the condition <var>goal</var> is met. While a user agent has a paused
- <a href=#concept-task id=processing-model-9:concept-task-11>task</a>, the corresponding <a href=#event-loop id=processing-model-9:event-loop-26>event loop</a> must not run
+ <ol><li><p>If necessary, update the rendering or user interface of any <code id=processing-model-9:document-21><a href=#document>Document</a></code> or
+ <a href=#browsing-context id=processing-model-9:browsing-context-5>browsing context</a> to reflect the current state.<li><p>Wait until the condition <var>goal</var> is met. While a user agent has a paused
+ <a href=#concept-task id=processing-model-9:concept-task-11>task</a>, the corresponding <a href=#event-loop id=processing-model-9:event-loop-27>event loop</a> must not run
further <a href=#concept-task id=processing-model-9:concept-task-12>tasks</a>, and any script in the currently running <a href=#concept-task id=processing-model-9:concept-task-13>task</a> must block. User agents should remain responsive to user input
- while paused, however, albeit in a reduced capacity since the <a href=#event-loop id=processing-model-9:event-loop-27>event loop</a> will not be
+ while paused, however, albeit in a reduced capacity since the <a href=#event-loop id=processing-model-9:event-loop-28>event loop</a> will not be
doing anything.</ol>
<hr>
<p>When a user agent is to <dfn id=obtain-the-storage-mutex>obtain the storage mutex</dfn> as part of running a <a href=#concept-task id=processing-model-9:concept-task-14>task</a>, it must run through the following steps:</p>
- <ol><li><p>If the <a href=#storage-mutex id=processing-model-9:storage-mutex-3>storage mutex</a> is already owned by this <a href=#concept-task id=processing-model-9:concept-task-15>task</a>'s <a href=#event-loop id=processing-model-9:event-loop-28>event loop</a>, then abort these steps.<li><p>Otherwise, <a href=#pause id=processing-model-9:pause>pause</a> until the <a href=#storage-mutex id=processing-model-9:storage-mutex-4>storage mutex</a> can be taken by the
- <a href=#event-loop id=processing-model-9:event-loop-29>event loop</a>.<li><p>Take ownership of the <a href=#storage-mutex id=processing-model-9:storage-mutex-5>storage mutex</a>.</ol>
+ <ol><li><p>If the <a href=#storage-mutex id=processing-model-9:storage-mutex-3>storage mutex</a> is already owned by this <a href=#concept-task id=processing-model-9:concept-task-15>task</a>'s <a href=#event-loop id=processing-model-9:event-loop-29>event loop</a>, then abort these steps.<li><p>Otherwise, <a href=#pause id=processing-model-9:pause>pause</a> until the <a href=#storage-mutex id=processing-model-9:storage-mutex-4>storage mutex</a> can be taken by the
+ <a href=#event-loop id=processing-model-9:event-loop-30>event loop</a>.<li><p>Take ownership of the <a href=#storage-mutex id=processing-model-9:storage-mutex-5>storage mutex</a>.</ol>
@@ -66336,6 +66376,42 @@
+ <h3 id=animation-frames>8.8 Animation Frames</h3>
+
+ <p>Each <code id=animation-frames:document><a href=#document>Document</a></code> has a <dfn id=list-of-animation-frame-callbacks>list of animation frame callbacks</dfn>, which must be
+ initially empty, and an <dfn id=animation-frame-callback-identifier>animation frame callback identifier</dfn>, which is a number which
+ must initially be zero.</p>
+
+ <p>When the <dfn id=dom-window-requestanimationframe><code>requestAnimationFrame()</code></dfn> method is called,
+ the user agent must run the following steps:</p>
+
+ <ol><li><p>Let <var>document</var> be <a href=#concept-document-window id=animation-frames:concept-document-window>the
+ <code>Window</code> object's <code>Document</code> object</a>.<li><p>Increment <var>document</var>'s <a href=#animation-frame-callback-identifier id=animation-frames:animation-frame-callback-identifier>animation frame callback identifier</a> by
+ one.<li><p>Append the method's argument to <var>document</var>'s <a href=#list-of-animation-frame-callbacks id=animation-frames:list-of-animation-frame-callbacks>list of animation frame
+ callbacks</a>, associated with <var>document</var>'s <a href=#animation-frame-callback-identifier id=animation-frames:animation-frame-callback-identifier-2>animation frame callback
+ identifier</a>'s current value.<li><p>Return <var>document</var>'s <a href=#animation-frame-callback-identifier id=animation-frames:animation-frame-callback-identifier-3>animation frame callback identifier</a>'s current
+ value.</ol>
+
+ <p>When the <dfn id=dom-window-cancelanimationframe><code>cancelAnimationFrame()</code></dfn> method is called,
+ the user agent must run the following steps:</p>
+
+ <ol><li><p>Let <var>document</var> be <a href=#concept-document-window id=animation-frames:concept-document-window-2>the
+ <code>Window</code> object's <code>Document</code> object</a>.<li><p>Find the entry in <var>document</var>'s <a href=#list-of-animation-frame-callbacks id=animation-frames:list-of-animation-frame-callbacks-2>list of animation frame callbacks</a>
+ that is associated with the value given by the method's argument.<li><p>If there is such an entry, remove it from <var>document</var>'s <a href=#list-of-animation-frame-callbacks id=animation-frames:list-of-animation-frame-callbacks-3>list of animation
+ frame callbacks</a>.</ol>
+
+ <p>When the user agent is to <dfn id=run-the-animation-frame-callbacks>run the animation frame callbacks</dfn> for a
+ <code id=animation-frames:document-2><a href=#document>Document</a></code> <var>doc</var> with a timestamp <var>now</var>, it must run the following
+ steps:</p>
+
+ <ol><li><p>Let <var>callbacks</var> be a list of the entries in <var>doc</var>'s <a href=#list-of-animation-frame-callbacks id=animation-frames:list-of-animation-frame-callbacks-4>list of
+ animation frame callbacks</a>, in the order in which they were added to the list.<li><p>Set <var>doc</var>'s <a href=#list-of-animation-frame-callbacks id=animation-frames:list-of-animation-frame-callbacks-5>list of animation frame callbacks</a> to the empty
+ list.<li><p>For each entry in <var>callbacks</var>, in order: invoke the callback, passing
+ <var>now</var> as the only argument, and if an exception is thrown, <a href=#report-the-exception id=animation-frames:report-the-exception>report the
+ exception</a>. <a href=#refsWEBIDL>[WEBIDL]</a></ol>
+
+
+
<h2 id=comms>9 Communication</h2>
<h3 id=the-messageevent-interfaces>9.1 The <code id=the-messageevent-interfaces:messageevent><a href=#messageevent>MessageEvent</a></code> interfaces</h3><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27128" title="MessageEventInit should probably use Window, not WindowProxy">27128</a></div>
@@ -81780,7 +81856,7 @@
- <h3 id=web+-scheme-prefix>16.10 <dfn><code>web+</code> scheme prefix</dfn></h3><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18496" title="Change the IANA sections to refer to the new registration system and not IANA">18496</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18671" title="Find a solution to the problem of the IANA scheme registry being so incomplete (especially given web+)">18671</a></div>
+ <h3 id=web+-scheme-prefix>16.10 <dfn><code>web+</code> scheme prefix</dfn></h3><div class=status><input onclick=toggleStatus(this) value=⋰ type=button><p class=bugs><strong>Spec bugs:</strong> <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18496" title="Change the IANA sections to refer to the new registration system and not IANA">18496</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=18671" title="Find a solution to the problem of the IANA scheme registry being so incomplete (especially given web+)">18671</a>, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27364" title="Encoding considerations: none,">27364</a></div>
<p>This section describes a convention for use with the IANA URI scheme registry. It does not
itself register a specific scheme. <a href=#refsRFC4395>[RFC4395]</a></p>
@@ -84713,7 +84789,7 @@
- <dl id=ref-list><dt id=refsABNF>[ABNF]<dd><cite><a href=http://www.ietf.org/rfc/std/std68.txt>Augmented BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker, P. Overell. IETF.<dt id=refsABOUT>[ABOUT]<dd><cite><a href=http://tools.ietf.org/html/rfc6694>The 'about' URI scheme</a></cite>, S. Moonesamy. IETF.<dt id=refsAPNG>[APNG]<dd>(Non-normative) <cite><a href=https://wiki.mozilla.org/APNG_Specification>APNG Specification</a></cite>. S. Parmenter, V. Vukicevic, A. Smith. Mozilla.<dt id=refsARIA>[ARIA]<dd><cite><a href=http://www.w3.org/WAI/PF/aria/>Accessible Rich Internet Applications (WAI-ARIA)</a></cite>, J. Craig, M. Cooper, L. Pappas, R. Schwerdtfeger, L. Seeman. W3C.<dt id=refsARIAIMPL>[ARIAIMPL]<dd><cite><a href=http://www.w3.org/WAI/PF/aria-implementation/>WAI-ARIA 1.0 User Agent Implementation Guide</a></cite>, A. Snow-Weaver, M. Cooper. W3C.<dt id=refsATAG>[ATAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/ATAG20/>Authoring Tool Accessibility Guide
lines (ATAG) 2.0</a></cite>, J. Richards, J. Spellman, J. Treviranus. W3C.<dt id=refsATOM>[ATOM]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc4287>The Atom Syndication Format</a></cite>, M. Nottingham, R. Sayre. IETF.<dt id=refsBCP47>[BCP47]<dd><cite><a href=http://www.ietf.org/rfc/bcp/bcp47.txt>Tags for Identifying Languages; Matching of Language Tags</a></cite>, A. Phillips, M. Davis. IETF.<dt id=refsBECSS>[BECSS]<dd><cite><a href=http://www.w3.org/TR/becss/>Behavioral Extensions to CSS</a></cite>, I. Hickson. W3C.<dt id=refsBEZIER>[BEZIER]<dd><cite>Courbes à poles</cite>, P. de Casteljau. INPI, 1959.<dt id=refsBIDI>[BIDI]<dd><cite><a href=http://www.unicode.org/reports/tr9/>UAX #9: Unicode Bidirectional Algorithm</a></cite>, M. Davis. Unicode Consortium.<dt id=refsBOCU1>[BOCU1]<dd>(Non-normative) <cite><a href=http://www.unicode.org/notes/tn6/>UTN #6: BOCU-1: MIME-Compatible Unicode Compression</a></cite>, M. Scherer, M. Davis. Unicode Consortium.<dt id
=refsCESU8>[CESU8]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr26/>UTR #26: Compatibility Encoding Scheme For UTF-16: 8-BIT (CESU-8)</a></cite>, T. Phipps. Unicode Consortium.<dt id=refsCHARMOD>[CHARMOD]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/charmod/>Character Model for the World Wide Web 1.0: Fundamentals</a></cite>, M. Dürst, F. Yergeau, R. Ishida, M. Wolf, T. Texin. W3C.<dt id=refsCLDR>[CLDR]<dd><cite><a href=http://cldr.unicode.org/>Unicode Common Locale Data Repository</a></cite>. Unicode.<dt id=refsCOMPOSITE>[COMPOSITE]<dd><cite><a href=http://dev.w3.org/fxtf/compositing/>Compositing and Blending</a></cite>. R. Cabanier, N. Andronikos. W3C.<dt id=refsCOMPUTABLE>[COMPUTABLE]<dd>(Non-normative) <cite><a href=http://www.turingarchive.org/browse.php/B/12>On computable numbers, with an application to the Entscheidungsproblem</a></cite>, A. Turing. In <cite>Proceedings of the London Mathematical Society</cite>, series 2, volume 42, page
s 230-265. London Mathematical Society, 1937.<dt id=refsCOOKIES>[COOKIES]<dd><cite><a href=http://tools.ietf.org/html/rfc6265>HTTP State Management Mechanism</a></cite>, A. Barth. IETF.<dt id=refsCP50220>[CP50220]<dd>(Non-normative) <cite><a href=http://www.iana.org/assignments/charset-reg/CP50220>CP50220</a></cite>, Y. Naruse. IANA.<dt id=refsCSP>[CSP]<dd>(Non-normative) <cite><a href=https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html>Content Security Policy</a></cite>, B. Sterne, A. Barth. W3C.<dt id=refsCSS>[CSS]<dd><cite><a href=http://www.w3.org/TR/CSS2/>Cascading Style Sheets Level 2 Revision 1</a></cite>, B. Bos, T. Çelik, I. Hickson, H. Lie. W3C.<dt id=refsCSSANIMATIONS>[CSSANIMATIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css-animations/>CSS Animations</a></cite>, D. Jackson, D. Hyatt, C. Marrin, S. Galineau, L. Baron. W3C.<dt id=refsCSSATTR>[CSSATTR]<dd><cite><a href=http://dev.w3.org/csswg/css-style-attr/>CSS
Styling Attribute Syntax</a></cite>, T. Çelik, E. Etemad. W3C.<dt id=refsCSSCOLOR>[CSSCOLOR]<dd><cite><a href=http://dev.w3.org/csswg/css-color/>CSS Color Module Level 3</a></cite>, T. Çelik, C. Lilley, L. Baron. W3C.<dt id=refsCSSFONTLOAD>[CSSFONTLOAD]<dd><cite><a href=http://dev.w3.org/csswg/css-font-loading/>CSS Font Loading</a></cite>, T. Atkins, J. Daggett. W3C.<dt id=refsCSSFONTS>[CSSFONTS]<dd><cite><a href=http://dev.w3.org/csswg/css-fonts/>CSS Fonts</a></cite>, J. Daggett. W3C.<dt id=refsCSSGC>[CSSGC]<dd><cite><a href=http://dev.w3.org/csswg/css-content>CSS Generated Content</a></cite>, H. Lie, E. Etemad, I. Hickson. W3C.<dt id=refsCSSIMAGES>[CSSIMAGES]<dd><cite><a href=http://dev.w3.org/csswg/css-images/>CSS Image Values and Replaced Content Module</a></cite>, E. Etemad, T. Atkins. W3C.<dt id=refsCSSOM>[CSSOM]<dd><cite><a href=http://dev.w3.org/csswg/cssom/>Cascading Style Sheets Object Model (CSSOM)</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSOMVIEW>[CSS
OMVIEW]<dd><cite><a href=http://dev.w3.org/csswg/cssom-view/>CSSOM View Module</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSRUBY>[CSSRUBY]<dd><cite><a href=http://dev.w3.org/csswg/css-ruby/>CSS3 Ruby Module</a></cite>, R. Ishida. W3C.<dt id=refsCSSTRANSITIONS>[CSSTRANSITIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css-transitions/>CSS Transitions</a></cite>, D. Jackson, D. Hyatt, C. Marrin, L. Baron. W3C.<dt id=refsCSSUI>[CSSUI]<dd><cite><a href=http://dev.w3.org/csswg/css-ui/>CSS3 Basic User Interface Module</a></cite>, T. Çelik. W3C.<dt id=refsCSSSCOPED>[CSSSCOPED]<dd><cite><a href=http://dev.w3.org/csswg/css-scoping/>CSS Scoping</a></cite>, T. Atkins, E. Etemad. W3C.<dt id=refsCSSSYNTAX>[CSSSYNTAX]<dd><cite><a href=http://dev.w3.org/csswg/css-syntax/>CSS Syntax</a></cite>, T. Atkins, S. Sapin. W3C.<dt id=refsCSSVALUES>[CSSVALUES]<dd><cite><a href=http://dev.w3.org/csswg/css-values/>CSS3 Values and Units</a></cite>, H. Lie, T. Atkins, E. Etemad. W
3C.<dt id=refsCSSWM>[CSSWM]<dd><cite><a href=http://dev.w3.org/csswg/css-writing-modes>CSS Writing Modes</a></cite>, E. Etemad, K. Ishii. W3C.<dt id=refsDASH>[DASH]<dd><cite><a href="http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=65274">Dynamic adaptive streaming over HTTP (DASH)</a></cite>. ISO.<dt id=refsDOM>[DOM]<dd><cite><a href=https://dom.spec.whatwg.org/>DOM</a></cite>, A. van Kesteren, A. Gregor, Ms2ger. WHATWG.<dt id=refsDOMEVENTS>[DOMEVENTS]<dd><cite><a href=https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html>Document Object Model (DOM) Level 3 Events Specification</a></cite>, G. Kacmarcik, T. Leithead, J. Rossi, D. Schepers, B. Höhrmann, P. Le Hégaret, T. Pixley. W3C.<dt id=refsDOMPARSING>[DOMPARSING]<dd><cite><a href=https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html lang=en-US>DOM Parsing and Serialization</a></cite>, T. Leithead. W3C.<dt id=refsDOT>[DOT]<dd>(Non-normative) <cite><a href=http://www.grap
hviz.org/content/dot-language>The DOT Language</a></cite>. Graphviz.<dt id=refsE163>[E163]<dd><cite>Recommendation E.163 — Numbering Plan for The International Telephone Service</cite>, CCITT Blue Book, Fascicle II.2, pp. 128-134, November 1988.<dt id=refsECMA262>[ECMA262]<dd><cite><a href=http://people.mozilla.org/~jorendorff/es6-draft.html>ECMAScript Language Specification</a></cite>. ECMA.<dt id=refsEDITING>[EDITING]<dd><cite><a href=https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html>HTML Editing APIs</a></cite>, A. Gregor. W3C Editing APIs CG.<dt id=refsENCODING>[ENCODING]<dd><cite><a href=https://encoding.spec.whatwg.org/>Encoding</a></cite>, A. van Kesteren, J. Bell. WHATWG.<dt id=refsFETCH>[FETCH]<dd><cite><a href=https://fetch.spec.whatwg.org/>Fetch</a></cite>, A. van Kesteren. WHATWG.<dt id=refsFILEAPI>[FILEAPI]<dd><cite><a href=http://dev.w3.org/2006/webapi/FileAPI/>File API</a></cite>, A. Ranganathan. W3C.<dt id=refsFULLSCREEN>[FULLSCREEN]<dd><cite><a href
=https://fullscreen.spec.whatwg.org/>Fullscreen</a></cite>, A. van Kesteren, T. Çelik. WHATWG.<dt id=refsGIF>[GIF]<dd>(Non-normative) <cite><a href=http://www.w3.org/Graphics/GIF/spec-gif89a.txt>Graphics Interchange Format</a></cite>. CompuServe.<dt id=refsGRAPHICS>[GRAPHICS]<dd>(Non-normative) <cite>Computer Graphics: Principles and Practice in C</cite>, Second Edition, J. Foley, A. van Dam, S. Feiner, J. Hughes. Addison-Wesley. ISBN 0-201-84840-6.<dt id=refsGREGORIAN>[GREGORIAN]<dd>(Non-normative) <cite>Inter Gravissimas</cite>, A. Lilius, C. Clavius. Gregory XIII Papal Bull, February 1582.<dt id=refsHTTP>[HTTP]<dd><cite><a href=http://tools.ietf.org/html/rfc7230>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7231>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc
7232>Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7233>Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a></cite>, R. Fielding, Y. Lafon, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7234>Hypertext Transfer Protocol (HTTP/1.1): Caching</a></cite>, R. Fielding, M. Nottingham, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7235>Hypertext Transfer Protocol (HTTP/1.1): Authentication</a></cite>, R. Fielding, J. Reschke. IETF.<dt id=refsIANAPERMHEADERS>[IANAPERMHEADERS]<dd><cite><a href=http://www.iana.org/assignments/message-headers/perm-headers.html>Permanent Message Header Field Names</a></cite>. IANA.<dt id=refsINBAND>[INBAND]<dd><cite><a href=http://dev.w3.org/html5/html-sourcing-inband-tracks/>Sourcing In-band Media Resource Tracks from Media Containers into HTML</a></cite>, S. Pfeiffer, B. Lund. W3C.<dt id=refsISO3166>[ISO31
66]<dd><cite><a href=http://www.iso.org/iso/home/standards/country_codes.htm>ISO 3166: Codes for the representation of names of countries and their subdivisions</a></cite>. ISO.<dt id=refsISO4217>[ISO4217]<dd><cite><a href=http://www.iso.org/iso/home/standards/currency_codes.htm>ISO 4217: Codes for the representation of currencies and funds</a></cite>. ISO.<dt id=refsISO8601>[ISO8601]<dd>(Non-normative) <cite><a href="http://isotc.iso.org/livelink/livelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch&nodeid=4021199">ISO8601: Data elements and interchange formats — Information interchange — Representation of dates and times</a></cite>. ISO.<dt id=refsJLREQ>[JLREQ]<dd><cite><a href=http://www.w3.org/TR/jlreq/>Requirements for Japanese Text Layout</a></cite>. W3C.<dt id=refsJPEG>[JPEG]<dd><cite><a href=http://www.w3.org/Graphics/JPEG/jfif3.pdf>JPEG File Interchange Format</a></cite>, E. Hamilton.<dt id=refsJSON>[JSON]<dd><cite><a href=http://tools.ietf.org/html/rfc4627>Th
e application/json Media Type for JavaScript Object Notation (JSON)</a></cite>, D. Crockford. IETF.<dt id=refsMAILTO>[MAILTO]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc6068>The 'mailto' URI scheme</a></cite>, M. Duerst, L. Masinter, J. Zawinski. IETF.<dt id=refsMATHML>[MATHML]<dd><cite><a href=http://www.w3.org/TR/MathML/>Mathematical Markup Language (MathML)</a></cite>, D. Carlisle, P. Ion, R. Miner, N. Poppelier. W3C.<dt id=refsMEDIAFRAG>[MEDIAFRAG]<dd><cite><a href=http://www.w3.org/2008/WebVideo/Fragments/WD-media-fragments-spec/>Media Fragments URI</a></cite>, R. Troncy, E. Mannens, S. Pfeiffer, D. Van Deursen. W3C.<dt id=refsMEDIASOURCE>[MEDIASOURCE]<dd><cite><a href=https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html>Media Source Extensions</a></cite>, A. Colwell, A. Bateman, M. Watson. W3C.<dt id=refsMEDIASTREAM>[MEDIASTREAM]<dd><cite><a href=http://w3c.github.io/mediacapture-main/getusermedia.html>Media Capture and Stre
ams</a></cite>, D. Burnett, A. Bergkvist, C. Jennings, A. Narayanan. W3C.<dt id=refsMFREL>[MFREL]<dd><cite><a href=http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions>Microformats Wiki: existing rel values</a></cite>. Microformats.<dt id=refsMIMESNIFF>[MIMESNIFF]<dd><cite><a href=https://mimesniff.spec.whatwg.org/>MIME Sniffing</a></cite>, G. Hemsley. WHATWG.<dt id=refsMNG>[MNG]<dd><cite><a href=http://www.libpng.org/pub/mng/spec/>MNG (Multiple-image Network Graphics) Format</a></cite>. G. Randers-Pehrson.<dt id=refsMPEG2>[MPEG2]<dd><cite>ISO/IEC 13818-1: Information technology — Generic coding of moving pictures and associated audio information: Systems</cite>. ISO/IEC.<dt id=refsMPEG4>[MPEG4]<dd><cite>ISO/IEC 14496-12: ISO base media file format</cite>. ISO/IEC.<dt id=refsMQ>[MQ]<dd><cite><a href=http://drafts.csswg.org/mediaqueries/>Media Queries</a></cite>, H. Lie, T. Çelik, D. Glazman, A. van Kesteren. W3C.<dt id=refsNPAPI>[NPAPI]<dd>(Non-norm
ative) <cite><a href=https://developer.mozilla.org/en-US/Add-ons/Plugins/Gecko_Plugin_API_Reference>Gecko Plugin API Reference</a></cite>. Mozilla.<dt id=refsOGGSKELETONHEADERS>[OGGSKELETONHEADERS]<dd><cite><a href=http://wiki.xiph.org/SkeletonHeaders>SkeletonHeaders</a></cite>. Xiph.Org.<dt id=refsOPENSEARCH>[OPENSEARCH]<dd><cite><a href=http://www.opensearch.org/Specifications/OpenSearch/1.1#Autodiscovery_in_HTML.2FXHTML>Autodiscovery in HTML/XHTML</a></cite>. In <cite>OpenSearch 1.1 Draft 4</cite>, Section 4.6.2. OpenSearch.org.<dt id=refsORIGIN>[ORIGIN]<dd><cite><a href=http://tools.ietf.org/html/rfc6454>The Web Origin Concept</a></cite>, A. Barth. IETF.<dt id=refsPAGEVIS>[PAGEVIS]<dd>(Non-normative) <cite><a href=https://w3c.github.io/web-performance/specs/PageVisibility/Overview.html>Page Visibility</a></cite>, J. Mann, A. Jain. W3C.<dt id=refsPDF>[PDF]<dd>(Non-normative) <cite><a href=http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf>Document management — P
ortable document format — Part 1: PDF</a></cite>. ISO.<dt id=refsPINGBACK>[PINGBACK]<dd><cite><a href=http://www.hixie.ch/specs/pingback/pingback>Pingback 1.0</a></cite>, S. Langridge, I. Hickson.<dt id=refsPNG>[PNG]<dd><cite><a href=http://www.w3.org/TR/PNG/>Portable Network Graphics (PNG) Specification</a></cite>, D. Duce. W3C.<dt id=refsPOINTERLOCK>[POINTERLOCK]<dd><cite><a href=https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>Pointer Lock</a></cite>, V. Scheib. W3C.<dt id=refsPPUTF8>[PPUTF8]<dd>(Non-normative) <cite><a href=http://www.sw.it.aoyama.ac.jp/2012/pub/IUC11-UTF-8.pdf>The Properties and Promises of UTF-8</a></cite>, M. Dürst. University of Zürich. In <cite>Proceedings of the 11th International Unicode Conference</cite>.<dt id=refsPSL>[PSL]<dd><cite><a href=https://publicsuffix.org/>Public Suffix List</a></cite>.
+ <dl id=ref-list><dt id=refsABNF>[ABNF]<dd><cite><a href=http://www.ietf.org/rfc/std/std68.txt>Augmented BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker, P. Overell. IETF.<dt id=refsABOUT>[ABOUT]<dd><cite><a href=http://tools.ietf.org/html/rfc6694>The 'about' URI scheme</a></cite>, S. Moonesamy. IETF.<dt id=refsAPNG>[APNG]<dd>(Non-normative) <cite><a href=https://wiki.mozilla.org/APNG_Specification>APNG Specification</a></cite>. S. Parmenter, V. Vukicevic, A. Smith. Mozilla.<dt id=refsARIA>[ARIA]<dd><cite><a href=http://www.w3.org/WAI/PF/aria/>Accessible Rich Internet Applications (WAI-ARIA)</a></cite>, J. Craig, M. Cooper, L. Pappas, R. Schwerdtfeger, L. Seeman. W3C.<dt id=refsARIAIMPL>[ARIAIMPL]<dd><cite><a href=http://www.w3.org/WAI/PF/aria-implementation/>WAI-ARIA 1.0 User Agent Implementation Guide</a></cite>, A. Snow-Weaver, M. Cooper. W3C.<dt id=refsATAG>[ATAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/ATAG20/>Authoring Tool Accessibility Guide
lines (ATAG) 2.0</a></cite>, J. Richards, J. Spellman, J. Treviranus. W3C.<dt id=refsATOM>[ATOM]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc4287>The Atom Syndication Format</a></cite>, M. Nottingham, R. Sayre. IETF.<dt id=refsBCP47>[BCP47]<dd><cite><a href=http://www.ietf.org/rfc/bcp/bcp47.txt>Tags for Identifying Languages; Matching of Language Tags</a></cite>, A. Phillips, M. Davis. IETF.<dt id=refsBECSS>[BECSS]<dd><cite><a href=http://www.w3.org/TR/becss/>Behavioral Extensions to CSS</a></cite>, I. Hickson. W3C.<dt id=refsBEZIER>[BEZIER]<dd><cite>Courbes à poles</cite>, P. de Casteljau. INPI, 1959.<dt id=refsBIDI>[BIDI]<dd><cite><a href=http://www.unicode.org/reports/tr9/>UAX #9: Unicode Bidirectional Algorithm</a></cite>, M. Davis. Unicode Consortium.<dt id=refsBOCU1>[BOCU1]<dd>(Non-normative) <cite><a href=http://www.unicode.org/notes/tn6/>UTN #6: BOCU-1: MIME-Compatible Unicode Compression</a></cite>, M. Scherer, M. Davis. Unicode Consortium.<dt id
=refsCESU8>[CESU8]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr26/>UTR #26: Compatibility Encoding Scheme For UTF-16: 8-BIT (CESU-8)</a></cite>, T. Phipps. Unicode Consortium.<dt id=refsCHARMOD>[CHARMOD]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/charmod/>Character Model for the World Wide Web 1.0: Fundamentals</a></cite>, M. Dürst, F. Yergeau, R. Ishida, M. Wolf, T. Texin. W3C.<dt id=refsCLDR>[CLDR]<dd><cite><a href=http://cldr.unicode.org/>Unicode Common Locale Data Repository</a></cite>. Unicode.<dt id=refsCOMPOSITE>[COMPOSITE]<dd><cite><a href=http://dev.w3.org/fxtf/compositing/>Compositing and Blending</a></cite>. R. Cabanier, N. Andronikos. W3C.<dt id=refsCOMPUTABLE>[COMPUTABLE]<dd>(Non-normative) <cite><a href=http://www.turingarchive.org/browse.php/B/12>On computable numbers, with an application to the Entscheidungsproblem</a></cite>, A. Turing. In <cite>Proceedings of the London Mathematical Society</cite>, series 2, volume 42, page
s 230-265. London Mathematical Society, 1937.<dt id=refsCOOKIES>[COOKIES]<dd><cite><a href=http://tools.ietf.org/html/rfc6265>HTTP State Management Mechanism</a></cite>, A. Barth. IETF.<dt id=refsCP50220>[CP50220]<dd>(Non-normative) <cite><a href=http://www.iana.org/assignments/charset-reg/CP50220>CP50220</a></cite>, Y. Naruse. IANA.<dt id=refsCSP>[CSP]<dd>(Non-normative) <cite><a href=https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html>Content Security Policy</a></cite>, B. Sterne, A. Barth. W3C.<dt id=refsCSS>[CSS]<dd><cite><a href=http://www.w3.org/TR/CSS2/>Cascading Style Sheets Level 2 Revision 1</a></cite>, B. Bos, T. Çelik, I. Hickson, H. Lie. W3C.<dt id=refsCSSANIMATIONS>[CSSANIMATIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css-animations/>CSS Animations</a></cite>, D. Jackson, D. Hyatt, C. Marrin, S. Galineau, L. Baron. W3C.<dt id=refsCSSATTR>[CSSATTR]<dd><cite><a href=http://dev.w3.org/csswg/css-style-attr/>CSS
Styling Attribute Syntax</a></cite>, T. Çelik, E. Etemad. W3C.<dt id=refsCSSCOLOR>[CSSCOLOR]<dd><cite><a href=http://dev.w3.org/csswg/css-color/>CSS Color Module Level 3</a></cite>, T. Çelik, C. Lilley, L. Baron. W3C.<dt id=refsCSSFONTLOAD>[CSSFONTLOAD]<dd><cite><a href=http://dev.w3.org/csswg/css-font-loading/>CSS Font Loading</a></cite>, T. Atkins, J. Daggett. W3C.<dt id=refsCSSFONTS>[CSSFONTS]<dd><cite><a href=http://dev.w3.org/csswg/css-fonts/>CSS Fonts</a></cite>, J. Daggett. W3C.<dt id=refsCSSGC>[CSSGC]<dd><cite><a href=http://dev.w3.org/csswg/css-content>CSS Generated Content</a></cite>, H. Lie, E. Etemad, I. Hickson. W3C.<dt id=refsCSSIMAGES>[CSSIMAGES]<dd><cite><a href=http://dev.w3.org/csswg/css-images/>CSS Image Values and Replaced Content Module</a></cite>, E. Etemad, T. Atkins. W3C.<dt id=refsCSSOM>[CSSOM]<dd><cite><a href=http://dev.w3.org/csswg/cssom/>Cascading Style Sheets Object Model (CSSOM)</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSOMVIEW>[CSS
OMVIEW]<dd><cite><a href=http://dev.w3.org/csswg/cssom-view/>CSSOM View Module</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSRUBY>[CSSRUBY]<dd><cite><a href=http://dev.w3.org/csswg/css-ruby/>CSS3 Ruby Module</a></cite>, R. Ishida. W3C.<dt id=refsCSSTRANSITIONS>[CSSTRANSITIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css-transitions/>CSS Transitions</a></cite>, D. Jackson, D. Hyatt, C. Marrin, L. Baron. W3C.<dt id=refsCSSUI>[CSSUI]<dd><cite><a href=http://dev.w3.org/csswg/css-ui/>CSS3 Basic User Interface Module</a></cite>, T. Çelik. W3C.<dt id=refsCSSSCOPED>[CSSSCOPED]<dd><cite><a href=http://dev.w3.org/csswg/css-scoping/>CSS Scoping</a></cite>, T. Atkins, E. Etemad. W3C.<dt id=refsCSSSYNTAX>[CSSSYNTAX]<dd><cite><a href=http://dev.w3.org/csswg/css-syntax/>CSS Syntax</a></cite>, T. Atkins, S. Sapin. W3C.<dt id=refsCSSVALUES>[CSSVALUES]<dd><cite><a href=http://dev.w3.org/csswg/css-values/>CSS3 Values and Units</a></cite>, H. Lie, T. Atkins, E. Etemad. W
3C.<dt id=refsCSSWM>[CSSWM]<dd><cite><a href=http://dev.w3.org/csswg/css-writing-modes>CSS Writing Modes</a></cite>, E. Etemad, K. Ishii. W3C.<dt id=refsDASH>[DASH]<dd><cite><a href="http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=65274">Dynamic adaptive streaming over HTTP (DASH)</a></cite>. ISO.<dt id=refsDOM>[DOM]<dd><cite><a href=https://dom.spec.whatwg.org/>DOM</a></cite>, A. van Kesteren, A. Gregor, Ms2ger. WHATWG.<dt id=refsDOMEVENTS>[DOMEVENTS]<dd><cite><a href=https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html>Document Object Model (DOM) Level 3 Events Specification</a></cite>, G. Kacmarcik, T. Leithead, J. Rossi, D. Schepers, B. Höhrmann, P. Le Hégaret, T. Pixley. W3C.<dt id=refsDOMPARSING>[DOMPARSING]<dd><cite><a href=https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html lang=en-US>DOM Parsing and Serialization</a></cite>, T. Leithead. W3C.<dt id=refsDOT>[DOT]<dd>(Non-normative) <cite><a href=http://www.grap
hviz.org/content/dot-language>The DOT Language</a></cite>. Graphviz.<dt id=refsE163>[E163]<dd><cite>Recommendation E.163 — Numbering Plan for The International Telephone Service</cite>, CCITT Blue Book, Fascicle II.2, pp. 128-134, November 1988.<dt id=refsECMA262>[ECMA262]<dd><cite><a href=http://people.mozilla.org/~jorendorff/es6-draft.html>ECMAScript Language Specification</a></cite>. ECMA.<dt id=refsEDITING>[EDITING]<dd><cite><a href=https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html>HTML Editing APIs</a></cite>, A. Gregor. W3C Editing APIs CG.<dt id=refsENCODING>[ENCODING]<dd><cite><a href=https://encoding.spec.whatwg.org/>Encoding</a></cite>, A. van Kesteren, J. Bell. WHATWG.<dt id=refsFETCH>[FETCH]<dd><cite><a href=https://fetch.spec.whatwg.org/>Fetch</a></cite>, A. van Kesteren. WHATWG.<dt id=refsFILEAPI>[FILEAPI]<dd><cite><a href=http://dev.w3.org/2006/webapi/FileAPI/>File API</a></cite>, A. Ranganathan. W3C.<dt id=refsFULLSCREEN>[FULLSCREEN]<dd><cite><a href
=https://fullscreen.spec.whatwg.org/>Fullscreen</a></cite>, A. van Kesteren, T. Çelik. WHATWG.<dt id=refsGIF>[GIF]<dd>(Non-normative) <cite><a href=http://www.w3.org/Graphics/GIF/spec-gif89a.txt>Graphics Interchange Format</a></cite>. CompuServe.<dt id=refsGRAPHICS>[GRAPHICS]<dd>(Non-normative) <cite>Computer Graphics: Principles and Practice in C</cite>, Second Edition, J. Foley, A. van Dam, S. Feiner, J. Hughes. Addison-Wesley. ISBN 0-201-84840-6.<dt id=refsGREGORIAN>[GREGORIAN]<dd>(Non-normative) <cite>Inter Gravissimas</cite>, A. Lilius, C. Clavius. Gregory XIII Papal Bull, February 1582.<dt id=refsHRT>[HRT]<dd><cite><a href=https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/HighResolutionTime/Overview.html>High Resolution Time</a></cite>, J. Mann. W3C.<dt id=refsHTTP>[HTTP]<dd><cite><a href=http://tools.ietf.org/html/rfc7230>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.or
g/html/rfc7231>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7232>Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7233>Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a></cite>, R. Fielding, Y. Lafon, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7234>Hypertext Transfer Protocol (HTTP/1.1): Caching</a></cite>, R. Fielding, M. Nottingham, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7235>Hypertext Transfer Protocol (HTTP/1.1): Authentication</a></cite>, R. Fielding, J. Reschke. IETF.<dt id=refsIANAPERMHEADERS>[IANAPERMHEADERS]<dd><cite><a href=http://www.iana.org/assignments/message-headers/perm-headers.html>Permanent Message Header Field Names</a></cite>. IANA.<dt id=refsINBAND>[INBAND]<dd><cite><a href=http://dev.w3.org/ht
ml5/html-sourcing-inband-tracks/>Sourcing In-band Media Resource Tracks from Media Containers into HTML</a></cite>, S. Pfeiffer, B. Lund. W3C.<dt id=refsISO3166>[ISO3166]<dd><cite><a href=http://www.iso.org/iso/home/standards/country_codes.htm>ISO 3166: Codes for the representation of names of countries and their subdivisions</a></cite>. ISO.<dt id=refsISO4217>[ISO4217]<dd><cite><a href=http://www.iso.org/iso/home/standards/currency_codes.htm>ISO 4217: Codes for the representation of currencies and funds</a></cite>. ISO.<dt id=refsISO8601>[ISO8601]<dd>(Non-normative) <cite><a href="http://isotc.iso.org/livelink/livelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch&nodeid=4021199">ISO8601: Data elements and interchange formats — Information interchange — Representation of dates and times</a></cite>. ISO.<dt id=refsJLREQ>[JLREQ]<dd><cite><a href=http://www.w3.org/TR/jlreq/>Requirements for Japanese Text Layout</a></cite>. W3C.<dt id=refsJPEG>[JPEG]<dd><cite><a href=http:
//www.w3.org/Graphics/JPEG/jfif3.pdf>JPEG File Interchange Format</a></cite>, E. Hamilton.<dt id=refsJSON>[JSON]<dd><cite><a href=http://tools.ietf.org/html/rfc4627>The application/json Media Type for JavaScript Object Notation (JSON)</a></cite>, D. Crockford. IETF.<dt id=refsMAILTO>[MAILTO]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc6068>The 'mailto' URI scheme</a></cite>, M. Duerst, L. Masinter, J. Zawinski. IETF.<dt id=refsMATHML>[MATHML]<dd><cite><a href=http://www.w3.org/TR/MathML/>Mathematical Markup Language (MathML)</a></cite>, D. Carlisle, P. Ion, R. Miner, N. Poppelier. W3C.<dt id=refsMEDIAFRAG>[MEDIAFRAG]<dd><cite><a href=http://www.w3.org/2008/WebVideo/Fragments/WD-media-fragments-spec/>Media Fragments URI</a></cite>, R. Troncy, E. Mannens, S. Pfeiffer, D. Van Deursen. W3C.<dt id=refsMEDIASOURCE>[MEDIASOURCE]<dd><cite><a href=https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html>Media Source Extensions</a></cite>, A. Co
lwell, A. Bateman, M. Watson. W3C.<dt id=refsMEDIASTREAM>[MEDIASTREAM]<dd><cite><a href=http://w3c.github.io/mediacapture-main/getusermedia.html>Media Capture and Streams</a></cite>, D. Burnett, A. Bergkvist, C. Jennings, A. Narayanan. W3C.<dt id=refsMFREL>[MFREL]<dd><cite><a href=http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions>Microformats Wiki: existing rel values</a></cite>. Microformats.<dt id=refsMIMESNIFF>[MIMESNIFF]<dd><cite><a href=https://mimesniff.spec.whatwg.org/>MIME Sniffing</a></cite>, G. Hemsley. WHATWG.<dt id=refsMNG>[MNG]<dd><cite><a href=http://www.libpng.org/pub/mng/spec/>MNG (Multiple-image Network Graphics) Format</a></cite>. G. Randers-Pehrson.<dt id=refsMPEG2>[MPEG2]<dd><cite>ISO/IEC 13818-1: Information technology — Generic coding of moving pictures and associated audio information: Systems</cite>. ISO/IEC.<dt id=refsMPEG4>[MPEG4]<dd><cite>ISO/IEC 14496-12: ISO base media file format</cite>. ISO/IEC.<dt id=refsMQ>[MQ]<dd>
<cite><a href=http://drafts.csswg.org/mediaqueries/>Media Queries</a></cite>, H. Lie, T. Çelik, D. Glazman, A. van Kesteren. W3C.<dt id=refsNPAPI>[NPAPI]<dd>(Non-normative) <cite><a href=https://developer.mozilla.org/en-US/Add-ons/Plugins/Gecko_Plugin_API_Reference>Gecko Plugin API Reference</a></cite>. Mozilla.<dt id=refsOGGSKELETONHEADERS>[OGGSKELETONHEADERS]<dd><cite><a href=http://wiki.xiph.org/SkeletonHeaders>SkeletonHeaders</a></cite>. Xiph.Org.<dt id=refsOPENSEARCH>[OPENSEARCH]<dd><cite><a href=http://www.opensearch.org/Specifications/OpenSearch/1.1#Autodiscovery_in_HTML.2FXHTML>Autodiscovery in HTML/XHTML</a></cite>. In <cite>OpenSearch 1.1 Draft 4</cite>, Section 4.6.2. OpenSearch.org.<dt id=refsORIGIN>[ORIGIN]<dd><cite><a href=http://tools.ietf.org/html/rfc6454>The Web Origin Concept</a></cite>, A. Barth. IETF.<dt id=refsPAGEVIS>[PAGEVIS]<dd>(Non-normative) <cite><a href=https://w3c.github.io/web-performance/specs/PageVisibility/Overview.html>Page Visibility</a></
cite>, J. Mann, A. Jain. W3C.<dt id=refsPDF>[PDF]<dd>(Non-normative) <cite><a href=http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf>Document management — Portable document format — Part 1: PDF</a></cite>. ISO.<dt id=refsPINGBACK>[PINGBACK]<dd><cite><a href=http://www.hixie.ch/specs/pingback/pingback>Pingback 1.0</a></cite>, S. Langridge, I. Hickson.<dt id=refsPNG>[PNG]<dd><cite><a href=http://www.w3.org/TR/PNG/>Portable Network Graphics (PNG) Specification</a></cite>, D. Duce. W3C.<dt id=refsPOINTERLOCK>[POINTERLOCK]<dd><cite><a href=https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>Pointer Lock</a></cite>, V. Scheib. W3C.<dt id=refsPPUTF8>[PPUTF8]<dd>(Non-normative) <cite><a href=http://www.sw.it.aoyama.ac.jp/2012/pub/IUC11-UTF-8.pdf>The Properties and Promises of UTF-8</a></cite>, M. Dürst. University of Zürich. In <cite>Proceedings of the 11th International Unicode Conference</cite>.<dt id=refsPSL>[PSL]<dd><cite><a href=https://publicsuffix.o
rg/>Public Suffix List</a></cite>.
Mozilla Foundation.<dt id=refsRFC1034>[RFC1034]<dd><cite><a href=http://tools.ietf.org/html/rfc1034>Domain Names - Concepts and Facilities</a></cite>, P. Mockapetris. IETF, November 1987.<dt id=refsRFC1123>[RFC1123]<dd><cite><a href=http://tools.ietf.org/html/rfc1123>Requirements for Internet Hosts -- Application and Support</a></cite>, R. Braden. IETF, October 1989.<dt id=refsRFC1345>[RFC1345]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1345>Character Mnemonics and Character Sets</a></cite>, K. Simonsen. IETF.<dt id=refsRFC1468>[RFC1468]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1468>Japanese Character Encoding for Internet Messages</a></cite>, J. Murai, M. Crispin, E. van der Poel. IETF.<dt id=refsRFC1554>[RFC1554]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1554>ISO-2022-JP-2: Multilingual Extension of ISO-2022-JP</a></cite>, M. Ohta, K. Handa. IETF.<dt id=refsRFC1557>[RFC1557]<dd>(Non-normative) <cite><a href=
http://tools.ietf.org/html/rfc1557>Korean Character Encoding for Internet Messages</a></cite>, U. Choi, K. Chon, H. Park. IETF.<dt id=refsRFC1842>[RFC1842]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1842>ASCII Printable Characters-Based Chinese Character Encoding for Internet Messages</a></cite>, Y. Wei, Y. Zhang, J. Li, J. Ding, Y. Jiang. IETF.<dt id=refsRFC1922>[RFC1922]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1922>Chinese Character Encoding for Internet Messages</a></cite>, HF. Zhu, DY. Hu, ZG. Wang, TC. Kao, WCH. Chang, M. Crispin. IETF.<dt id=refsRFC2046>[RFC2046]<dd><cite><a href=http://tools.ietf.org/html/rfc2046>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</a></cite>, N. Freed, N. Borenstein. IETF.<dt id=refsRFC2119>[RFC2119]<dd><cite><a href=http://tools.ietf.org/html/rfc2119>Key words for use in RFCs to Indicate Requirement Levels</a></cite>, S. Bradner. IETF.<dt id=refsRFC2237>[RFC2237]<dd>(Non-norm
ative) <cite><a href=http://tools.ietf.org/html/rfc2237>Japanese Character Encoding for Internet Messages</a></cite>, K. Tamaru. IETF.<dt id=refsRFC3447>[RFC3447]<dd><cite><a href=http://tools.ietf.org/html/rfc3447>Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications</a></cite>, J. Jonsson, B. Kaliski. IETF.<dt id=refsRFC2318>[RFC2318]<dd><cite><a href=http://tools.ietf.org/html/rfc2318>The text/css Media Type</a></cite>, H. Lie, B. Bos, C. Lilley. IETF.<dt id=refsRFC2388>[RFC2388]<dd><cite><a href=http://tools.ietf.org/html/rfc2388>Returning Values from Forms: multipart/form-data</a></cite>, L. Masinter. IETF.<dt id=refsRFC2397>[RFC2397]<dd><cite><a href=http://tools.ietf.org/html/rfc2397>The "data" URL scheme</a></cite>, L. Masinter. IETF.<dt id=refsRFC2445>[RFC2445]<dd><cite><a href=http://tools.ietf.org/html/rfc2445>Internet Calendaring and Scheduling Core Object Specification (iCalendar)</a></cite>, F. Dawson, D. Stenerson. IETF.<dt id=refsRFC248
3>[RFC2483]<dd><cite><a href=http://tools.ietf.org/html/rfc2483>URI Resolution Services Necessary for URN Resolution</a></cite>, M. Mealling, R. Daniel. IETF.<dt id=refsRFC3279>[RFC3279]<dd><cite><a href=http://tools.ietf.org/html/rfc3279>Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</a></cite>, W. Polk, R. Housley, L. Bassham. IETF.<dt id=refsRFC3676>[RFC3676]<dd><cite><a href=http://tools.ietf.org/html/rfc3676>The Text/Plain Format and DelSp Parameters</a></cite>, R. Gellens. IETF.<dt id=refsRFC3864>[RFC3864]<dd><cite><a href=http://tools.ietf.org/html/rfc3864>Registration Procedures for Message Header Fields</a></cite>, G. Klyne, M. Nottingham, J. Mogul. IETF.<dt id=refsRFC4329>[RFC4329]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc4329>Scripting Media Types</a></cite>, B. Höhrmann. IETF.<dt id=refsRFC4337>[RFC4337]<dd>(Non-normative) <cite><a href=http://tools.ietf.
org/html/rfc4337>MIME Type Registration for MPEG-4</a></cite>, Y. Lim, D. Singer. IETF.<dt id=refsRFC4395>[RFC4395]<dd><cite><a href=http://tools.ietf.org/html/rfc4395>Guidelines and Registration Procedures for New URI Schemes</a></cite>, T. Hansen, T. Hardie, L. Masinter. IETF.<dt id=refsRFC4648>[RFC4648]<dd><cite><a href=http://tools.ietf.org/html/rfc4648>The Base16, Base32, and Base64 Data Encodings</a></cite>, S. Josefsson. IETF.<dt id=refsRFC5280>[RFC5280]<dd><cite><a href=http://tools.ietf.org/html/rfc5280>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</a></cite>, D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley, W. Polk. IETF.<dt id=refsRFC5322>[RFC5322]<dd><cite><a href=http://tools.ietf.org/html/rfc5322>Internet Message Format</a></cite>, P. Resnick. IETF.<dt id=refsRFC6381>[RFC6381]<dd><cite><a href=http://tools.ietf.org/html/rfc6381>The 'Codecs' and 'Profiles' Parameters for "Bucket" Media Types</a></ci
te>, R. Gellens, D. Singer, P. Frojdh. IETF.<dt id=refsRFC6266>[RFC6266]<dd><cite><a href=http://tools.ietf.org/html/rfc6266>Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</a></cite>, J. Reschke. IETF.<dt id=refsRFC6350>[RFC6350]<dd><cite><a href=http://tools.ietf.org/html/rfc6350>vCard Format Specification</a></cite>, S. Perreault. IETF.<dt id=refsRFC7303>[RFC7303]<dd><cite><a href=http://tools.ietf.org/html/rfc7303>XML Media Types</a></cite>, H. Thompson, C. Lilley. IETF.<dt id=refsSCSU>[SCSU]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr6/>UTR #6: A Standard Compression Scheme For Unicode</a></cite>, M. Wolf, K. Whistler, C. Wicksteed, M. Davis, A. Freytag, M. Scherer. Unicode Consortium.<dt id=refsSELECTORS>[SELECTORS]<dd><cite><a href=http://dev.w3.org/csswg/selectors/>Selectors</a></cite>, E. Etemad, T. Çelik, D. Glazman, I. Hickson, P. Linss, J. Williams. W3C.<dt id=refsSMS>[SMS]<dd>(Non-normative) <cite><a
href=http://tools.ietf.org/html/rfc5724>URI Scheme for Global System for Mobile Communications (GSM) Short Message Service (SMS)</a></cite>, E. Wilde, A. Vaha-Sipila. IETF.<dt id=refsSRGB>[SRGB]<dd><cite lang=en-GB><a href="http://webstore.iec.ch/webstore/webstore.nsf/artnum/025408!OpenDocument&Click=">IEC 61966-2-1: Multimedia systems and equipment — Colour measurement and management — Part 2-1: Colour management — Default RGB colour space — sRGB</a></cite>. IEC.<dt id=refsSVG>[SVG]<dd><cite><a href=http://www.w3.org/TR/SVGTiny12/>Scalable Vector Graphics (SVG) Tiny 1.2 Specification</a></cite>, O. Andersson, R. Berjon, E. Dahlström, A. Emmons, J. Ferraiolo, A. Grasso, V. Hardy, S. Hayman, D. Jackson, C. Lilley, C. McCormack, A. Neumann, C. Northway, A. Quint, N. Ramani, D. Schepers, A. Shellshear. W3C.<dt id=refsTOR>[TOR]<dd>(Non-normative) <cite><a href=https://www.torproject.org/>Tor</a></cite>.<dt id=refsTOUCH>[TOUCH]<dd><cite><a href=https://dvcs.w3.org/hg
/webevents/raw-file/v1/touchevents.html>Touch Events</a></cite>, D. Schepers, S. Moon, M. Brubeck, A. Barstow. W3C.<dt id=refsTZDATABASE>[TZDATABASE]<dd>(Non-normative) <cite><a href=http://www.iana.org/time-zones>Time Zone Database</a></cite>. IANA.<dt id=refsUAAG>[UAAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/UAAG20/>User Agent Accessibility Guidelines (UAAG) 2.0</a></cite>, J. Allan, K. Ford, J. Richards, J. Spellman. W3C.<dt id=refsUCA>[UCA]<dd><cite><a href=http://www.unicode.org/reports/tr10/>UTR #10: Unicode Collation Algorithm</a></cite>, M. Davis, K. Whistler. Unicode Consortium.<dt id=refsUNICODE>[UNICODE]<dd><cite><a href=http://www.unicode.org/versions/>The Unicode Standard</a></cite>. Unicode Consortium.<dt id=refsUNIVCHARDET>[UNIVCHARDET]<dd>(Non-normative) <cite><a href=http://www-archive.mozilla.org/projects/intl/UniversalCharsetDetection.html>A composite approach to language/encoding detection</a></cite>, S. Li, K. Momoi. Netscape. In <cite>Pro
ceedings of the 19th International Unicode Conference</cite>.<dt id=refsURL>[URL]<dd><cite><a href=https://url.spec.whatwg.org/>URL</a></cite>, A. van Kesteren. WHATWG.<dt id=refsURN>[URN]<dd><cite><a href=http://tools.ietf.org/html/rfc2141>URN Syntax</a></cite>, R. Moats. IETF.<dt id=refsUTF7>[UTF7]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc2152>UTF-7: A Mail-Safe Transformation Format of Unicode</a></cite>, D. Goldsmith, M. Davis. IETF.<dt id=refsUTF8DET>[UTF8DET]<dd>(Non-normative) <cite><a href=http://www.w3.org/International/questions/qa-forms-utf-8>Multilingual form encoding</a></cite>, M. Dürst. W3C.<dt id=refsUTR36>[UTR36]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr36/>UTR #36: Unicode Security Considerations</a></cite>, M. Davis, M. Suignard. Unicode Consortium.<dt id=refsWCAG>[WCAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/WCAG20/>Web Content Accessibility Guidelines (WCAG) 2.0</a></cite>, B. Caldwell, M. Co
oper, L. Reid, G. Vanderheiden. W3C.<dt id=refsWEBGL>[WEBGL]<dd><cite><a href=http://www.khronos.org/registry/webgl/specs/latest/>WebGL Specification</a></cite>, D. Jackson. Khronos Group.<dt id=refsWEBIDL>[WEBIDL]<dd><cite><a href=http://dev.w3.org/2006/webapi/WebIDL/>Web IDL</a></cite>, C. McCormack. W3C.<dt id=refsWEBLINK>[WEBLINK]<dd><cite><a href=http://tools.ietf.org/html/rfc5988>Web Linking</a></cite>, M. Nottingham. IETF.<dt id=refsWEBMCG>[WEBMCG]<dd><cite><a href=http://www.webmproject.org/code/specs/container/>WebM Container Guidelines</a></cite>. The WebM Project.<dt id=refsWEBVTT>[WEBVTT]<dd><cite><a href=http://dev.w3.org/html5/webvtt/>WebVTT</a></cite>, I. Hickson. W3C.<dt id=refsWHATWGWIKI>[WHATWGWIKI]<dd><cite><a href=https://wiki.whatwg.org/>The WHATWG Wiki</a></cite>. WHATWG.<dt id=refsWSP>[WSP]<dd><cite><a href=http://tools.ietf.org/html/rfc6455>The WebSocket protocol</a></cite>, I. Fette, A. Melnikov. IETF.<dt id=refsX121>[X121]<dd><cite>Recommendation X.
121 — International Numbering Plan for Public Data Networks</cite>, CCITT Blue Book, Fascicle VIII.3, pp. 317-332.<dt id=refsX690>[X690]<dd><cite><a href=http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf>Recommendation X.690 — Information Technology — ASN.1 Encoding Rules — Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER), and Distinguished Encoding Rules (DER)</a></cite>. International Telecommunication Union.<dt id=refsXFN>[XFN]<dd><cite><a href=http://gmpg.org/xfn/11>XFN 1.1 profile</a></cite>, T. Çelik, M. Mullenweg, E. Meyer. GMPG.<dt id=refsXHR>[XHR]<dd><cite><a href=https://xhr.spec.whatwg.org/><code>XMLHttpRequest</code></a></cite>, A. van Kesteren. WHATWG.<dt id=refsXML>[XML]<dd><cite><a href=http://www.w3.org/TR/xml/>Extensible Markup Language</a></cite>, T. Bray, J. Paoli, C. Sperberg-McQueen, E. Maler, F. Yergeau. W3C.<dt id=refsXMLBASE>[XMLBASE]<dd><cite><a href=http://www.w3.org/TR/xmlbase/>XML Base</a></cit
e>, J. Marsh, R. Tobin. W3C.<dt id=refsXMLNS>[XMLNS]<dd><cite><a href=http://www.w3.org/TR/xml-names/>Namespaces in XML</a></cite>, T. Bray, D. Hollander, A. Layman, R. Tobin. W3C.<dt id=refsXMLSSPI>[XMLSSPI]<dd><cite><a href=http://www.w3.org/TR/xml-stylesheet/>Associating Style Sheets with XML documents</a></cite>, J. Clark, S. Pieters, H. Thompson. W3C.<dt id=refsXPATH10>[XPATH10]<dd><cite><a href=http://www.w3.org/TR/1999/REC-xpath-19991116/>XML Path Language (XPath) Version 1.0</a></cite>, J. Clark, S. DeRose. W3C.<dt id=refsXSLT10>[XSLT10]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/1999/REC-xslt-19991116>XSL Transformations (XSLT) Version 1.0</a></cite>, J. Clark. W3C.</dl>
Modified: source
===================================================================
--- source 2014-11-12 19:34:25 UTC (rev 8848)
+++ source 2014-11-19 21:56:43 UTC (rev 8849)
@@ -3131,6 +3131,11 @@
<li>The <dfn>fully exit fullscreen</dfn> algorithm</li>
</ul>
+ <p>The <cite>High Resolution Time</cite> specification provides the
+ <dfn><code>Performance</code></dfn> object's <dfn><code data-x="dom-Performance-now"
+ data-x-href="http://www.w3.org/TR/hr-time/#dom-performance-now">now()</code></dfn> method. <ref
+ spec=HRT></p>
+
</dd>
@@ -77719,6 +77724,9 @@
void <span data-x="dom-print">print</span>();
any <span data-x="dom-showModalDialog">showModalDialog</span>(DOMString url, optional any argument<!--, optional DOMString features-->); // deprecated
+ long <span data-x="dom-window-requestAnimationFrame">requestAnimationFrame</span>(<span>FrameRequestCallback</span> callback);
+ void <span data-x="dom-window-cancelAnimationFrame">cancelAnimationFrame</span>(long handle);
+
void <span data-x="dom-window-postMessage">postMessage</span>(any message, DOMString targetOrigin, optional sequence<<span>Transferable</span>> transfer);
};
<span>Window</span> implements <span>GlobalEventHandlers</span>;
@@ -85102,14 +85110,17 @@
<h6>Runtime script errors in documents</h6>
- <p>Whenever an uncaught runtime script error occurs in one of the scripts associated with a
- <code>Document</code>, the user agent must <span>report the error</span> for the relevant <span
+ <p>When the user agent is to <dfn data-x="report the exception">report an exception</dfn>
+ <var>E</var>, the user agent must <span>report the error</span> for the relevant <span
data-x="concept-script">script</span>, with the problematic position (line number and column
number) in the resource containing the script, using the <span>global object</span> specified by
the script's <span>settings object</span> as the target. If the error is still <i
data-x="concept-error-nothandled">not handled</i> after this, then the error may be reported to
the user.</p>
+ <p>When an exception is thrown during the execution of one of the scripts associated with a
+ <code>Document</code>, and the exception is not caught, the user agent must <span>report the
+ exception</span>.</p>
<h6>The <code>ErrorEvent</code> interface</h6>
@@ -85296,7 +85307,7 @@
agent must release the <span>storage mutex</span>.</p>
- <h5>Processing model</h5>
+ <h5>Processing model</h5> <!-- EVENT LOOP -->
<p>An <span>event loop</span> must continually run through the following steps for as long as it
exists:</p>
@@ -85337,20 +85348,76 @@
<p><i>Update the rendering</i>: If this <span>event loop</span> is a <span>browsing
context</span> <span>event loop</span> (as opposed to a <a href="#workers">worker</a>
- <span>event loop</span>), then, if necessary, run the following steps.</p>
+ <span>event loop</span>), then, if necessary, run the following substeps.</p>
+ <p class="note">Whether these steps are necessary depends on the update frequency. For example,
+ if the browser is attempting to achieve a 60 Hz refresh rate, then these steps are only
+ necessary every 60th of a second (about 16.7ms). If the browser finds that the page is not able
+ to sustain this rate, it might drop to a more sustainable 30Hz, rather than occasionally
+ dropping frames. This specification does not mandate any particular model for when to update the
+ rendering.</p>
+
<ol>
- <li><p>Update the rendering or user interface of any <code>Document</code> or <span>browsing
- context</span> to reflect the current state.</p></li>
+ <li><p>Let <var>now</var> be the value that would be returned by the <code>Performance</code>
+ object's <code data-x="dom-Performance-now">now()</code> method. <ref spec=HRT></p>
+ <li>
+
+ <p>Let <var>docs</var> be the list of <code>Document</code> objects associated with the
+ <span>event loop</span> in question, sorted arbitrarily except that the following conditions
+ must be met:</p>
+
+ <ul>
+
+ <li><p>Any <code>Document</code> <var>B</var> that is <span>nested through</span> a
+ <code>Document</code> <var>A</var> must be listed after <var>A</var> in the list.</p></li>
+
+ <li><p>If there are two documents <var>A</var> and <var>B</var> whose <span data-x="browsing
+ context">browsing contexts</span> are both <span data-x="nested browsing context">nested
+ browsing contexts</span> and their <span data-x="browsing context container">browsing context
+ containers</span> are both elements in the same <code>Document</code> <var>C</var>, then the
+ order of <var>A</var> and <var>B</var> in the list must match the relative <span>tree
+ order</span> of their respective <span data-x="browsing context container">browsing context
+ containers</span> in <var>C</var>.</p></li>
+
+ </ul>
+
+ <p>In the steps below that iterate over <var>docs</var>, each <code>Document</code> must be
+ processed in the order it is found in the list.</p>
+
+ </li>
+
+ <li><p>For each <code>Document</code> in <var>docs</var>, <dfn>run the resize steps</dfn> for
+ that <code>Document</code>, passing in <var>now</var> as the timestamp. <ref
+ spec="CSSOMVIEW"/></p></li>
+
+ <li><p>For each <code>Document</code> in <var>docs</var>, <dfn>run the scroll steps</dfn> for
+ that <code>Document</code>, passing in <var>now</var> as the timestamp. <ref
+ spec="CSSOMVIEW"/></p></li>
+
+ <li><p>For each <code>Document</code> in <var>docs</var>, <dfn>evaluate media queries and
+ report changes</dfn> for that <code>Document</code>, passing in <var>now</var> as the
+ timestamp. <ref spec="CSSOMVIEW"/></p></li>
+
+ <li><p>For each <code>Document</code> in <var>docs</var>, <dfn>run CSS animations and send
+ events</dfn> for that <code>Document</code>, passing in <var>now</var> as the timestamp. <ref
+ spec="CSSANIMATIONS"/></p></li>
+
+ <li><p>For each <code>Document</code> in <var>docs</var>, <dfn>run the fullscreen rendering
+ steps</dfn> for that <code>Document</code>, passing in <var>now</var> as the timestamp. <ref
+ spec="FULLSCREEN"/></p></li>
+
+ <li><p>For each <code>Document</code> in <var>docs</var>, <span>run the animation frame
+ callbacks</span> for that <code>Document</code>, passing in <var>now</var> as the
+ timestamp.</p></li>
+
+ <li><p>For each <code>Document</code> in <var>docs</var>, update the rendering or user
+ interface of that <code>Document</code> and its <span>browsing context</span> to reflect the
+ current state.</p></li>
+
</ol>
- <p class="note">Whether these steps are necessary depends on the update frequency. For example,
- if the browser is attempting to achieve a 60 Hz refresh rate, then these steps are only
- necessary every 60th of a second (about 16.7ms). This specification does not mandate any
- particular model for when to update the rendering.</p>
-
</li>
<li><p>If this is a <a href="#workers">worker</a> <span>event loop</span> (i.e. one running for a
@@ -89860,6 +89927,70 @@
<!--TOPIC:DOM APIs-->
+ <h3>Animation Frames</h3>
+
+ <p>Each <code>Document</code> has a <dfn>list of animation frame callbacks</dfn>, which must be
+ initially empty, and an <dfn>animation frame callback identifier</dfn>, which is a number which
+ must initially be zero.</p>
+
+ <p>When the <dfn><code
+ data-x="dom-window-requestAnimationFrame">requestAnimationFrame()</code></dfn> method is called,
+ the user agent must run the following steps:</p>
+
+ <ol>
+
+ <li><p>Let <var>document</var> be <span data-x="concept-document-window">the
+ <code>Window</code> object's <code>Document</code> object</span>.</p></li>
+
+ <li><p>Increment <var>document</var>'s <span>animation frame callback identifier</span> by
+ one.</p></li>
+
+ <li><p>Append the method's argument to <var>document</var>'s <span>list of animation frame
+ callbacks</span>, associated with <var>document</var>'s <span>animation frame callback
+ identifier</span>'s current value.</p></li>
+
+ <li><p>Return <var>document</var>'s <span>animation frame callback identifier</span>'s current
+ value.</p></li>
+
+ </ol>
+
+ <p>When the <dfn><code
+ data-x="dom-window-cancelAnimationFrame">cancelAnimationFrame()</code></dfn> method is called,
+ the user agent must run the following steps:</p>
+
+ <ol>
+
+ <li><p>Let <var>document</var> be <span data-x="concept-document-window">the
+ <code>Window</code> object's <code>Document</code> object</span>.</p></li>
+
+ <li><p>Find the entry in <var>document</var>'s <span>list of animation frame callbacks</span>
+ that is associated with the value given by the method's argument.</p></li>
+
+ <li><p>If there is such an entry, remove it from <var>document</var>'s <span>list of animation
+ frame callbacks</span>.</p></li>
+
+ </ol>
+
+ <p>When the user agent is to <dfn>run the animation frame callbacks</dfn> for a
+ <code>Document</code> <var>doc</var> with a timestamp <var>now</var>, it must run the following
+ steps:</p>
+
+ <ol>
+
+ <li><p>Let <var>callbacks</var> be a list of the entries in <var>doc</var>'s <span>list of
+ animation frame callbacks</span>, in the order in which they were added to the list.</p></li>
+
+ <li><p>Set <var>doc</var>'s <span>list of animation frame callbacks</span> to the empty
+ list.</p></li>
+
+ <li><p>For each entry in <var>callbacks</var>, in order: invoke the callback, passing
+ <var>now</var> as the only argument, and if an exception is thrown, <span>report the
+ exception</span>. <ref spec=WEBIDL></p></li>
+
+ </ol>
+
+
+
<h2 split-filename="comms" id="comms">Communication</h2>
<h3>The <code>MessageEvent</code> interfaces</h3>
@@ -115862,6 +115993,10 @@
<dt id="refsHPAAIG">[HPAAIG]</dt>
<dd><cite><a href="http://dev.w3.org/html5/html-api-map/overview.html">HTML to Platform Accessibility APIs Implementation Guide</a></cite>. W3C.</dd>
+ <dt id="refsHRT">[HRT]</dt>
+ <dd><cite><a href="https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/HighResolutionTime/Overview.html">High Resolution Time</a></cite>, J. Mann. W3C.</dd>
+ <!-- or http://www.w3.org/TR/hr-time/ ? it's highly unclear what URL is the one that would have the latest changes -->
+
<dt id="refsHTML">[HTML]</dt>
<dd><cite><a href="https://html.spec.whatwg.org/">HTML</a></cite>, I. Hickson. WHATWG.</dd>
More information about the Commit-Watchers
mailing list