| <!DOCTYPE html> | |
| <html> | |
| <body> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <iframe id="allowedIframe" sandbox="allow-scripts allow-same-origin allow-orientation-lock" style="display:none"> | |
| </iframe> | |
| <iframe id="disallowedIframe" sandbox="allow-scripts allow-same-origin" style="display:none"> | |
| </iframe> | |
| <script> | |
| var testNotAllowed = async_test("Test without 'allow-orientation-lock' sandboxing directive"); | |
| var testAllowed = async_test("Test with 'allow-orientation-lock' sandboxing directive"); | |
| function runTestAllowed() { | |
| window.onmessage = testAllowed.step_func(function (ev) { | |
| assert_equals(ev.data, "portrait-primary", "screen.orientation lock to portrait-primary"); | |
| screen.orientation.unlock(); | |
| testAllowed.done(); | |
| }); | |
| var allowedIframe = document.getElementById("allowedIframe"); | |
| allowedIframe.src = "resources/sandboxed-iframe-locking.html"; | |
| } | |
| function runTestNotAllowed() { | |
| window.onmessage = testNotAllowed.step_func(function (ev) { | |
| assert_equals(ev.data, "SecurityError", "screen.lockOrientation() throws a SecurityError"); | |
| testNotAllowed.done(); | |
| runTestAllowed(); | |
| }); | |
| var disallowedIframe = document.getElementById("disallowedIframe"); | |
| disallowedIframe.src = "resources/sandboxed-iframe-locking.html"; | |
| } | |
| runTestNotAllowed(); | |
| </script> | |
| </body> | |
| </html> |