Index: third_party/WebKit/LayoutTests/imported/wpt/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html |
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html b/third_party/WebKit/LayoutTests/imported/wpt/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..40ffbb1e0205d99dad1944c5992cbbc4e48fefe5 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/wpt/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html |
@@ -0,0 +1,31 @@ |
+<!doctype html> |
+<meta charset=utf-8> |
+<title>Check that popups from a sandboxed iframe escape the sandbox if |
+ allow-popups-to-escape-sandbox is used</title> |
+<script src=/resources/testharness.js></script> |
+<script src=/resources/testharnessreport.js></script> |
+<iframe sandbox="allow-scripts allow-popups allow-popups-to-escape-sandbox"> |
+</iframe> |
+<script> |
+ var t = async_test(); |
+ var ourOrigin; |
+ onmessage = t.step_func(function(e) { |
+ assert_equals(e.data, "hello", "This is our origin getter message"); |
+ ourOrigin = e.origin; |
+ |
+ onmessage = t.step_func_done(function(e) { |
+ assert_equals(e.origin, "null", "It came from a sandboxed iframe"); |
+ assert_equals(e.data.data, undefined, "Should have the right message"); |
+ assert_equals(e.data.origin, ourOrigin, "Should have escaped the sandbox"); |
+ }); |
+ |
+ var iframe = document.querySelector("iframe"); |
+ iframe.onload = function() { |
+ frames[0].postMessage("start", "*"); |
+ } |
+ iframe.src = "iframe_sandbox_popups_helper-2.html"; |
+ }); |
+ addEventListener("load", function() { |
+ postMessage("hello", "*"); |
+ }); |
+</script> |