diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-06-09 13:41:47 -0500 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2016-06-09 13:41:47 -0500 |
commit | 3acb9540ffdf1caa496e624de6661ec05f7d17b6 (patch) | |
tree | 9a895928a22aea54ce0a9287405bd82748e51157 | |
parent | 4dbba2dcabbde11b01a95078ba75742aff3fc44d (diff) | |
parent | 999e057cb754da1d456670996b13b337c2762c0f (diff) | |
download | servo-3acb9540ffdf1caa496e624de6661ec05f7d17b6.tar.gz servo-3acb9540ffdf1caa496e624de6661ec05f7d17b6.zip |
Auto merge of #11677 - asajeffrey:iframe-change-parentage-test, r=ConnorGBrewster
Added a test for changing an iframe's parentage.
<!-- Please describe your changes on the following line: -->
Add a test for what happens when an iframe's parent browsing context changes.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] There are tests for these changes
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11677)
<!-- Reviewable:end -->
10 files changed, 52 insertions, 6 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index c6171166249..392e55b4cdc 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -36036,6 +36036,18 @@ "url": "/cssom-view/scrolling-no-browsing-context.html" } ], + "html/semantics/embedded-content/the-iframe-element/change_parentage.html": [ + { + "path": "html/semantics/embedded-content/the-iframe-element/change_parentage.html", + "url": "/html/semantics/embedded-content/the-iframe-element/change_parentage.html" + } + ], + "html/semantics/embedded-content/the-iframe-element/same_origin_parentage.html": [ + { + "path": "html/semantics/embedded-content/the-iframe-element/same_origin_parentage.html", + "url": "/html/semantics/embedded-content/the-iframe-element/same_origin_parentage.html" + } + ], "url/url-domainToUnicode.html": [ { "path": "url/url-domainToUnicode.html", diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 4fa28bc7fe3..24af8aa6f41 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -6448,12 +6448,6 @@ "url": "/_mozilla/mozilla/iframe-unblock-onload.html" } ], - "mozilla/iframe/same_origin_parentage.html": [ - { - "path": "mozilla/iframe/same_origin_parentage.html", - "url": "/_mozilla/mozilla/iframe/same_origin_parentage.html" - } - ], "mozilla/iframe_contentDocument.html": [ { "path": "mozilla/iframe_contentDocument.html", diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_child.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_child.html new file mode 100644 index 00000000000..738ceee5293 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_child.html @@ -0,0 +1,14 @@ +<body> + Child. + <iframe id="grandchild" src="change_grandchild.html"></iframe> +</body> +<script> + var timer = window.setInterval(poll, 100); + function poll() { + if (document.body.getAttribute("data-contains-grandchild")) { + var grandchild = document.getElementById("grandchild"); + window.frameElement.parentNode.appendChild(grandchild); + window.clearTimeout(timer); + } + } +</script> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_grandchild.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_grandchild.html new file mode 100644 index 00000000000..885622c2b4b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_grandchild.html @@ -0,0 +1,4 @@ +<body>Grandchild.</body> +<script> + window.frameElement.parentNode.setAttribute("data-contains-grandchild", true); +</script> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_parentage.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_parentage.html new file mode 100644 index 00000000000..1d62ccc4806 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_parentage.html @@ -0,0 +1,22 @@ +<!doctype html> +<meta charset="utf-8"> +<title>Change the frame heriarchy</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> + <iframe src="change_child.html"></iframe> +</body> +<script> + async_test(function(t) { + var timer = window.setInterval(t.step_func(poll), 100); + function poll() { + // We wait for the grandchild's script to set the custom attribtue. + // Note that if this test passes, the grandchild's script must have been run twice, + // once to trigger the move from the child to here, and once to pass this test. + if (document.body.getAttribute("data-contains-grandchild")) { + window.clearTimeout(timer); + t.done(); + } + } + }); +</script> diff --git a/tests/wpt/mozilla/tests/mozilla/iframe/iframe_harness.js b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_harness.js index f4ef511d1de..f4ef511d1de 100644 --- a/tests/wpt/mozilla/tests/mozilla/iframe/iframe_harness.js +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_harness.js diff --git a/tests/wpt/mozilla/tests/mozilla/iframe/same_origin_child.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/same_origin_child.html index a36e231fa25..a36e231fa25 100644 --- a/tests/wpt/mozilla/tests/mozilla/iframe/same_origin_child.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/same_origin_child.html diff --git a/tests/wpt/mozilla/tests/mozilla/iframe/same_origin_grandchild.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/same_origin_grandchild.html index e7a2293b760..e7a2293b760 100644 --- a/tests/wpt/mozilla/tests/mozilla/iframe/same_origin_grandchild.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/same_origin_grandchild.html diff --git a/tests/wpt/mozilla/tests/mozilla/iframe/same_origin_parentage.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/same_origin_parentage.html index a163eb8eec3..a163eb8eec3 100644 --- a/tests/wpt/mozilla/tests/mozilla/iframe/same_origin_parentage.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/same_origin_parentage.html diff --git a/tests/wpt/mozilla/tests/mozilla/iframe/stash.py b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/stash.py index 0b8693a9011..0b8693a9011 100644 --- a/tests/wpt/mozilla/tests/mozilla/iframe/stash.py +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/stash.py |