- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 19 Oct 2010 21:37:16 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/html-device
In directory hutz:/tmp/cvs-serv32223
Modified Files:
Overview.html
Log Message:
Overview.html
Index: Overview.html
===================================================================
RCS file: /sources/public/html5/html-device/Overview.html,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -d -r1.61 -r1.62
--- Overview.html 15 Oct 2010 21:29:17 -0000 1.61
+++ Overview.html 19 Oct 2010 21:37:14 -0000 1.62
@@ -1,621 +1,16 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"><!-- when publishing, change bits marked ZZZ --><html lang="en-US-x-Hixie"><title>HTML Device</title><style type="text/css">
- pre { margin-left: 2em; white-space: pre-wrap; }
- h2 { margin: 3em 0 1em 0; }
- h3 { margin: 2.5em 0 1em 0; }
- h4 { margin: 2.5em 0 0.75em 0; }
- h5, h6 { margin: 2.5em 0 1em; }
- h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
- h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
- p { margin: 1em 0; }
- hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
- dl, dd { margin-top: 0; margin-bottom: 0; }
- dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
- dt + dt { margin-top: 0; }
- dd dt { margin-top: 0.25em; margin-bottom: 0; }
- dd p { margin-top: 0; }
- dd dl + p { margin-top: 1em; }
- dd table + p { margin-top: 1em; }
- p + * > li, dd li { margin: 1em 0; }
- dt, dfn { font-weight: bold; font-style: normal; }
- dt dfn { font-style: italic; }
- pre, code { font-size: inherit; font-family: monospace; font-variant: normal; }
- pre strong { color: black; font: inherit; font-weight: bold; background: yellow; }
- pre em { font-weight: bolder; font-style: normal; }
- @media screen { code { color: orangered; } code :link, code :visited { color: inherit; } }
- var sub { vertical-align: bottom; font-size: smaller; position: relative; top: 0.1em; }
- table { border-collapse: collapse; border-style: hidden hidden none hidden; }
- table thead, table tbody { border-bottom: solid; }
- table tbody th:first-child { border-left: solid; }
- table tbody th { text-align: left; }
- table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
- blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }
-
- .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
- .matrix, .matrix td { border: none; text-align: right; }
- .matrix { margin-left: 2em; }
- .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
- .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
- .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
-
- .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
- img.extra { float: right; }
- pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
- pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
- pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
- pre.css:first-line { color: #AAAA50; }
- dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #DDFFDD; }
- hr + dl.domintro, div.impl + dl.domintro { margin-top: 2.5em; margin-bottom: 1.5em; }
- dl.domintro dt, dl.domintro dt * { color: black; text-decoration: none; }
- dl.domintro dd { margin: 0.5em 0 1em 2em; padding: 0; }
- dl.domintro dd p { margin: 0.5em 0; }
- dl.switch { padding-left: 2em; }
- dl.switch > dt { text-indent: -1.5em; }
- dl.switch > dt:before { content: '\21AA'; padding: 0 0.5em 0 0; display: inline-block; width: 1em; text-align: right; line-height: 0.5em; }
- dl.triple { padding: 0 0 0 1em; }
- dl.triple dt, dl.triple dd { margin: 0; display: inline }
- dl.triple dt:after { content: ':'; }
- dl.triple dd:after { content: '\A'; white-space: pre; }
- .diff-old { text-decoration: line-through; color: silver; background: transparent; }
- .diff-chg, .diff-new { text-decoration: underline; color: green; background: transparent; }
- a .diff-new { border-bottom: 1px blue solid; }
-
- h2 { page-break-before: always; }
- h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
- h1 + h2, hr + h2.no-toc { page-break-before: auto; }
-
- p > span:not([title=""]):not([class="XXX"]):not([class="impl"]):not([class="note"]),
- li > span:not([title=""]):not([class="XXX"]):not([class="impl"]):not([class="note"]), { border-bottom: solid #9999CC; }
-
- div.head { margin: 0 0 1em; padding: 1em 0 0 0; }
- div.head p { margin: 0; }
- div.head h1 { margin: 0; }
- div.head .logo { float: right; margin: 0 1em; }
- div.head .logo img { border: none } /* remove border from top image */
- div.head dl { margin: 1em 0; }
- div.head p.copyright, div.head p.alt { font-size: x-small; font-style: oblique; margin: 0; }
-
- body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
- body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
- body > .toc > li > * { margin-bottom: 0.5em; }
- body > .toc > li > * > li > * { margin-bottom: 0.25em; }
- .toc, .toc li { list-style: none; }
-
- .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
- .brief li { margin: 0; padding: 0; }
- .brief li p { margin: 0; padding: 0; }
-
- .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
- .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
- .category-list li { display: inline; }
- .category-list li:not(:last-child)::after { content: ', '; }
- .category-list li > span, .category-list li > a { text-transform: lowercase; }
- .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */
-
- .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
- .XXX > :first-child { margin-top: 0; }
- p .XXX { line-height: 3em; }
- .annotation { border: solid thin black; background: #0C479D; color: white; position: relative; margin: 8px 0 20px 0; }
- .annotation:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 6px -6px -6px 6px; background: #333333; z-index: -1; content: ''; }
- .annotation :link, .annotation :visited { color: inherit; }
- .annotation :link:hover, .annotation :visited:hover { background: transparent; }
- .annotation span { border: none ! important; }
- .note { color: green; background: transparent; font-family: sans-serif; }
- .warning { color: red; background: transparent; }
- .note, .warning { font-weight: bolder; font-style: italic; }
- p.note, div.note { padding: 0.5em 2em; }
- span.note { padding: 0 2em; }
- .note p:first-child, .warning p:first-child { margin-top: 0; }
- .note p:last-child, .warning p:last-child { margin-bottom: 0; }
- .warning:before { font-style: normal; }
- p.note:before { content: 'Note: '; }
- p.warning:before { content: '\26A0 Warning! '; }
-
- .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
- .bookkeeping { font-size: 0.8em; margin: 2em 0; }
- .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
- .bookkeeping dt { margin: 0.5em 2em 0; }
- .bookkeeping dd { margin: 0 3em 0.5em; }
-
- h4 { position: relative; z-index: 3; }
- h4 + .element, h4 + div + .element { margin-top: -2.5em; padding-top: 2em; }
- .element {
- background: #EEEEFF;
- color: black;
- margin: 0 0 1em 0.15em;
- padding: 0 1em 0.25em 0.75em;
- border-left: solid #9999FF 0.25em;
- position: relative;
- z-index: 1;
- }
- .element:before {
- position: absolute;
- z-index: 2;
- top: 0;
- left: -1.15em;
- height: 2em;
- width: 0.9em;
- background: #EEEEFF;
- content: ' ';
- border-style: none none solid solid;
- border-color: #9999FF;
- border-width: 0.25em;
- }
-
- .example { display: block; color: #222222; background: #FCFCFC; border-left: double; margin-left: 2em; padding-left: 1em; }
- td > .example:only-child { margin: 0 0 0 0.1em; }
-
- ul.domTree, ul.domTree ul { padding: 0 0 0 1em; margin: 0; }
- ul.domTree li { padding: 0; margin: 0; list-style: none; position: relative; }
- ul.domTree li li { list-style: none; }
- ul.domTree li:first-child::before { position: absolute; top: 0; height: 0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
- ul.domTree li:not(:last-child)::after { position: absolute; top: 0; bottom: -0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
- ul.domTree span { font-style: italic; font-family: serif; }
- ul.domTree .t1 code { color: purple; font-weight: bold; }
- ul.domTree .t2 { font-style: normal; font-family: monospace; }
- ul.domTree .t2 .name { color: black; font-weight: bold; }
- ul.domTree .t2 .value { color: blue; font-weight: normal; }
- ul.domTree .t3 code, .domTree .t4 code, .domTree .t5 code { color: gray; }
- ul.domTree .t7 code, .domTree .t8 code { color: green; }
- ul.domTree .t10 code { color: teal; }
-
- body.dfnEnabled dfn { cursor: pointer; }
- .dfnPanel {
- display: inline;
- position: absolute;
- z-index: 10;
- height: auto;
- width: auto;
- padding: 0.5em 0.75em;
- font: small sans-serif, Droid Sans Fallback;
- background: #DDDDDD;
- color: black;
- border: outset 0.2em;
- }
- .dfnPanel * { margin: 0; padding: 0; font: inherit; text-indent: 0; }
- .dfnPanel :link, .dfnPanel :visited { color: black; }
- .dfnPanel p { font-weight: bolder; }
- .dfnPanel * + p { margin-top: 0.25em; }
- .dfnPanel li { list-style-position: inside; }
-
- #configUI { position: absolute; z-index: 20; top: 10em; right: 1em; width: 11em; font-size: small; }
- #configUI p { margin: 0.5em 0; padding: 0.3em; background: #EEEEEE; color: black; border: inset thin; }
- #configUI p label { display: block; }
- #configUI #updateUI, #configUI .loginUI { text-align: center; }
- #configUI input[type=button] { display: block; margin: auto; }
-
- fieldset { margin: 1em; }
- fieldset > legend * + { margin-top: 0; }
- fieldset > :last-child { margin-bottom: 0; }
-
- </style><style type="text/css">
-
- .applies thead th > * { display: block; }
- .applies thead code { display: block; }
- .applies tbody th { whitespace: nowrap; }
- .applies td { text-align: center; }
- .applies .yes { background: yellow; }
-
- .matrix, .matrix td { border: hidden; text-align: right; }
- .matrix { margin-left: 2em; }
-
- .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
- .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
- .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
-
- td.eg { border-width: thin; text-align: center; }
-
- #table-example-1 { border: solid thin; border-collapse: collapse; margin-left: 3em; }
- #table-example-1 * { font-family: "Essays1743", serif; line-height: 1.01em; }
- #table-example-1 caption { padding-bottom: 0.5em; }
- #table-example-1 thead, #table-example-1 tbody { border: none; }
- #table-example-1 th, #table-example-1 td { border: solid thin; }
- #table-example-1 th { font-weight: normal; }
- #table-example-1 td { border-style: none solid; vertical-align: top; }
- #table-example-1 th { padding: 0.5em; vertical-align: middle; text-align: center; }
- #table-example-1 tbody tr:first-child td { padding-top: 0.5em; }
- #table-example-1 tbody tr:last-child td { padding-bottom: 1.5em; }
- #table-example-1 tbody td:first-child { padding-left: 2.5em; padding-right: 0; width: 9em; }
- #table-example-1 tbody td:first-child::after { content: leader(". "); }
- #table-example-1 tbody td { padding-left: 2em; padding-right: 2em; }
- #table-example-1 tbody td:first-child + td { width: 10em; }
- #table-example-1 tbody td:first-child + td ~ td { width: 2.5em; }
- #table-example-1 tbody td:first-child + td + td + td ~ td { width: 1.25em; }
-
- .apple-table-examples { border: none; border-collapse: separate; border-spacing: 1.5em 0em; width: 40em; margin-left: 3em; }
- .apple-table-examples * { font-family: "Times", serif; }
- .apple-table-examples td, .apple-table-examples th { border: none; white-space: nowrap; padding-top: 0; padding-bottom: 0; }
- .apple-table-examples tbody th:first-child { border-left: none; width: 100%; }
- .apple-table-examples thead th:first-child ~ th { font-size: smaller; font-weight: bolder; border-bottom: solid 2px; text-align: center; }
- .apple-table-examples tbody th::after, .apple-table-examples tfoot th::after { content: leader(". ") }
- .apple-table-examples tbody th, .apple-table-examples tfoot th { font: inherit; text-align: left; }
- .apple-table-examples td { text-align: right; vertical-align: top; }
- .apple-table-examples.e1 tbody tr:last-child td { border-bottom: solid 1px; }
- .apple-table-examples.e1 tbody + tbody tr:last-child td { border-bottom: double 3px; }
- .apple-table-examples.e2 th[scope=row] { padding-left: 1em; }
- .apple-table-examples sup { line-height: 0; }
-
- .details-example img { vertical-align: top; }
-
- #named-character-references-table {
- white-space: nowrap;
- font-size: 0.6em;
- column-width: 30em;
- column-gap: 1em;
- -moz-column-width: 30em;
- -moz-column-gap: 1em;
- -webkit-column-width: 30em;
- -webkit-column-gap: 1em;
- }
- #named-character-references-table > table > tbody > tr > td:first-child + td,
- #named-character-references-table > table > tbody > tr > td:last-child { text-align: center; }
- #named-character-references-table > table > tbody > tr > td:last-child:hover > span { position: absolute; top: auto; left: auto; margin-left: 0.5em; line-height: 1.2; font-size: 5em; border: outset; padding: 0.25em 0.5em; background: white; width: 1.25em; height: auto; text-align: center; }
- #named-character-references-table > table > tbody > tr#entity-CounterClockwiseContourIntegral > td:first-child { font-size: 0.5em; }
-
- .glyph.control { color: red; }
-
- @font-face {
- font-family: 'Essays1743';
- src: url('http://www.whatwg.org/specs/web-apps/current-work/fonts/Essays1743.ttf');
- }
- @font-face {
- font-family: 'Essays1743';
- font-weight: bold;
- src: url('http://www.whatwg.org/specs/web-apps/current-work/fonts/Essays1743-Bold.ttf');
- }
- @font-face {
- font-family: 'Essays1743';
- font-style: italic;
- src: url('http://www.whatwg.org/specs/web-apps/current-work/fonts/Essays1743-Italic.ttf');
- }
- @font-face {
- font-family: 'Essays1743';
- font-style: italic;
- font-weight: bold;
- src: url('http://www.whatwg.org/specs/web-apps/current-work/fonts/Essays1743-BoldItalic.ttf');
- }
-
- </style><style type="text/css">
- .domintro:before { display: table; margin: -1em -0.5em -0.5em auto; width: auto; content: 'This box is non-normative. Implementation requirements are given below this box.'; color: black; font-style: italic; border: solid 2px; background: white; padding: 0 0.25em; }
- </style><link href="data:text/css," id="complete" rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20{%20display:%20none;%20}%0Ahtml%20{%20border:%20solid%20yellow;%20}%20.domintro:before%20{%20display:%20none;%20}" id="author" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20{%20background:%20%23FFEEEE;%20}%20.domintro:before%20{%20background:%20%23FFEEEE;%20}" id="highlight" rel="alternate stylesheet" title="Highlight implementation requirements"><script type="text/javascript">
- function getCookie(name) {
- var params = location.search.substr(1).split("&");
- for (var index = 0; index < params.length; index++) {
- if (params[index] == name)
- return "1";
- var data = params[index].split("=");
- if (data[0] == name)
- return unescape(data[1]);
- }
- var cookies = document.cookie.split("; ");
- for (var index = 0; index < cookies.length; index++) {
- var data = cookies[index].split("=");
- if (data[0] == name)
- return unescape(data[1]);
- }
- return null;
- }
- function load(script) {
- var e = document.createElement('script');
- e.setAttribute('src', 'http://www.whatwg.org/specs/web-apps/current-work/' + script + '?' + encodeURIComponent(location) + '&' + encodeURIComponent(document.referrer));
- document.body.appendChild(e);
- }
- function init() {
- if (location.search == '?slow-browser')
- return;
- var configUI = document.createElement('div');
- configUI.id = 'configUI';
- document.body.appendChild(configUI);
- // load('reviewer.js'); // would need cross-site XHR
- if (document.getElementById('head'))
- load('toc.js');
- load('styler.js');
- // load('updater.js'); // would need cross-site XHR
- load('dfn.js');
- // load('status.js'); // would need cross-site XHR
- if (getCookie('profile') == '1')
- document.getElementsByTagName('h2')[0].textContent += '; load: ' + (new Date() - loadTimer) + 'ms';
- fixBrokenLink();
- }
- </script><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><body onload="init()"><div class="head" id="head">
- <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html lang="en-US-x-Hixie">
+ <head>
+ <title>HTML Device</title>
+ <link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED">
+ <meta http-equiv="Refresh" content="0,URL=http://www.whatwg.org/specs/web-apps/current-work/complete/#devices">
+ </head>
+ <body>
+ <div class="head" id="head">
<h1>HTML Device</h1>
- <h2 class="no-num no-toc" id="an-addition-to-html">An addition to HTML</h2>
- <h2 class="no-num no-toc" id="editor-s-draft-15-october-2010">Editor's Draft 15 October 2010</h2>
- <dl><dt>Latest Published Version:</dt>
- <dd><a href="http://www.w3.org/TR/html-device/">http://www.w3.org/TR/html-device/</a></dd>
- <dt>Latest Editor's Draft:</dt>
- <dd><a class="latest-link" href="http://dev.w3.org/html5/html-device/">http://dev.w3.org/html5/html-device/</a></dd>
-<!-- ZZZ: add the new version after it has shipped -->
-<!--
- <dt>Previous Versions:</dt>
--->
-<!-- :ZZZ -->
- <dt>Editors:</dt>
- <dd><a href="mailto:ian@hixie.ch">Ian Hickson</a>, Google, Inc.</dd>
- </dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
- © 2010 <a href="http://www.w3.org/"><abbr title="World Wide
- Web Consortium">W3C</abbr></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts
- Institute of Technology">MIT</abbr></a>, <a href="http://www.ercim.org/"><abbr title="European Research
- Consortium for Informatics and Mathematics">ERCIM</abbr></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C
- <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
- <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
- and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document
- use</a> rules apply.</p>
-
-
- <!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST -->
- <p class="alt">The bulk of the text of this specification is also
- available in the WHATWG <a href="http://www.whatwg.org/specs/web-apps/current-work/complete.html#devices">Web Applications 1.0</a> specification, under a license that permits
- reuse of the specification text.</p>
- <!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST -->
-
-
- </div><hr class="top"><h2 class="no-num no-toc" id="abstract">Abstract</h2><p>This specification defines the HTML <code><a href="#devices">device</a></code> element,
- to enable video conferencing from HTML applications.<h2 class="no-num no-toc" id="status-of-this-document">Status of This document</h2><!-- intro boilerplate (required) --><p><em>This section describes the status of this document at the
- time of its publication. Other documents may supersede this
- document. A list of current W3C publications and the most recently
- formally published revision of this technical report can be found in
- the <a href="http://www.w3.org/TR/">W3C technical reports index</a>
- at http://www.w3.org/TR/.</em></p><!-- where to send feedback (required) --><p>If you wish to make comments regarding this document, please send
- them to <a href="mailto:public-html-comments@w3.org">public-html-comments@w3.org</a>
- (<a href="mailto:public-html-comments-request@w3.org?subject=subscribe">subscribe</a>,
- <a href="http://lists.w3.org/Archives/Public/public-html-comments/">archives</a>)
-
- <!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING SENTENCE TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST -->
- or <a href="mailto:whatwg@whatwg.org">whatwg@whatwg.org</a> (<a href="http://lists.whatwg.org/listinfo.cgi/whatwg-whatwg.org">subscribe</a>,
- <a href="http://lists.whatwg.org/pipermail/whatwg-whatwg.org/">archives</a>),
- <!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING SENTENCE TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST -->
-
- or submit them using <a href="http://www.w3.org/Bugs/Public/enter_bug.cgi?assigned_to=ian%40hixie.ch&blocked=&bug_file_loc=http%3A%2F%2F&bug_severity=normal&bug_status=NEW&comment=&component=other%20Hixie%20drafts%20%28editor%3A%20Ian%20Hickson%29&contenttypeentry=&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&data=&dependson=&description=&form_name=enter_bug&keywords=&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=All&priority=P3&product=HTML%20WG&qa_contact=public-html-bugzilla%40w3.org&rep_platform=All&short_desc=&target_milestone=---&version=unspecified">our
- public bug database</a>.
-
- All feedback is welcome.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>The working groups maintains <a href="http://www.w3.org/Bugs/Public/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=exact&email1=ian%40hixie.ch&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">a
- list of all bug reports that the editor has not yet tried to
- address</a> and <a href="http://www.w3.org/html/wg/tracker/products/1">a list of issues
- for which the chairs have not yet declared a decision</a>. The
- editor also maintains <a href="http://www.whatwg.org/issues/">a list
- of all e-mails that he has not yet tried to address</a>. These bugs,
- issues, and e-mails apply to all HTML specifications, not just this
- one.</p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- stability (required) --><p>Implementors should be aware that this specification is not
- stable. <strong>Implementors who are not taking part in the
- discussions are likely to find the specification changing out from
- under them in incompatible ways.</strong> Vendors interested in
- implementing this specification before it eventually reaches the
- Candidate Recommendation stage should join the aforementioned
- mailing lists and take part in the discussions.</p><!-- not everyone agrees with html5 (requested before fpwd) --><p>The publication of this document by the W3C as a W3C Working
- Draft does not imply that all of the participants in the W3C HTML
- working group endorse the contents of the specification. Indeed, for
- any section of the specification, one can usually find many members
- of the working group or of the W3C as a whole who object strongly to
- the current text, the existence of the section at all, or the idea
- that the working group should even spend time discussing the concept
- of that section.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- version history or list of changes (required) --><p>The latest stable version of the editor's draft of this
- specification is always available on <a href="http://dev.w3.org/html5/html-device/">the
- W3C CVS server</a> and in the <a href="http://svn.whatwg.org/webapps/">WHATWG Subversion
- repository</a>.</p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING LIST TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>There are various ways to follow the change history for the
- HTML specifications:<dl><dt>E-mail notifications of changes</dt>
- <dd>HTML-Diffs mailing list (diff-marked HTML versions for each change): <a href="http://lists.w3.org/Archives/Public/public-html-diffs/latest">http://lists.w3.org/Archives/Public/public-html-diffs/latest</a></dd>
- <dd>Commit-Watchers mailing list (complete source diffs): <a href="http://lists.whatwg.org/listinfo.cgi/commit-watchers-whatwg.org">http://lists.whatwg.org/listinfo.cgi/commit-watchers-whatwg.org</a></dd>
- <dt>Real-time notifications of changes:</dt>
- <dd>Generated diff-marked HTML versions for each change: <a href="http://twitter.com/HTML5">http://twitter.com/HTML5</a></dd>
- <dd>All (non-editorial) changes to the spec source: <a href="http://twitter.com/WHATWG">http://twitter.com/WHATWG</a></dd>
- <dt>Browsable version-control record of all changes:</dt>
- <dd>CVSWeb interface with side-by-side diffs: <a href="http://dev.w3.org/cvsweb/html5/html-device/">http://dev.w3.org/cvsweb/html5/html-device/</a></dd>
- <dd>Annotated summary with unified diffs: <a href="http://html5.org/tools/web-apps-tracker">http://html5.org/tools/web-apps-tracker</a></dd>
- <dd>Raw Subversion interface: <code>svn checkout http://svn.whatwg.org/webapps/</code></dd>
- </dl><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING LIST TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- status of document, group responsible (required) --><p>The W3C <a href="http://www.w3.org/html/wg/">HTML Working
- Group</a> is the W3C working group responsible for this
- specification's progress along the W3C Recommendation
- track.
- This specification is the 15 October 2010 Editor's Draft.
- </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- relationship to other work (required) --><p>This specification is part of <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/">a
- larger specification</a> being produced by the <a href="http://www.whatwg.org/">WHATWG</a>.
- <!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST -->
-
-
- <!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST -->
- <!-- context and rationale (required) -->
- This specification represents an addition to HTML beyond HTML5,
- and is published as a separate document in the W3C under the advice
- of the HTML WG chairs.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- required patent boilerplate --><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
- February 2004 W3C Patent Policy</a>. W3C maintains a <a href="http://www.w3.org/2004/01/pp-impl/40318/status" rel="disclosure">public list of
- any patent disclosures</a> made in connection with the deliverables
- of the group; that page also includes instructions for disclosing a
- patent. An individual who has actual knowledge of a patent which the
- individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
- Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
- 6 of the W3C Patent Policy</a>.<h2 class="no-num no-toc" id="contents">Table of Contents</h2>
-<!--begin-toc-->
-<ol class="toc">
- <li><a href="#conformance-requirements"><span class="secno">1 </span>Conformance requirements</a></li>
- <li><a href="#devices"><span class="secno">2 </span>The <code>device</code> element</a>
- <ol>
- <li><a href="#stream-api"><span class="secno">2.1 </span>Stream API</a></li>
- <li><a href="#peer-to-peer-connections"><span class="secno">2.2 </span>Peer-to-peer connections</a></ol></li>
- <li><a class="no-num" href="#references">References</a></li>
- <li><a class="no-num" href="#acknowledgements">Acknowledgements</a></ol>
-<!--end-toc--><hr><h2 id="conformance-requirements"><span class="secno">1 </span>Conformance requirements</h2><p>This specification is an HTML specification. All the conformance
- requirements, conformance classes, definitions, dependencies,
- terminology, and typographical conventions described in the core
- HTML5 specification apply to this specification. <a href="#refsHTML5">[HTML5]</a><p>Interfaces are defined in terms of Web IDL. <a href="#refsWEBIDL">[WEBIDL]</a><h2 id="devices"><span class="secno">2 </span>The <dfn><code>device</code></dfn> element</h2><dl class="element"><dt>Categories</dt>
- <dd><span>Flow content</span>.</dd>
- <dd><span>Phrasing content</span>.</dd>
- <dd><span>Interactive content</span>.</dd>
- <dt>Contexts in which this element can be used:</dt>
- <dd>Where <span>phrasing content</span> is expected.</dd>
- <dt>Content model:</dt>
- <dd>Empty.</dd>
- <dt>Content attributes:</dt>
- <dd><span>Global attributes</span></dd>
- <dd><code title="attr-device-type"><a href="#attr-device-type">type</a></code></dd>
- <dt>DOM interface:</dt>
- <dd>
-<pre class="idl">interface <dfn id="htmldeviceelement">HTMLDeviceElement</dfn> : <span>HTMLElement</span> {
- attribute DOMString <span title="dom-device-type">type</span>;
- readonly attribute any <span title="dom-device-data">data</span>;
-};</pre>
- </dl><p>The <code><a href="#devices">device</a></code> element represents a device selector, to
- allow the user to give the page access to a device, for example a
- video camera.<p>The <dfn id="attr-device-type" title="attr-device-type"><code>type</code></dfn>
- attribute allows the author to specify which kind of device the page
- would like access to. The attribute is an <span>enumerated
- attribute</span> with the keywords given in the first column of the
- following table, and their corresponding states given in the cell in
- second column of the same row.<p class="XXX">RS232 and USB are only included below to give an idea
- of where we could go with this. <strong>Should we instead just make
- this only useful for audiovisual streams?</strong> Unless there are
- compelling reasons, we probably should not be this generic. So far,
- the reasons for RS232 aren't that compelling. For USB, slightly more
- so.<table><thead><tr><th>Keyword
- <th>State
- <th>Device description
- <th>Examples
- <tbody><tr><td><dfn id="attr-device-type-keyword-media" title="attr-device-type-keyword-media"><code>media</code></dfn>
- <td><span title="attr-device-type-media">Media</span>
- <td>Stream of audio and/or video data.
- <td>A webcam.
- <tr><td><dfn id="attr-device-type-keyword-fs" title="attr-device-type-keyword-fs"><code>fs</code></dfn>
- <td><span title="attr-device-type-fs">File system</span>
- <td>File system.
- <td>A USB-connected media player.
- <tr><td><dfn id="attr-device-type-keyword-rs232" title="attr-device-type-keyword-rs232"><code>rs232</code></dfn>
- <td><span title="attr-device-type-rs232">RS232</span>
- <td>RS232 device.
- <td>A serial port.
- <tr><td><dfn id="attr-device-type-keyword-usb" title="attr-device-type-keyword-usb"><code>usb</code></dfn>
- <td><span title="attr-device-type-usb">USB</span>
- <td>USB device.
- <td>A scanner, a music player, a disk jockey, a fish tank.
- </table><p class="XXX">processing model: 'change' event fires once user
- selects a new device; .data is set to new Stream, LocalFS, USB, or
- RS232 object as appropriate.<div class="example">
-
- <pre><p>To start chatting, select a video camera: <device type=media onchange="update(this.data)"></p>
-<video autoplay></video>
-<script>
- function update(stream) {
- document.getElementsByTagName('video')[0].src = stream.url;
- }
-</script></pre>
-
- </div><h3 id="stream-api"><span class="secno">2.1 </span>Stream API</h3><p>The <code><a href="#stream">Stream</a></code> interface is used to represent
- streams.<pre class="idl">interface <dfn id="stream">Stream</dfn> {
- readonly attribute DOMString <a href="#dom-stream-url" title="dom-stream-url">url</a>;
- <a href="#streamrecorder">StreamRecorder</a> <a href="#dom-stream-record" title="dom-stream-record">record</a>();
-};</pre><p>The <dfn id="dom-stream-url" title="dom-stream-url"><code>url</code></dfn> attribute
- must return a <span title="fileURN">File URN</span> representing the
- stream. <a href="#refsFILEAPI">[FILEAPI]</a><p>For audio and video streams, the stream must be in a format
- supported by the user agent for use in <code>audio</code> and
- <code>video</code> elements.<p class="XXX">This will be pinned down to a specific codec.<p>When the <dfn id="dom-stream-record" title="dom-stream-record"><code>record()</code></dfn> method is
- invoked, the user agent must return a new
- <code><a href="#streamrecorder">StreamRecorder</a></code> object associated with the stream.<pre class="idl">interface <dfn id="streamrecorder">StreamRecorder</dfn> {
- <span>File</span> <a href="#dom-streamrecorder-stop" title="dom-StreamRecorder-stop">stop</a>();
-};</pre><p>The <dfn id="dom-streamrecorder-stop" title="dom-StreamRecorder-stop"><code>stop()</code></dfn> method
- must return a new <code>File</code> object representing the data
- that was streamed between the creation of the
- <code><a href="#streamrecorder">StreamRecorder</a></code> object and the invocation of the <code title="dom-StreamRecorder-stop"><a href="#dom-streamrecorder-stop">stop()</a></code> method. <a href="#refsFILEAPI">[FILEAPI]</a><p>For audio and video streams, the file must be in a format
- supported by the user agent for use in <code>audio</code> and
- <code>video</code> elements.<p class="XXX">This again will be pinned down to a specific codec.<h3 id="peer-to-peer-connections"><span class="secno">2.2 </span>Peer-to-peer connections</h3><p class="XXX">This section will be moved to a more appropriate
- location in due course; it is here currently to keep it near the
- <code><a href="#devices">device</a></code> element to allow reviewers to look at it.<pre class="idl">[Constructor(in DOMString serverConfiguration)]
-interface <dfn id="connectionpeer">ConnectionPeer</dfn> {
- void sendText(in DOMString text, in optional boolean unimportant); // if second arg is true, then use unreliable low-latency transport (UDP-like), otherwise guarantee delivery (TCP-like)
- attribute <span>Function</span> ontext; // receiving
-
- void sendBitmap(in HTMLImageElement image);
- attribute <span>Function</span> onbitmap; // receiving
-
- void sendFile(in File file);
- attribute <span>Function</span> onfile; // receiving
-
- void addStream(in Stream stream);
- void removeStream(in Stream stream);
- readonly attribute Stream[] localStreams;
- readonly attribute Stream[] remoteStreams;
- attribute <span>Function</span> onstream; // receiving
-
- void <span title="dom-ConnectionPeer-getLocalConfiguration">getLocalConfiguration</span>(in <a href="#connectionpeerconfigurationcallback">ConnectionPeerConfigurationCallback</a> callback); // maybe this should be in the constructor, or be an event
- void <span title="dom-ConnectionPeer-addRemoteConfiguration">addRemoteConfiguration</span>(in DOMString configuration, in optional DOMString remoteOrigin); // remote origin is assumed to be same-origin if not specified. If specified, has to match remote origin (checked in handshake). Should support leading "*." to mean "any subdomain of".
- void close(); // disconnects and stops listening
-
- attribute <span>Function</span> onconnect;
- attribute <span>Function</span> onerror;
- attribute <span>Function</span> ondisconnect;
-};
-
-[Callback=FunctionOnly, NoInterfaceObject]
-interface <dfn id="connectionpeerconfigurationcallback">ConnectionPeerConfigurationCallback</dfn> {
- void <span title="dom-ConnectionPeerConfigurationCallback-handleEvent">handleEvent</span>(in <a href="#connectionpeer">ConnectionPeer</a> server, in DOMString configuration);
-};</pre><p class="XXX">...<div class="XXX">
-
- <p>This relies on some currently hypothetical other standard to
- define:</p>
-
- <ul><li>The format of server configuration strings.
- <li>The format of client configuration strings.
- <li>The protocols that clients use to talk to third-party servers mentioned in the server configuration strings.
- <li>The protocols that clients use to talk to each other.
- </ul></div><div class="example">
-
- <p>When two peers decide they are going to set up a connection to
- each other, they both go through these steps. The serverConfig
- comes from a third-party server they can use to get things like
- their public IP address or to set up NAT traversal. They also have
- to send their respective configuration to each other using the same
- out-of-band mechanism they used to establish that they were going
- to communicate in the first place.</p>
-
- <pre>var serverConfig = ...; // configuration string obtained from server
-// contains details such as the IP address of a server that can speak some
-// protocol to help the client determine its public IP address, route packets
-// if necessary, etc.
-
-var local = new ConnectionPeer(serverConfig);
-local.getLocalConfiguration(function (configuration) {
- if (configuration != '') {
- ...; // send configuration to other peer using out-of-band mechanism
- } else {
- // we've exhausted our options; wait for connection
- }
-});
-
-function ... (configuration) {
- // called whenever we get configuration information out-of-band
- local.addRemoteConfiguration(configuration);
-}
-
-local.onconnect = function (event) {
- // we are connected!
- local.sendText('Hello');
- local.addStream(...); // send video
- local.onstream = function (event) {
- // receive video
- // (videoElement is some <video> element)
- if (local.remoteStreams.length > 0)
- videoElement.src = local.remoteStreams[0].url;
- };
-};</pre>
-
- </div><p class="warning">To prevent network sniffing from allowing a
- fourth party to establish a connection to a peer using the
- information sent out-of-band to the other peer and thus spoofing the
- client, the configuration information should always be transmitted
- using an encrypted connection.<h2 class="no-num" id="references">References</h2><!--REFS--><p>All references are normative unless marked "Non-normative".</p><!-- Dates are only included for standards older than the Web, because the newer ones keep changing. --><dl><dt id="refsFILEAPI">[FILEAPI]</dt>
- <dd><cite><a href="http://dev.w3.org/2006/webapi/FileUpload/publish/FileAPI.html">File
- API</a></cite>, A. Ranganathan. W3C.</dd>
-
- <dt id="refsHTML5">[HTML5]</dt>
- <dd>
- <cite><a href="http://dev.w3.org/html5/spec/">HTML5</a></cite>,
- I. Hickson. W3C.</dd>
-
- <dt id="refsWEBIDL">[WEBIDL]</dt>
- <!--
- <dd><cite><a href="http://www.w3.org/TR/WebIDL/">Web
- IDL</a></cite>, C. McCormack. W3C.</dd>
- -->
- <dd><cite><a href="http://dev.w3.org/2006/webapi/WebIDL/">Web
- IDL</a></cite>, C. McCormack. W3C.</dd>
-
- </dl><h2 class="no-num" id="acknowledgements">Acknowledgements</h2><p>For a full list of acknowledgements, please see the HTML5
- specification. <a href="#refsHTML5">[HTML5]</a>
+ </div>
+ <p>This page is no longer maintained.</p>
+ <p>The up-to-date copy of this page is now at:
+ <a href="http://www.whatwg.org/specs/web-apps/current-work/complete/#devices">http://www.whatwg.org/specs/web-apps/current-work/complete/#devices</a></p>
+ </body>
+</html>
\ No newline at end of file
Received on Tuesday, 19 October 2010 21:37:40 UTC