- From: Anssi Kostiainen via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 25 Oct 2011 09:56:18 +0000
- To: public-dap-commits@w3.org
Update of /sources/public/2009/dap/system-info
In directory hutz:/tmp/cvs-serv29937
Modified Files:
battery-status.html
Log Message:
change BatteryManager attributes based on Mozilla's feedback: change DOMString 'chargingState' to boolean 'charging', rename 'remaining' to 'remainingTime', add 'chargingTime'
Index: battery-status.html
===================================================================
RCS file: /sources/public/2009/dap/system-info/battery-status.html,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- battery-status.html 24 Oct 2011 10:32:32 -0000 1.59
+++ battery-status.html 25 Oct 2011 09:56:16 -0000 1.60
@@ -145,18 +145,18 @@
var battery = navigator.battery;
- battery.addEventListener('remainingchange', function () {
- if (battery.chargingState === 'discharging' && battery.remaining < 60 * 30) {
+ battery.addEventListener('remainingtimechange', function () {
+ if (battery.remainingTime < 60 * 30) {
mail.setTimer(mail.INTERVAL_BATTERY_LOW);
console.log('30 minutes remaining, checking the server less frequently.');
- } else if (battery.chargingState === 'discharging' && battery.remaining < 60 * 10) {
+ } else if (battery.remainingTime < 60 * 10) {
mail.setTimer(null);
console.log('10 minutes remaining, stop checking the server.');
}
}, false);
- battery.addEventListener('chargingstatechange', function () {
- if (battery.chargingState === 'charging') {
+ battery.addEventListener('chargingchange', function () {
+ if (battery.charging) {
mail.setTimer(mail.INTERVAL_DEFAULT);
console.log('Battery is charging, checking the server normally.');
}
@@ -189,32 +189,36 @@
</dd>
</dl>
</section>
+
<section>
<h2><a>BatteryManager</a> Interface</h2>
<dl title='[NoInterfaceObject]
interface BatteryManager : EventTarget'
class='idl'>
- <dt>readonly attribute DOMString chargingState</dt>
+ <dt>readonly attribute boolean charging</dt>
<dd>
- Represents the charging state of the battery. The attribute MUST be
- set to the string <code>charging</code> if the battery is charging,
- to the string <code>discharging</code>, if the battery is
- discharging, to the string <code>full</code> if the battery is full,
- or to the string <code>full</code> otherwise. The attribute MUST
- be set to to the string <code>full</code> if the implementation is
- unable to report the battery's level, or there is no battery
- attached to the system.
+ Represents if the system's battery is charging. The attribute MUST be
+ set to true if the battery is charging, and set to false otherwise,
+ or if the implementation is unable to report the state, or there is
+ no battery attached to the system.
+ </dd>
+ <dt>readonly attribute double chargingTime</dt>
+ <dd>
+ Represents the time remaining in seconds until the system's battery
+ is fully charged. The attribute MUST be set to 0, if the battery is
+ full or not charging, or if the implementation is unable to report
+ the remaining charging time, or there is no battery attached to the
+ system.
</dd>
<dt>readonly attribute float level</dt>
<dd>
- Represents the current battery level scaled from <code>0</code> to
- <code>1.0</code>. The attribute MUST be set to <code>0</code> if the
- system's battery is depleted and the system is about to be suspended,
- and to <code>1.0</code> if the battery is full, the implementation is
- unable to report the battery's level, or there is no battery attached
- to the system.
+ Represents the current battery level scaled from 0 to 1.0. The
+ attribute MUST be set to 0 if the system's battery is depleted and
+ the system is about to be suspended, and to 1.0 if the battery is
+ full, the implementation is unable to report the battery's level,
+ or there is no battery attached to the system.
</dd>
- <dt>readonly attribute double remaining</dt>
+ <dt>readonly attribute double remainingTime</dt>
<dd>
Represents the time remaining in seconds until the system's battery
is depleted and the system is about to be suspended. The attribute
@@ -222,42 +226,42 @@
unable to report the time remaining, or there is no battery attached
to the system.
</dd>
- <dt>attribute Function? onchargingstatechange</dt>
+ <dt>attribute Function? onchargingchange</dt>
+ <dd>
+ </dd>
+ <dt>attribute Function? onchargingtimechange</dt>
<dd>
</dd>
<dt>attribute Function? onlevelchange</dt>
<dd>
</dd>
- <dt>attribute Function? onremainingchange</dt>
+ <dt>attribute Function? onremainingtimechange</dt>
<dd>
</dd>
</dl>
<p>
- When a <code>Document</code> object is created,
- <code>chargingState</code> MUST be set to the string <code>full</code>,
- <code>level</code> to the value of <code>1.0</code> and
- <code>remaining</code> to the value positive Infinity, if the implementation
- is unable to report the battery's charging state, battery's level or
- time remaining respectively.
+ When a <code>Document</code> object is created, <code>charging</code>
+ MUST be set to false, <code>chargingTime</code> to 0,
+ <code>level</code> to 1.0 and <code>remainingTime</code> to the value
+ positive Infinity, if the implementation is unable to report the
+ battery's charging state, charging time, level or remaining time
+ respectively.
</p>
<p>
- When the value of <code>chargingState</code>, <code>level</code> or
- <code>remaining</code> attribute changes, the
+ When the value of <code>charging</code>, <code>chargingTime</code>,
+ <code>level</code> or <code>remainingTime</code> attribute changes, the
<a class="product-ua" href="#ua">user agent</a> MUST fire a simple
event [[!HTML5]], which does not bubble and is not cancelable, named
- <code>chargingstatechange</code>, <code>levelchange</code> or
- <code>remainingchange</code> respectively at the <a>BatteryManager</a>
- object.
+ <code>chargingchange</code>, <code>chargingtimechange</code>,
+ <code>levelchange</code> or <code>remainingtimechange</code>
+ respectively at the <a>BatteryManager</a> object.
</p>
<div class="issue">
- TODO: The <code>remainingchange</code> event should not be fired
- too often, so it should be rate limited. For example, firing every
- second is probably too often. Otherwise web developers will
- need to resort to event throttling which is inefficient.
- </div>
- <div class="issue">
- TODO: An alternative design which is being discussed is to replace
- <code>chargingState</code> with <code>charging</code> of type boolean.
+ TODO: The <code>chargingtimechange</code> and
+ <code>remainingtimechange</code> events should not be fired too often,
+ so they should be rate limited. For example, firing every second is
+ probably too often. Otherwise web developers will need to resort to
+ event throttling which is inefficient.
</div>
</section>
@@ -298,23 +302,23 @@
<script>
var battery = navigator.battery;
- battery.onchargingstatechange = function () {
- document.querySelector('#chargingState').textContent = battery.chargingState;
+ battery.onchargingchange = function () {
+ document.querySelector('#charging').textContent = battery.charging ? 'charging' : 'not charging';
};
battery.onlevelchange = function () {
document.querySelector('#level').textContent = battery.level;
};
- battery.onremainingchange = function () {
- document.querySelector('#remaining').textContent = battery.remaining / 60;
+ battery.onremainingtimechange = function () {
+ document.querySelector('#remainingTime').textContent = battery.remainingTime / 60;
};
</script>
</head>
<body>
- <div id="chargingState">(charging state unknown)</div>
+ <div id="charging">(charging state unknown)</div>
<div id="level">(battery level unknown)</div>
- <div id="remaining">(time remaining unknown)</div>
+ <div id="remainingTime">(remaining time unknown)</div>
</body>
</html>
</pre>
Received on Tuesday, 25 October 2011 09:56:21 UTC