ed2dd20377c57365e1a5f7ffc5254f727d71b5dc
[WebKit-https.git] / LayoutTests / http / tests / events / device-orientation-motion-non-secure-context.html
1 <!DOCTYPE html>
2 <html>
3 <body>
4 <script src="/js-test-resources/js-test.js"></script>
5 <script>
6 description("Tests that trying to set an event listener for deviceorientation and deviceorientation logs an error in non-secure contexts.");
7 jsTestIsAsync = true;
8
9 // localhost is secure by default.
10 internals.markContextAsInsecure();
11
12 let lastConsoleMessage = null;
13 internals.setConsoleMessageListener((message) => {
14     lastConsoleMessage = message;
15 });
16
17 function runDeviceMotionTest()
18 {
19     if (!window.DeviceMotionEvent) {
20         console.log("Device Motion API is not supported");
21         finishJSTest();
22         return;
23     }
24
25     lastConsoleMessage = null;
26     debug("");
27     debug("* Registering device motion listener");
28     addEventListener("devicemotion", function() { });
29     internals.postTask(() => {
30         shouldBeEqualToString("lastConsoleMessage", "Blocked attempt to add a device motion or orientation listener because the browsing context is not secure.");
31         finishJSTest();
32     });
33 }
34
35 function runDeviceOrientationTest()
36 {
37     if (!window.DeviceOrientationEvent) {
38         console.log("Device Orientation API is not supported");
39         runDeviceMotionTest();
40         return;
41     }
42
43     lastConsoleMessage = null;
44     debug("* Registering device orientation listener");
45     addEventListener("deviceorientation", function() { });
46     internals.postTask(() => {
47         shouldBeEqualToString("lastConsoleMessage", "Blocked attempt to add a device motion or orientation listener because the browsing context is not secure.");
48         runDeviceMotionTest();
49     });
50 }
51
52 onload = runDeviceOrientationTest;
53 </script>
54 </body>
55 </html>