- From: Anssi Kostiainen via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 01 Nov 2011 21:56:16 +0000
- To: public-dap-commits@w3.org
Update of /sources/public/2009/dap/vibration In directory hutz:/tmp/cvs-serv30317 Modified Files: Overview.html Log Message: replace navigator.vibration with partial interface Navigator, drop onvibrate* handlers, update the 'processing vibration patterns' algorithm, change the type of the argument from double to long; disallow implicit cancel via argument of type undefined or null Index: Overview.html =================================================================== RCS file: /sources/public/2009/dap/vibration/Overview.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Overview.html 27 Oct 2011 15:33:01 -0000 1.1 +++ Overview.html 1 Nov 2011 21:56:13 -0000 1.2 @@ -98,67 +98,30 @@ interfaces that it contains. </p> </section> - <section> - <h2><a>NavigatorVibration</a> Interface</h2> - <p> - The <a>NavigatorVibration</a> interface is exposed on the - <code>Navigator</code> object. - </p> - <div class='idl' title='Navigator implements NavigatorVibration'></div> - <dl title='[NoInterfaceObject] interface NavigatorVibration' class='idl'> - <dt>readonly attribute VibrationManager vibration</dt> - <dd> - The object that exposes the vibration functionality. - </dd> - </dl> - </section> <section> - <h2><a>VibrationManager</a> Interface</h2> - <dl title='[NoInterfaceObject] - interface VibrationManager : EventTarget' + <h2>Vibration Interface</h2> + <dl title='partial interface Navigator VibrationManager : EventTarget' class='idl'> <dt>void vibrate()</dt> <dd> <dl class='parameters'> - <dt>optional double? pattern</dt> + <dt>optional long time</dt> <dd> - Vibration duration in milliseconds. + Vibration time in milliseconds. </dd> </dl> <dt>void vibrate()</dt> <dd> <dl class='parameters'> - <dt>optional double[]? pattern</dt> + <dt>optional long[] pattern</dt> <dd> - A vibration pattern represented by a list of duration entries. - Odd entries represent vibration duration in milliseconds, even + A vibration pattern represented by a list of time entries. + Odd entries represent vibration time in milliseconds, even entries still periods in milliseconds between the vibrations. </dd> </dl> - <dl class='exception' title='SyntaxError'> - <dt> - SYNTAX_ERR (12) - </dt> - <dd> - The <code>pattern</code> argument does not match the expected - pattern. - </dd> - </dl> - <dl class='exception' title='NotSupportedError'> - <dt> - NOT_SUPPORTED_ERR (9) - </dt> - <dd> - The <code>pattern</code> argument defined an operation that - exceeds an implementation dependent limit. - </dd> - </dl> </dd> - <dt>attribute Function? onvibrationstart</dt> - <dd></dd> - <dt>attribute Function? onvibrationend</dt> - <dd></dd> </dl> <p> @@ -190,9 +153,9 @@ Let <var>pattern</var> be the value of the first argument. </li> <li> - If <var>pattern</var> is undefined, null, 0 or an empty list, - cancel the pre-existing attempt, if any, set the <var>already - started</var> flag to false, and abort these steps. + If <var>pattern</var> is 0 or an empty list, cancel the pre-existing + attempt, if any, set the <var>already started</var> flag to false, + and abort these steps. </li> <li> If <var>pattern</var> is a list, proceed to the next step, @@ -208,60 +171,41 @@ </ol> </li> <li> - Let <var>valid pattern</var> be an empty list. - </li> - <li> - For each <var>raw entry</var> in <var>pattern</var>, run the + For each <var>entry</var> in <var>pattern</var>, run the following substeps: <ol> <li> - Let <var>entry</var> be the result of parsing <var>raw - entry</var> using the rules of - <a href="http://dev.w3.org/html5/spec/common-microsyntaxes.html#rules-for-parsing-integers"> - parsing integers</a> [[!HTML5]]. - </li> - <li> - If <var>entry</var> is less than zero or an error, then the - <a class="product-ua" href="#ua">user agent</a> MUST throw - a <code>SyntaxError</code> exception [[!DOM4]], set the - <var>already started</var> flag to false, and abort these steps. - </li> - <li> If <var>entry</var> exceeds an implementation dependent limit, the <a class="product-ua" href="#ua">user agent</a> MAY throw a <code>NotSupportedError</code> exception, set the <var>already started</var> flag to false, and abort these steps. </li> - <li> - Otherwise add <var>entry</var> to <var>valid pattern</var>. - </li> </ol> </li> <li> - If the length of <var>valid pattern</var> is greater than 1 - and divides by 2 leaving no remainder, then remove the last - entry in <var>valid pattern</var>. + If the length of <var>pattern</var> is greater than 1 and divides by + 2 leaving no remainder, then remove the last entry in + <var>pattern</var>. </li> <li> - If the length of <var>valid pattern</var> exceeds an - implementation dependent limit, the - <a class="product-ua" href="#ua">user agent</a> MAY throw a - <code>NotSupportedError</code> exception [[!DOM4]], set the - <var>already started</var> flag to false, and abort these steps. + If the length of <var>pattern</var> exceeds an implementation + dependent limit, the <a class="product-ua" href="#ua">user agent</a> + MAY throw a <code>NotSupportedError</code> exception [[!DOM4]], set + the <var>already started</var> flag to false, and abort these steps. </li> <li> - For each <var>duration</var> in <var>valid pattern</var>, run - the following substeps: + For each <var>time</var> in <var>pattern</var>, run the following + substeps: <ol> <li> - If the index of <var>duration</var> is 0 or it divides by 2 + If the index of <var>time</var> is 0 or it divides by 2 and leaves no remainder (the earliest entry has index 0), - vibrate the device for <var>duration</var> milliseconds. + vibrate the device for <var>time</var> milliseconds. </li> <li> Otherwise <a href="http://dev.w3.org/html5/spec/webappapis.html#pause"> - pause</a> [[!HTML5]] for a period of <var>duration</var> + pause</a> [[!HTML5]] for a period of <var>time</var> milliseconds. </li> </ol> @@ -271,18 +215,6 @@ </li> </ol> <p> - When the <code>vibrate()</code> method is invoked, 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>vibrationstart</code> at the <a>VibrationManager</a> object. - </p> - <p> - When the vibration ends, 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>vibrationend</code> at the <a>VibrationManager</a> object. - </p> - <p> When the <code><a href="http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html#sec-visibilitychange-event"> visibilitychange</a></code> event [[!PAGE-VISIBILITY]] is dispatched at the @@ -302,10 +234,10 @@ <div class='example'> <pre class='example sh_javascript'> // vibrate for 1 second - navigator.vibration.vibrate(1000); + navigator.vibrate(1000); // or alternatively - navigator.vibration.vibrate([1000]); + navigator.vibrate([1000]); </pre> </div> <p> @@ -314,32 +246,21 @@ </p> <div class='example'> <pre class='example sh_javascript'> - navigator.vibration.vibrate([1000, 500, 2000]); + navigator.vibrate([1000, 500, 2000]); </pre> </div> <p> - Vibrate the device three times for 1 second and be still for 0.5 - seconds in between the vibrations. The background color of the screen - is set to red when the vibration starts and set back to default when - the vibration ends (the background changes its color to red and back - to default three times): - </p> - <div class='example'> - <pre class='example sh_javascript'> - navigator.vibration.onvibrationstart = function () { - console.log('vibration starts'); - document.body.style.backgroundColor = 'red'; - }; - - navigator.vibration.onvibrationend = function () { - console.log('vibration ends'); - document.body.style.backgroundColor = ''; - }; - - // 1000 ms on -> 500 ms off -> 1000 ms on -> 500 ms off -> 1000 ms on - navigator.vibration.vibrate([1000, 500, 1000, 500, 1000]); - </pre> - </div> + <p> + Cancel any existing vibrations: + </p> + <div class='example'> + <pre class='example sh_javascript'> + navigator.vibrate(0); + + // or alternatively + navigator.vibrate([]); + </pre> + </div> </section> <section class='appendix'> <h2>Acknowledgements</h2>
Received on Tuesday, 1 November 2011 21:56:22 UTC