Index: LayoutTests/screen_orientation/lockOrientation-sandboxed-iframe.html |
diff --git a/LayoutTests/screen_orientation/lockOrientation-sandboxed-iframe.html b/LayoutTests/screen_orientation/lockOrientation-sandboxed-iframe.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..64d30d50f81b162293ec8787fad639b700cba5bc |
--- /dev/null |
+++ b/LayoutTests/screen_orientation/lockOrientation-sandboxed-iframe.html |
@@ -0,0 +1,37 @@ |
+<!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, "", "screen.lockOrientation() does not throw"); |
+ 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> |