diff options
author | Simon Wülker <simon.wuelker@arcor.de> | 2024-12-07 15:24:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-07 14:24:18 +0000 |
commit | 97e9841d47fca9ff576b0af8ec08fdd8421b6915 (patch) | |
tree | e82d2269802192139e810a65c087819b0a8cf650 /components/script/dom/element.rs | |
parent | 8ebb77ab76d338152249357646dfa26c666290b7 (diff) | |
download | servo-97e9841d47fca9ff576b0af8ec08fdd8421b6915.tar.gz servo-97e9841d47fca9ff576b0af8ec08fdd8421b6915.zip |
Implement `ShadowRoot.clonable` attribute (#34514)
* Implement ShadowRoot clonable attribute
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* ./mach test-tidy fixes
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* fix clippy warnings
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/element.rs')
-rw-r--r-- | components/script/dom/element.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 75f8f4d4b20..594c63bbab6 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -507,8 +507,10 @@ impl Element { /// <https://dom.spec.whatwg.org/#dom-element-attachshadow> pub fn attach_shadow( &self, + // TODO: remove is_ua_widget argument is_ua_widget: IsUserAgentWidget, mode: ShadowRootMode, + clonable: bool, ) -> Fallible<DomRoot<ShadowRoot>> { // Step 1. if self.namespace != ns!(html) { @@ -546,7 +548,7 @@ impl Element { } // Steps 4, 5 and 6. - let shadow_root = ShadowRoot::new(self, &self.node.owner_doc(), mode); + let shadow_root = ShadowRoot::new(self, &self.node.owner_doc(), mode, clonable); self.ensure_rare_data().shadow_root = Some(Dom::from_ref(&*shadow_root)); shadow_root .upcast::<Node>() @@ -3034,7 +3036,7 @@ impl ElementMethods<crate::DomTypeHolder> for Element { fn AttachShadow(&self, init: &ShadowRootInit) -> Fallible<DomRoot<ShadowRoot>> { // Step 1. Run attach a shadow root with this, init["mode"], init["clonable"], init["serializable"], // init["delegatesFocus"], and init["slotAssignment"]. - let shadow_root = self.attach_shadow(IsUserAgentWidget::No, init.mode)?; + let shadow_root = self.attach_shadow(IsUserAgentWidget::No, init.mode, init.clonable)?; // Step 2. Return this’s shadow root. Ok(shadow_root) |