<!DOCTYPE html>
<meta charset="utf-8">
<title>Orientation Sensor IDL tests</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<link rel="help" href="https://w3c.github.io/orientation-sensor/">
<link rel="help" href="https://w3c.github.io/sensors/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/WebIDLParser.js"></script>
<script src="/resources/idlharness.js"></script>
<div id="log"></div>
<script id="idl" type="text/plain">
interface EventTarget {
};
interface EventHandler {
};
</script>
<script id="orientation-idl" type="text/plain">
// The interface of Sensor is defined in
// https://www.w3.org/TR/generic-sensor/#idl-index
[SecureContext, Exposed=Window]
interface Sensor : EventTarget {
readonly attribute boolean activated;
readonly attribute boolean hasReading;
readonly attribute DOMHighResTimeStamp? timestamp;
void start();
void stop();
attribute EventHandler onreading;
attribute EventHandler onactivate;
attribute EventHandler onerror;
};
typedef (Float32Array or Float64Array or DOMMatrix) RotationMatrixType;
[Exposed=Window]
interface OrientationSensor : Sensor {
readonly attribute FrozenArray<double>? quaternion;
void populateMatrix(RotationMatrixType targetMatrix);
};
[Constructor(optional SensorOptions sensorOptions), Exposed=Window]
interface AbsoluteOrientationSensor : OrientationSensor {
};
[Constructor(optional SensorOptions sensorOptions), Exposed=Window]
interface RelativeOrientationSensor : OrientationSensor {
};
</script>
<script>
(() => {
"use strict";
let idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById('idl').textContent);
idl_array.add_idls(document.getElementById('orientation-idl').textContent);
idl_array.add_objects({
AbsoluteOrientationSensor: ['new AbsoluteOrientationSensor();'],
RelativeOrientationSensor: ['new RelativeOrientationSensor();']
});
idl_array.test();
})();
</script>