- From: Anssi Kostiainen <anssi.kostiainen@nokia.com>
- Date: Wed, 5 Sep 2012 11:47:33 +0300
- To: "public-device-apis@w3.org public-device-apis@w3.org" <public-device-apis@w3.org>, ext Justin Lebar <jlebar@mozilla.com>, 권기홍 Kwon <kihong.kwon@samsung.com>
Hi All, Justin, Kihong,
I noticed none of the known implementations [1] expose Vibration interface in the global context, so I updated the Vibration API Editor's Draft [2] to match the implementations. I.e. I added [NoInterfaceObject] to the Vibration interface as follows:
Navigator implements Vibration;
[NoInterfaceObject]
interface Vibration {
void vibrate (unsigned long time);
void vibrate (unsigned long[] pattern);
};
This change does not break feature detection as the usual pattern can still be used:
if (typeof navigator.vibrate === 'function') {
console.log('Vibration API supported');
}
Let me know if there are concerns with this change.
-Anssi
[1] http://www.w3.org/2009/dap/wiki/ImplementationStatus#Vibration_API
[2] http://dev.w3.org/2009/dap/vibration/
[The reason we're using "[NoInterfaceObject] interface Foo" and "Bar implements Foo" instead of "partial interface Bar" is to allow other APIs to implement the Vibration interface instead of -- no pun intended -- respec'ing it. E.g. we've discussed use cases around Gamepad API re-using Vibration in the past in this group.]
Received on Wednesday, 5 September 2012 08:47:59 UTC