43 lines
1.0 KiB
HTML
43 lines
1.0 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<body>
|
|
<p>This tests navigating a sibling iframe during beforeunload. The navigation should be prevented.</p>
|
|
<div id="log"></div>
|
|
<script>
|
|
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
const log = document.getElementById('log');
|
|
const frame1 = document.createElement('iframe');
|
|
document.body.appendChild(frame1);
|
|
frame1.contentDocument.open();
|
|
frame1.contentDocument.write(`<script> window.onbeforeunload = () => top.startTest() </` + `script>`);
|
|
frame1.contentDocument.close();
|
|
|
|
const frame2 = document.createElement('iframe');
|
|
document.body.appendChild(frame2);
|
|
|
|
window.onmessage = (event) => {
|
|
if (event.data == 'load')
|
|
log.textContent = 'FAIL - the navigation succeeded';
|
|
}
|
|
|
|
function startTest() {
|
|
frame2.src = 'resources/message-top.html';
|
|
setTimeout(() => {
|
|
if (log.textContent == '')
|
|
log.textContent = 'PASS';
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
}, 1000);
|
|
}
|
|
|
|
frame1.src = 'about:blank';
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|