Bug 1526384 [wpt PR 15078] - HTML: window.open() can set opener of a nested browsing context, a=testonly

Automatic update from web-platform-tests
HTML: window.open() can set opener of a nested browsing context

Needed for https://github.com/whatwg/html/pull/4284.

--

wpt-commits: 5cf7f41336801449ce7499a5f41ccf6848650e9c
wpt-pr: 15078
This commit is contained in:
Anne van Kesteren 2019-02-12 14:08:06 +00:00 коммит произвёл moz-wptsync-bot
Родитель 3fd28b6f5e
Коммит d35f12c942
2 изменённых файлов: 62 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,30 @@
<!doctype html>
<title>opener and embedded documents; using a and form</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<div id=log></div>
<iframe name=matchesastring></iframe>
<a href=/common/blank.html target=matchesastring>&lt;a></a>
<form action=/common/blank.html target=matchesastring><input type=submit value="<form>"></form>
<script>
async_test(t => {
const frame = document.querySelector("iframe");
let counter = 0;
frame.onload = t.step_func(() => {
// Firefox and Chrome/Safari load differently
if (frame.contentWindow.location.href === "about:blank") {
return;
}
// Test bits
assert_equals(frame.contentWindow.opener, null);
if (counter === 0) {
document.querySelector("input").click();
} else {
t.done();
}
counter++;
});
document.querySelector("a").click();
});
</script>

Просмотреть файл

@ -0,0 +1,32 @@
<!doctype html>
<title>opener and embedded documents; using window.open()</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<div id=log></div>
<iframe name=matchesastring></iframe>
<script>
async_test(t => {
const frame = document.querySelector("iframe");
frame.onload = t.step_func(() => {
// Firefox and Chrome/Safari load differently
if (frame.contentWindow.location.href === "about:blank") {
return;
}
// Test bits
assert_equals(frame.contentWindow.opener, window, "opener before setting it to null");
const openerDesc = Object.getOwnPropertyDescriptor(frame.contentWindow, "opener"),
openerGet = openerDesc.get;
assert_equals(openerGet(), window, "opener before setting it to null via directly invoking the getter");
frame.contentWindow.opener = null;
frame.contentWindow.opener = "immaterial";
assert_equals(openerGet(), null, "opener after setting it to null via directly invoking the getter");
assert_equals(frame.contentWindow.opener, "immaterial");
t.done();
});
window.open("/common/blank.html", "matchesastring");
});
</script>