- From: Robin Berjon via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 25 May 2011 15:06:34 +0000
- To: public-dap-commits@w3.org
Update of /sources/public/2009/dap/netinfo In directory hutz:/tmp/cvs-serv2177 Modified Files: Overview.html Log Message: ready for review Index: Overview.html =================================================================== RCS file: /sources/public/2009/dap/netinfo/Overview.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Overview.html 25 May 2011 14:01:17 -0000 1.3 +++ Overview.html 25 May 2011 15:06:32 -0000 1.4 @@ -70,8 +70,14 @@ information (e.g. connection type) of the device. </p> <pre class="example sh_javascript"> - // add a class on the root list that matches a specific connection type - document.documentElement.classList.add("network-" + navigator.connection.type); + // add a class on the root list that matches a specific connection type + function updateConnectionClass () { + var root = document.documentElement, + types = "unknown ethernet wifi 2g 3g 4g none".split(" "); + for (var i = 0, n = types.length; i < n; i++) root.classList.remove("network-" + types[i]) + root.classList.add("network-" + navigator.connection.type); + } + window.onload = window.ononline = window.onoffline = updateConnectionClass; </pre> </section> @@ -91,6 +97,7 @@ </dd> </dl> </section> + <section> <h2>The <a>Connection</a> interface</h2> <p> @@ -99,11 +106,18 @@ <dl title='[NoInterfaceObject] interface Connection' class='idl'> <dt>readonly attribute DOMString type</dt> <dd> + <p> Exposes the current connection type. The value returned is one of the following strings, case-sensitively: <code>unknown</code>, <code>ethernet</code>, <code>wifi</code>, <code>2g</code>, <code>3g</code>, <code>4g</code>, <code>none</code>. Implementers may expose other values, in which case it is RECOMMENDED that they are prefixed with a vendor-specific identifier, e.g. <code>acme-superluminal</code>. Other identifiers may be added in the future. + </p> + <p class='issue'> + The existing implementation, Android, uses integer constants for this (which is a shame since + other parts of the Android platform use the more reasonable strings instead). Should we just go with + it? + </p> </dd> <dt>readonly attribute DOMString networkName</dt> <dd> @@ -120,13 +134,26 @@ </section> </section> - <!-- - XXX TODO - - add the online event, flag as an issue that we may want something dedicated (flesh out, use HTML simple event) - - issue CfC - --> - - + <section> + <h2>Changes in connection information</h2> + <p> + When changes in the underlying device's connection information occur, the <a>user agent</a> MUST + <a class='externalDFN'>queue a task</a> to <a class='externalDFN'>fire a simple event</a> named + either <code>online</code> or <code>offline</code> depending on the applicable value, as defined + in [[!HTML5]]. + </p> + <p> + Note that this may cause the same event (<code>online</code> or <code>offline</code>) to be triggered + multiple times in succession rather than toggling between either value. + </p> + <p class='issue'> + There is discussion about whether this justifies a new event or not. People may have some initialisation + code that runs on <code>online</code> which they don't expect to have to run when one switches from + Wi-Fi to ethernet. By its very nature, such code should be able to run multiple times with no harm, but + it may still be wasteful to do so. + </p> + </section> + <section class='appendix'> <h2>Acknowledgements</h2> <p>
Received on Wednesday, 25 May 2011 15:06:35 UTC