LibWeb: Add FIXME for moving "stop parsing" step for error documents

Corresponds to:
48cd393d1e

Actually doing so was causing crashes and other issues, so I'll leave it
as a FIXME for later.
This commit is contained in:
Sam Atkins 2025-11-27 16:28:38 +00:00
parent 2feff2b519
commit c8990697d1
Notes: github-actions[bot] 2025-12-01 11:08:54 +00:00
2 changed files with 7 additions and 4 deletions

View file

@ -78,11 +78,14 @@ GC::Ref<DOM::Document> create_document_for_inline_content(GC::Ptr<HTML::Navigabl
// 5. Let document be the result of creating and initializing a Document object given "html", "text/html", and navigationParams.
auto document = DOM::Document::create_and_initialize(DOM::Document::Type::HTML, "text/html"_string, navigation_params).release_value_but_fixme_should_propagate_errors();
// 6. Either associate document with a custom rendering that is not rendered using the normal Document rendering rules, or mutate document until it represents the content the
// user agent wants to render.
// 6. Either associate document with a custom rendering that is not rendered using the normal Document rendering
// rules, or mutate document until it represents the content the user agent wants to render.
mutate_document(*document);
// 7. Return document.
// FIXME: 7. Act as if the user agent had stopped parsing document.
// We currently do this in the caller instead, to avoid deadlocks.
// 8. Return document.
return document;
}

View file

@ -1407,7 +1407,7 @@ void Navigable::populate_session_history_entry_document(
document.set_url(URL::about_error());
parser->run();
// NOTE: Once the page has been set up, the user agent must act as if it had stopped parsing.
// FIXME: This should go in create_document_for_inline_content() instead.
// FIXME: Directly calling parser->the_end results in a deadlock, because it waits for the warning image to load.
// However the response is never processed when parser->the_end is called.
// Queuing a global task is a workaround for now.