mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-05-06 03:02:55 +00:00
LibWeb: Prepare script when src is set the first time
From https://html.spec.whatwg.org/multipage/scripting.html#script-processing-model: When a script element el that is not parser-inserted experiences one of the events listed in the following list, the user agent must immediately prepare the script element el: - [...] - The script element is connected and has a src attribute set where previously the element had no such attribute.
This commit is contained in:
parent
98e1ae49f5
commit
d890be6e0f
Notes:
sideshowbarker
2024-07-17 11:30:54 +09:00
Author: https://github.com/sppmacd
Commit: d890be6e0f
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/498
Issue: https://github.com/LadybirdBrowser/ladybird/issues/497
Reviewed-by: https://github.com/awesomekling
Reviewed-by: https://github.com/tcl3 ✅
5 changed files with 27 additions and 0 deletions
|
@ -58,6 +58,16 @@ void HTMLScriptElement::attribute_changed(FlyString const& name, Optional<String
|
|||
m_crossorigin = cors_setting_attribute_from_keyword(value);
|
||||
} else if (name == HTML::AttributeNames::referrerpolicy) {
|
||||
m_referrer_policy = ReferrerPolicy::from_string(value.value_or(""_string)).value_or(ReferrerPolicy::ReferrerPolicy::EmptyString);
|
||||
} else if (name == HTML::AttributeNames::src) {
|
||||
bool old_src_is_set = m_src_is_set;
|
||||
m_src_is_set = value.has_value();
|
||||
// https://html.spec.whatwg.org/multipage/scripting.html#script-processing-model
|
||||
// When a script element el that is not parser-inserted experiences one of the events listed in the following list, the user agent must immediately prepare the script element el:
|
||||
// - [...]
|
||||
// - The script element is connected and has a src attribute set where previously the element had no such attribute.
|
||||
if (!is_parser_inserted() && is_connected() && !old_src_is_set && m_src_is_set) {
|
||||
prepare_script();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue