1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 22:38:13 +00:00

LibWeb: Allow HTML parser to delay delivery of the document "load" event

We will now spin in "the end" until there are no more "things delaying
the load event". Of course, nothing actually uses this yet, and there
are a lot of things that need to.
This commit is contained in:
Andreas Kling 2021-09-26 01:03:42 +02:00
parent b1529e3202
commit dbba0a520f
6 changed files with 67 additions and 1 deletions

View file

@ -231,7 +231,11 @@ void HTMLParser::the_end()
return m_document->scripts_to_execute_as_soon_as_possible().is_empty();
});
// FIXME: 8. Spin the event loop until there is nothing that delays the load event in the Document.
// 8. Spin the event loop until there is nothing that delays the load event in the Document.
// FIXME: Track down all the things that are supposed to delay the load event.
main_thread_event_loop().spin_until([&] {
return m_document->number_of_things_delaying_the_load_event() == 0;
});
// 9. Queue a global task on the DOM manipulation task source given the Document's relevant global object to run the following steps:
queue_global_task(HTML::Task::Source::DOMManipulation, *m_document, [document = m_document]() mutable {