зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1696266, test reloading a page which might otherwise enter bfcache, r=peterv
Depends on D107300 Differential Revision: https://phabricator.services.mozilla.com/D107536
This commit is contained in:
Родитель
a46567f045
Коммит
b90bd58381
|
@ -0,0 +1,23 @@
|
|||
<html>
|
||||
<head>
|
||||
<script>
|
||||
window.onpageshow = function() {
|
||||
let bc = new BroadcastChannel("test_reload");
|
||||
bc.onmessage = function(event) {
|
||||
if (event.data == "reload") {
|
||||
bc.close();
|
||||
location.reload(true);
|
||||
} else if (event.data == "close") {
|
||||
bc.postMessage("closed");
|
||||
bc.close();
|
||||
window.close();
|
||||
}
|
||||
}
|
||||
|
||||
bc.postMessage("pageshow");
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
|
@ -91,6 +91,8 @@ support-files = file_docshell_gotoindex.html
|
|||
[test_not-opener.html]
|
||||
[test_opener.html]
|
||||
[test_popup-navigates-children.html]
|
||||
[test_reload.html]
|
||||
support-files = file_reload.html
|
||||
[test_reserved.html]
|
||||
skip-if =
|
||||
(debug && e10s) # bug 1263213
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Ensure a page which is otherwise bfcacheable doesn't crash on reload</title>
|
||||
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
|
||||
<script>
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
let pageshowCount = 0;
|
||||
let bc = new BroadcastChannel("test_reload");
|
||||
bc.onmessage = function(event) {
|
||||
info("MessageEvent: " + event.data);
|
||||
if (event.data == "pageshow") {
|
||||
++pageshowCount;
|
||||
info("pageshow: " + pageshowCount);
|
||||
if (pageshowCount < 3) {
|
||||
info("Sending reload");
|
||||
bc.postMessage("reload");
|
||||
} else {
|
||||
info("Sending close");
|
||||
bc.postMessage("close");
|
||||
}
|
||||
} else if (event.data == "closed") {
|
||||
info("closed");
|
||||
bc.close();
|
||||
ok(true, "Passed");
|
||||
SimpleTest.finish();
|
||||
}
|
||||
}
|
||||
|
||||
function test() {
|
||||
window.open("file_reload.html", "", "noopener");
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="test()">
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none"></div>
|
||||
<pre id="test"></pre>
|
||||
</body>
|
||||
</html>
|
Загрузка…
Ссылка в новой задаче