- From: Robin Berjon via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 25 May 2011 14:00:29 +0000
- To: public-dap-commits@w3.org
Update of /sources/public/2009/dap/netinfo In directory hutz:/tmp/cvs-serv18427 Modified Files: Overview.html Log Message: -m Index: Overview.html =================================================================== RCS file: /sources/public/2009/dap/netinfo/Overview.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Overview.html 13 Apr 2011 14:54:03 -0000 1.1 +++ Overview.html 25 May 2011 14:00:26 -0000 1.2 @@ -1,12 +1,10 @@ <!DOCTYPE html> <html> <head> - <title>Network Information API</title> + <title>The Network Information API</title> <meta http-equiv='Content-Type' content='text/html;charset=utf-8' /> - <script src='http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js' - class='remove'> - </script> + <script src='../ReSpec.js/js/respec.js' class='remove'></script> <script class='remove'> var respecConfig = { specStatus: "ED", @@ -19,227 +17,120 @@ // if this is a LCWD, uncomment and set the end of its review period // lcEnd: "2009-08-05", - - // if you want to have extra CSS, append them to this list - // it is recommended that the respec.css stylesheet be kept - extraCSS: ["http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css"], + extraCSS: ["../ReSpec.js/css/respec.css"], + noIDLIn: true, editors: [ { name: "Suresh Chitturi", - //url: "http://example.org/", company: "Research In Motion (RIM)", companyURL: "http://rim.com/" }, + { name: "Robin Berjon", + url: "http://berjon.com/", + company: "Robineko", + companyURL: "http://robineko.com/" } ], + wg: "Device APIs and Policy Working Group", + wgURI: "http://www.w3.org/2009/dap/", + wgPublicList: "public-device-apis" + wgPatentURI: "http://www.w3.org/2004/01/pp-impl/43696/status" }; </script> - <script src='../common/configPolicy.js' class='remove'></script> </head> <body> <section id='abstract'> - The Network Information API provides an interface for Web Applications to access the underlying network information (e.g. connection info) of the device. + The Network Information API provides an interface for Web Applications to access the underlying + network information (e.g. connection info) of the device. </section> <section id='sotd'> <p> - This document is an Editor's draft and should be treated only as such, and is subject to consensus - of the DAP WG. + The functionality described in this specification was initially specified as part of the + <a href='http://www.w3.org/TR/system-info-api/'>System Information API</a> but has been + extracted in order to be more readily available, more straightforward to implement, and + in order to produce a specification that could be implemented on its own merits without + interference with other, often unrelated, features. </p> </section> - - <section - id='conformance'> + <section id='conformance'> <p> This specification defines conformance criteria that apply to a single product: the <dfn>user agent</dfn> that implements the interfaces that it contains. </p> <p> - Implementations that use ECMAScript to implement the APIs defined in this specification must implement them in a manner - consistent with the ECMAScript Bindings defined in the Web IDL specification [[!WEBIDL]], as this specification uses - that specification and terminology. + Implementations that use ECMAScript to expose the APIs defined in this specification must implement them in a manner + consistent with the ECMAScript Bindings defined in the Web IDL specification [[!WEBIDL]]. </p> </section> - <section - class="informative"> - <h2> - Introduction - </h2> + <section class="informative"> + <h2>Introduction</h2> <p> - The Network Information API provides an interface for Web Applications to access the underlying netowrk - information (e.g. connection info) of the device. - </p> - <p> - The devices today are able to connect to multiple networks (e.g. Cellular, WiFi), and this API enables the Web - Applications to get accesss to such information i.e. the type of network, so it may present it to the User for - information and/or adapt its content to reflect the underlying network connectivity. - </p> - - <pre - class="example"> - - - var connection, connectionSpeed, htmlNode, htmlClass; - - // create a custom object if navigator.connection isn't available - connection = navigator.connection || {'type':'0'}; - - // set connectionSpeed - switch(connection.type) { - case connection.CELL_3G: - // 3G - connectionSpeed = 'mediumbandwidth'; - break; - case connection.CELL_2G: - // 2G - connectionSpeed = 'lowbandwidth'; - break; - case connection.NONE: - //No Connectivity - connectionSpeed = 'no-connectivity'; - default: - // WIFI, ETHERNET, UNKNOWN, CELL_4G - connectionSpeed = 'highbandwidth'; - } - - // set the connection speed on the html element's class attribute - htmlNode = document.body.parentNode; - htmlClass = htmlNode.getAttribute('class') || ''; - htmlNode.setAttribute('class', htmlClass + ' ' + connectionSpeed); - - - - - </pre> - </section> - - <section> - <h2>Security and Privacy Considerations</h2> - - <p class='note'> - This section is under development. - - </p> - + The Network Information API provides an interface enabling Web applications to access the underlying network + 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); + </pre> </section> - <section> - <h2> - API Description - </h2> + <section> + <h2>API Description</h2> <section> - <h2> - <a>NetworkInfo</a> interface - </h2> + <h2>The <a>NetworkInfo</a> interface</h2> <p> - The <a - href='#networkinfo-interface'><code>NetworkInfo</code></a> interface is exposed on the <code>Navigator</code> - interface. + The <a href='#networkinfo-interface'><code>NetworkInfo</code></a> interface is exposed on the + <code>Navigator</code> object. </p> - <div - class='idl' - title='Navigator implements NetworkInfo'> - - </div> - <dl - title='[NoInterfaceObject] interface NetworkInfo' - class='idl'> - <dt> - readonly attribute Connection connection - </dt> + <div class='idl' title='Navigator implements NetworkInfo'></div> + <dl title='[NoInterfaceObject] interface NetworkInfo' class='idl'> + <dt>readonly attribute Connection connection</dt> <dd> - The root node from which the connection information (e.g. type) can be accessed. + The object from which connection information is accessed. </dd> </dl> </section> - <section> - <h2><a>Connection</a> interface</h2> - <p> - The <a>Connection</a> interface provides a handle to connection information such as connection type, and roaming information. - </p> - - + <h2>The <a>Connection</a> interface</h2> + <p> + The <a>Connection</a> interface provides a handle to the device's connection information. + </p> <dl title='[NoInterfaceObject] interface Connection' class='idl'> - <dt> - const unsigned short UNKNOWN = 0 - </dt> - <dd> - Indicates an unknown connection type. - </dd> - <dt> - const unsigned short ETHERNET = 1 - </dt> - <dd> - Indicates an Ethernet connection. - </dd> - <dt> - const unsigned short WIFI = 2 - </dt> - <dd> - Indicates a Wi-Fi connection. - </dd> - <dt> - const unsigned short CELL_2G = 3 - </dt> - <dd> - Indicates a 2G connection (e.g. GSM, GPRS, EDGE, CDMA). - </dd> - <dt> - const unsigned short CELL_3G = 4 - </dt> - <dd> - Indicates a 3G connection (e.g. UMTS) - </dd> - <dt> - const unsigned short CELL_4G = 5 - </dt> - <dd> - Indicates a 4G connection (e.g. LTE) - </dd> - <dt> - const unsigned short NONE = 20 - </dt> - <dd> - Indicates no connectivity. - </dd> - <dt> - readonly attribute unsigned short type - </dt> - <dd> - returns the current connection type. The value returned MUST be one of the constants. - </dd> - <dt> - readonly attribute DOMString homeNW - </dt> - <dd> - returns the home network provider info (e.g. "Vodafone UK") provided by the implementation.This attribute is only valid if the - network connection is cellular-based, otherwise MUST be set to <code>null</code>. - </dd> - <dt> - readonly attribute DOMString currentNW - </dt> - <dd> - returns the current network provider info (e.g. "Vodafone India") provided by the implementation.This attribute is only valid if the - network connection is cellular-based, otherwise MUST be set to <code>null</code>. - </dd> - - </dl> - </section> + <dt>readonly attribute DOMString type</dt> + <dd> + 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. + </dd> + <dt>readonly attribute DOMString networkName</dt> + <dd> + <p> + Exposes the name of the network that is currently being used. This can be the name of the + network provider (e.g. "AcmeCom Lichtenstein") or the SSID for Wi-Fi networks. + </p> + <p class='issue'> + This is a potential privacy violation and is likely to be dropped from this specification unless + there is a solid use case justifying that it be kept. + </p> + </dd> + </dl> + </section> </section> - - <section class='appendix'> - <h2>Features for Future Consideration</h2> - <p> - TBD - </p> - - </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 class='appendix'> <h2>Acknowledgements</h2> <p> - The editors would like to thank the input from W3C DAP members to date ... + TBD </p> </section> </body>
Received on Wednesday, 25 May 2011 14:00:31 UTC