diff options
Diffstat (limited to 'testing/web-platform/tests/focus/support/iframe-focuses-parent-same-site-outer.html')
-rw-r--r-- | testing/web-platform/tests/focus/support/iframe-focuses-parent-same-site-outer.html | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/testing/web-platform/tests/focus/support/iframe-focuses-parent-same-site-outer.html b/testing/web-platform/tests/focus/support/iframe-focuses-parent-same-site-outer.html new file mode 100644 index 0000000000..798500f080 --- /dev/null +++ b/testing/web-platform/tests/focus/support/iframe-focuses-parent-same-site-outer.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>iframe focuses parent same site outer</title> +</head> +<body> +<iframe src="iframe-focuses-parent-same-site-inner.html"></iframe> +<script> +var w = null; +var focusDisallowed = false; +var failed = false; +window.onmessage = function(e) { + if (failed) { + return; + } + if (e.data == "ready") { + focusDisallowed = true; + document.getElementsByTagName("iframe")[0].contentWindow.postMessage("focus", "*"); + return; + } + focusDisallowed = false; + if (w) { + w.close(); + w = null; + } + opener.postMessage(failed ? "FAIL" : "PASS", "*"); +} +window.onload = function() { + w = window.open("iframe-focuses-parent-same-site-other.html"); +} +document.body.onfocus = function() { + if (focusDisallowed) { + failed = true; + } +} +</script> +</body> +</html> |