Implement Trusted Types for ShadowRoot (#38595)

Also make TrustedHTML work the same as TrustedScript by
only taking 1 `&str` to make things easier.

Part of #36258

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
This commit is contained in:
Tim van der Lippe 2025-08-11 15:39:55 +02:00 committed by GitHub
parent abc549eff7
commit 3976fa77bc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 38 additions and 52 deletions

View file

@ -3787,8 +3787,7 @@ impl ElementMethods<crate::DomTypeHolder> for Element {
let html = TrustedHTML::get_trusted_script_compliant_string(
&self.owner_global(),
html,
"Element",
"setHTMLUnsafe",
"Element setHTMLUnsafe",
can_gc,
)?;
// Step 2. Let target be this's template contents if this is a template element; otherwise this.
@ -3844,8 +3843,7 @@ impl ElementMethods<crate::DomTypeHolder> for Element {
let value = TrustedHTML::get_trusted_script_compliant_string(
&self.owner_global(),
value.convert(),
"Element",
"innerHTML",
"Element innerHTML",
can_gc,
)?;
// https://github.com/w3c/DOM-Parsing/issues/1
@ -3902,8 +3900,7 @@ impl ElementMethods<crate::DomTypeHolder> for Element {
let value = TrustedHTML::get_trusted_script_compliant_string(
&self.owner_global(),
value.convert(),
"Element",
"outerHTML",
"Element outerHTML",
can_gc,
)?;
let context_document = self.owner_document();
@ -4118,8 +4115,7 @@ impl ElementMethods<crate::DomTypeHolder> for Element {
let text = TrustedHTML::get_trusted_script_compliant_string(
&self.owner_global(),
text,
"Element",
"insertAdjacentHTML",
"Element insertAdjacentHTML",
can_gc,
)?;
let position = position.parse::<AdjacentPosition>()?;