1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 18:05:07 +00:00

LibWeb: Implement "update the current document readiness" from spec

The only difference from what we were already doing is that setting the
same ready state twice no longer fires a "readystatechange" event.
I don't think that could happen in practice though.
This commit is contained in:
Andreas Kling 2021-09-26 12:22:16 +02:00
parent 8496024756
commit a2f77a2e39
3 changed files with 20 additions and 8 deletions

View file

@ -188,7 +188,7 @@ void HTMLParser::the_end()
// FIXME: 2. Set the insertion point to undefined.
// 3. Update the current document readiness to "interactive".
m_document->set_ready_state(HTML::DocumentReadyState::Interactive);
m_document->update_readiness(HTML::DocumentReadyState::Interactive);
// 4. Pop all the nodes off the stack of open elements.
while (!m_stack_of_open_elements.is_empty())
@ -240,7 +240,7 @@ void HTMLParser::the_end()
// 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 {
// 1. Update the current document readiness to "complete".
document->set_ready_state(HTML::DocumentReadyState::Complete);
document->update_readiness(HTML::DocumentReadyState::Complete);
// 2. If the Document object's browsing context is null, then abort these steps.
if (!document->browsing_context())