| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="/js-test-resources/js-test.js"></script> |
| <script> |
| description("Tests that trying to set an event listener for deviceorientation and deviceorientation does not log an error in secure contexts."); |
| jsTestIsAsync = true; |
| |
| if (window.testRunner) { |
| if (testRunner.setShouldAllowDeviceOrientationAndMotionAccess) |
| testRunner.setShouldAllowDeviceOrientationAndMotionAccess(true); |
| } |
| |
| // localhost is secure by default. |
| |
| let lastConsoleMessage = null; |
| internals.setConsoleMessageListener((message) => { |
| lastConsoleMessage = message; |
| }); |
| |
| function runDeviceMotionTest() |
| { |
| debug(""); |
| if (!window.DeviceMotionEvent) { |
| console.log("Device Motion API is not supported"); |
| finishJSTest(); |
| return; |
| } |
| |
| debug("* Requesting device motion access..."); |
| internals.withUserGesture(() => { |
| DeviceMotionEvent.requestPermission().then((_result) => { |
| result = _result; |
| shouldBeEqualToString("result", "granted"); |
| |
| lastConsoleMessage = null; |
| debug("* Registering device motion listener"); |
| addEventListener("devicemotion", function() { }); |
| internals.postTask(() => { |
| shouldBeNull("lastConsoleMessage"); |
| finishJSTest(); |
| }); |
| }); |
| }); |
| } |
| |
| function runDeviceOrientationTest() |
| { |
| if (!window.DeviceOrientationEvent) { |
| console.log("Device Orientation API is not supported"); |
| runDeviceMotionTest(); |
| return; |
| } |
| |
| debug("* Requesting device orientation access..."); |
| internals.withUserGesture(() => { |
| DeviceOrientationEvent.requestPermission().then((_result) => { |
| result = _result; |
| shouldBeEqualToString("result", "granted"); |
| |
| lastConsoleMessage = null; |
| debug("* Registering device orientation listener"); |
| addEventListener("deviceorientation", function() { }); |
| internals.postTask(() => { |
| shouldBeNull("lastConsoleMessage"); |
| runDeviceMotionTest(); |
| }); |
| }); |
| }); |
| } |
| |
| onload = runDeviceOrientationTest; |
| </script> |
| </body> |
| </html> |