LibWeb: Fire iframe load event on document close

This matches the behavior of other browsers.
This commit is contained in:
Tim Ledbetter 2024-10-08 01:08:49 +01:00 committed by Andreas Kling
parent 00487a7b25
commit e1eeb93cc6
Notes: github-actions[bot] 2024-10-08 04:55:47 +00:00
3 changed files with 19 additions and 0 deletions

View file

@ -0,0 +1 @@
Onload event fired

View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<script src="../include.js"></script>
<script>
asyncTest(done => {
const iframe = document.createElement('iframe');
document.body.appendChild(iframe);
iframe.contentDocument.open();
iframe.onload = () => {
println("Onload event fired");
iframe.remove();
done();
};
iframe.contentDocument.close();
});
</script>

View file

@ -705,6 +705,9 @@ WebIDL::ExceptionOr<void> Document::close()
// FIXME: 6. Run the tokenizer, processing resulting tokens as they are emitted, and stopping when the tokenizer reaches the explicit "EOF" character or spins the event loop. // FIXME: 6. Run the tokenizer, processing resulting tokens as they are emitted, and stopping when the tokenizer reaches the explicit "EOF" character or spins the event loop.
m_parser->run(); m_parser->run();
// AD-HOC: This ensures that a load event is fired if the node navigable's container is an iframe.
completely_finish_loading();
return {}; return {};
} }