Bug 1372662 - Part 2: Add wpt tests for not copying sessionstorage into noopener windows, r=smaug

This commit is contained in:
Michael Layzell 2017-08-28 16:29:18 -04:00
Родитель 2b0333c9b7
Коммит 7d3c0b75e7
2 изменённых файлов: 70 добавлений и 0 удалений

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

@ -0,0 +1,34 @@
<!DOCTYPE HTML>
<html>
<head>
<title>WebStorage Test: sessionStorage - second page</title>
</head>
<body>
<script>
var storage = window.sessionStorage;
var assertions = [];
assertions.push({
actual: storage.getItem("FOO"),
expected: null,
message: "storage.getItem('FOO')"
});
storage.setItem("FOO", "BAR-NEWWINDOW");
assertions.push({
actual: storage.getItem("FOO"),
expected: "BAR-NEWWINDOW",
message: "value for FOO after changing"
});
let channel = new BroadcastChannel('storage_session_window_noopener');
channel.postMessage(assertions, '*');
window.close();
</script>
</body>
</html>

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

@ -0,0 +1,36 @@
<!DOCTYPE HTML>
<html>
<head>
<title>WebStorage Test: sessionStorage - open a new window with noopener</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id="log"></div>
<script>
async_test(function(t) {
var storage = window.sessionStorage;
storage.clear();
storage.setItem("FOO", "BAR");
let channel = new BroadcastChannel("storage_session_window_noopener");
channel.addEventListener("message", t.step_func(function(e) {
e.data.forEach(t.step_func(function(assertion) {
assert_equals(assertion.actual, assertion.expected, assertion.message);
}));
assert_equals(storage.getItem("FOO"), "BAR", "value for FOO in original window");
t.done();
}));
var win = window.open("resources/storage_session_window_noopener_second.html",
"_blank",
"noopener");
}, "A new noopener window to make sure there is a not copy of the previous window's sessionStorage");
</script>
</body>
</html>