aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/svgelement.rs
diff options
context:
space:
mode:
authorSimon Wülker <simon.wuelker@arcor.de>2025-03-10 10:25:34 +0100
committerGitHub <noreply@github.com>2025-03-10 09:25:34 +0000
commit1b6b21cb8579622955e2a25c59ebb2bb0875b169 (patch)
tree922bc204a8fbb0958493e594d33b2d2e103f295f /components/script/dom/svgelement.rs
parentce4ba309924ffa35e0dd4309527586b8f0c22b75 (diff)
downloadservo-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.rs9
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"))