diff options
author | Simon Wülker <simon.wuelker@arcor.de> | 2025-03-10 10:25:34 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-10 09:25:34 +0000 |
commit | 1b6b21cb8579622955e2a25c59ebb2bb0875b169 (patch) | |
tree | 922bc204a8fbb0958493e594d33b2d2e103f295f /components/script/dom/svgelement.rs | |
parent | ce4ba309924ffa35e0dd4309527586b8f0c22b75 (diff) | |
download | servo-1b6b21cb8579622955e2a25c59ebb2bb0875b169.tar.gz servo-1b6b21cb8579622955e2a25c59ebb2bb0875b169.zip |
Implement `nonce` attribute to pass more CSP checks (#35876)
* Add doc comments to RequestBuilder fields/methods
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement Request::cryptographic_nonce_metadata
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement HTMLOrSVGElement::nonce
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Set request cryptographic nonce metadata for link elements
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Set request's cryptographic nonce when fetching scripts
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Forward request nonce to rust-content-security-policy
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
Diffstat (limited to 'components/script/dom/svgelement.rs')
-rw-r--r-- | components/script/dom/svgelement.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/components/script/dom/svgelement.rs b/components/script/dom/svgelement.rs index 525c93c5741..6dd90a2efa8 100644 --- a/components/script/dom/svgelement.rs +++ b/components/script/dom/svgelement.rs @@ -5,6 +5,7 @@ use dom_struct::dom_struct; use html5ever::{LocalName, Prefix, local_name, namespace_url, ns}; use js::rust::HandleObject; +use script_bindings::str::DOMString; use style_dom::ElementState; use crate::dom::bindings::codegen::Bindings::SVGElementBinding::SVGElementMethods; @@ -81,6 +82,14 @@ impl SVGElementMethods<crate::DomTypeHolder> for SVGElement { }) } + // FIXME: The nonce should be stored in an internal slot instead of an + // attribute (https://html.spec.whatwg.org/multipage/#cryptographicnonce) + // https://html.spec.whatwg.org/multipage/#dom-noncedelement-nonce + make_getter!(Nonce, "nonce"); + + // https://html.spec.whatwg.org/multipage/#dom-noncedelement-nonce + make_setter!(SetNonce, "nonce"); + // https://html.spec.whatwg.org/multipage/#dom-fe-autofocus fn Autofocus(&self) -> bool { self.element.has_attribute(&local_name!("autofocus")) |