W3C Generic Sensor API polyfills
This is a polyfill for Generic Sensor-based motions sensors to make migration from the old DeviceOrientationEvent/DeviceMotionEvent to the new APIs a smoother experience.
In particular, this polyfill will allow the users of modern browsers to get a feel of the new API shape before it ships more broadly.
src/motion-sensors.js
implements the following interfaces:
src/geolocation.js
implements the following interface:
How to use the polyfill
<script type="module">
// Import the objects you need.
import {
Gyroscope,
AbsoluteOrientationSensor
} from './src/motion-sensors.js';
// And they're ready for use!
let gyroscope = new Gyroscope({ frequency: 15 });
let orientation = new AbsoluteOrientationSensor({ frequency: 60 });
</script>
How to enable the native implementation in Chrome
Chrome 67 or later: the native implementation is enabled by default.
The Generic Sensor Extra Classes (chrome://flags/#enable-generic-sensor-extra-classes
) feature flag can be activated to enable a few additional sensor types:
AmbientLightSensor
Magnetometer
Test suite
Run web-platform-tests with this polyfill enabled here.
Known issues
AbsoluteOrientationSensor
on iOS uses non-standard webkitCompassHeading
that reports wrong readings if the device is held in its portrait-secondary
orientation. Specifically, the webkitCompassHeading
flips by 180 degrees when tilted only slightly.
Learn more
Reporting a security issue
If you have information about a security issue or vulnerability with an Intel-maintained open source project on https://github.com/intel, please send an e-mail to secure@intel.com. Encrypt sensitive information using our PGP public key. For issues related to Intel products, please visit https://security-center.intel.com.