- 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