| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>Gyroscope Sensor IDL tests</title> |
| <link rel="author" title="Intel" href="http://www.intel.com"> |
| <link rel="help" href="https://www.w3.org/TR/gyroscope/"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/WebIDLParser.js"></script> |
| <script src="/resources/idlharness.js"></script> |
| <style> |
| pre { |
| display: none; |
| } |
| </style> |
| <div id="log"></div> |
| |
| <pre id="idl"> |
| interface Event { |
| }; |
| |
| interface EventTarget { |
| }; |
| |
| interface EventHandler { |
| }; |
| |
| interface Error { |
| }; |
| |
| dictionary EventInit { |
| }; |
| </pre> |
| |
| <pre id="generic-idl"> |
| [SecureContext] |
| interface Sensor : EventTarget { |
| readonly attribute SensorState state; |
| readonly attribute SensorReading? reading; |
| void start(); |
| void stop(); |
| attribute EventHandler onchange; |
| attribute EventHandler onactivate; |
| attribute EventHandler onerror; |
| }; |
| |
| dictionary SensorOptions { |
| double? frequency; |
| }; |
| |
| enum SensorState { |
| "idle", |
| "activating", |
| "activated", |
| "errored" |
| }; |
| |
| [SecureContext] |
| interface SensorReading { |
| readonly attribute DOMHighResTimeStamp timeStamp; |
| }; |
| |
| [SecureContext, Constructor(DOMString type, SensorErrorEventInit errorEventInitDict)] |
| interface SensorErrorEvent : Event { |
| readonly attribute Error error; |
| }; |
| |
| dictionary SensorErrorEventInit : EventInit { |
| required Error error; |
| }; |
| |
| </pre> |
| |
| <pre id="gyroscope-idl"> |
| [Constructor(optional SensorOptions sensorOptions)] |
| interface Gyroscope : Sensor { |
| readonly attribute GyroscopeReading? reading; |
| }; |
| |
| [Constructor(GyroscopeReadingInit GyroscopeReadingInit)] |
| interface GyroscopeReading : SensorReading { |
| readonly attribute unrestricted double x; |
| readonly attribute unrestricted double y; |
| readonly attribute unrestricted double z; |
| }; |
| |
| dictionary GyroscopeReadingInit { |
| unrestricted double x = 0; |
| unrestricted double y = 0; |
| unrestricted double z = 0; |
| }; |
| </pre> |
| |
| <script> |
| (function() { |
| "use strict"; |
| var idl_array = new IdlArray(); |
| idl_array.add_untested_idls(document.getElementById('idl').textContent); |
| idl_array.add_untested_idls(document.getElementById('generic-idl').textContent); |
| idl_array.add_idls(document.getElementById('gyroscope-idl').textContent); |
| |
| idl_array.add_objects({ |
| Gyroscope: ['new Gyroscope();'], |
| GyroscopeReading: ['new GyroscopeReading({x: 0.5, y: 0.5, z: 0.5});'] |
| }); |
| |
| idl_array.test(); |
| })(); |
| </script> |