LibWeb: Fix always hanging Navigable::reload()

See spec issue https://github.com/whatwg/html/issues/9869

Previous attempt on fixing reload had to be reverted because it broke
Soundcloud and GitHub, but this change does not seem to introduce new
crashes.
This commit is contained in:
Aliaksandr Kalenik 2024-04-12 20:13:54 +02:00 committed by Alexander Kalenik
commit 91377f3ab9
Notes: sideshowbarker 2024-07-17 08:42:05 +09:00
10 changed files with 162 additions and 11 deletions

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<script src="../include.js"></script>
<script>
let reloaded = false;
window.addEventListener('message', event => {
switch (event.data.action) {
case "loaded":
println("iframe is loaded");
if (!reloaded) {
event.source.postMessage({ action: 'reload' });
reloaded = true;
} else {
internals.signalTextTestIsDone();
}
break;
case "acknowledge-asked-to-reload":
println("iframe is going to reload");
break;
default:
break;
}
});
document.addEventListener("DOMContentLoaded", () => {
const iframe = document.createElement('iframe');
iframe.src = "../../data/iframe-reload.html"
document.body.appendChild(iframe);
});
</script>