1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 04:47:34 +00:00

LibWeb: Implement "Document has a style sheet that is blocking scripts"

This will be used by the HTML parser to determine whether it's okay to
start running a script.

Note that we don't actually count the script-blocking style sheets yet.
This patch only adds a the checking mechanism for the parser.
This commit is contained in:
Andreas Kling 2021-09-09 02:11:11 +02:00
parent 71d7c8a353
commit c759055c08
2 changed files with 19 additions and 0 deletions

View file

@ -948,4 +948,18 @@ String Document::dump_dom_tree_as_json() const
return builder.to_string();
}
// https://html.spec.whatwg.org/multipage/semantics.html#has-a-style-sheet-that-is-blocking-scripts
bool Document::has_a_style_sheet_that_is_blocking_scripts() const
{
// A Document has a style sheet that is blocking scripts if its script-blocking style sheet counter is greater than 0,
if (m_script_blocking_style_sheet_counter > 0)
return true;
// ...or if that Document has a non-null browsing context whose container document is non-null and has a script-blocking style sheet counter greater than 0.
if (!browsing_context() || !browsing_context()->container_document())
return false;
return browsing_context()->container_document()->m_script_blocking_style_sheet_counter > 0;
}
}