LibWeb: Add textContent attribute of HTMLScriptElement for TrustedTypes

This commit is contained in:
Tete17 2025-08-06 14:13:09 +02:00 committed by Jelle Raaijmakers
parent f65dca1b53
commit 6b9c44390f
Notes: github-actions[bot] 2025-09-16 08:58:51 +00:00
4 changed files with 42 additions and 10 deletions

View file

@ -678,6 +678,33 @@ WebIDL::ExceptionOr<void> HTMLScriptElement::set_src(TrustedTypes::TrustedScript
return {};
}
// https://w3c.github.io/trusted-types/dist/spec/#the-textContent-idl-attribute
Variant<GC::Root<TrustedTypes::TrustedScript>, Utf16String, Empty> HTMLScriptElement::text_content() const
{
// 1. Return the result of running get text content with this.
return descendant_text_content();
}
// https://w3c.github.io/trusted-types/dist/spec/#the-textContent-idl-attribute
WebIDL::ExceptionOr<void> HTMLScriptElement::set_text_content(TrustedTypes::TrustedScriptOrString text)
{
// 1. Let value be the result of calling Get Trusted Type compliant string with
// TrustedScript, thiss relevant global object, the given value, HTMLScriptElement textContent, and script.
auto const value = TRY(TrustedTypes::get_trusted_type_compliant_string(
TrustedTypes::TrustedTypeName::TrustedScript,
HTML::relevant_global_object(*this),
text,
TrustedTypes::InjectionSink::HTMLScriptElementtextContent,
TrustedTypes::Script.to_string()));
// 2. Set thiss script text value to value.
m_script_text = value;
// 3. Run set text content with this and value.
string_replace_all(value);
return {};
}
// https://html.spec.whatwg.org/multipage/scripting.html#dom-script-async
bool HTMLScriptElement::async() const
{