mirror of
https://github.com/servo/servo.git
synced 2025-07-23 15:23:42 +01:00
Set self as containing_shadow_root for shadow roots
This commit is contained in:
parent
68bee1c771
commit
37e88e77cd
2 changed files with 3 additions and 8 deletions
|
@ -497,6 +497,9 @@ impl Element {
|
||||||
// Steps 4, 5 and 6.
|
// Steps 4, 5 and 6.
|
||||||
let shadow_root = ShadowRoot::new(self, &*self.node.owner_doc());
|
let shadow_root = ShadowRoot::new(self, &*self.node.owner_doc());
|
||||||
self.ensure_rare_data().shadow_root = Some(Dom::from_ref(&*shadow_root));
|
self.ensure_rare_data().shadow_root = Some(Dom::from_ref(&*shadow_root));
|
||||||
|
shadow_root
|
||||||
|
.upcast::<Node>()
|
||||||
|
.set_containing_shadow_root(&shadow_root);
|
||||||
|
|
||||||
if self.is_connected() {
|
if self.is_connected() {
|
||||||
self.node.owner_doc().register_shadow_root(&*shadow_root);
|
self.node.owner_doc().register_shadow_root(&*shadow_root);
|
||||||
|
|
|
@ -947,11 +947,6 @@ impl Node {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn containing_shadow_root(&self) -> Option<DomRoot<ShadowRoot>> {
|
pub fn containing_shadow_root(&self) -> Option<DomRoot<ShadowRoot>> {
|
||||||
// NodeRareData contains the shadow root the node belongs to,
|
|
||||||
// but this node may be a shadow root itself.
|
|
||||||
if let Some(ref shadow_root) = self.downcast::<ShadowRoot>() {
|
|
||||||
return Some(DomRoot::from_ref(shadow_root));
|
|
||||||
}
|
|
||||||
self.rare_data()
|
self.rare_data()
|
||||||
.as_ref()?
|
.as_ref()?
|
||||||
.containing_shadow_root
|
.containing_shadow_root
|
||||||
|
@ -1281,9 +1276,6 @@ impl LayoutNodeHelpers for LayoutDom<Node> {
|
||||||
#[inline]
|
#[inline]
|
||||||
#[allow(unsafe_code)]
|
#[allow(unsafe_code)]
|
||||||
unsafe fn containing_shadow_root_for_layout(&self) -> Option<LayoutDom<ShadowRoot>> {
|
unsafe fn containing_shadow_root_for_layout(&self) -> Option<LayoutDom<ShadowRoot>> {
|
||||||
if let Some(ref shadow_root) = self.downcast::<ShadowRoot>() {
|
|
||||||
return Some(*shadow_root);
|
|
||||||
}
|
|
||||||
(*self.unsafe_get())
|
(*self.unsafe_get())
|
||||||
.rare_data_for_layout()
|
.rare_data_for_layout()
|
||||||
.as_ref()?
|
.as_ref()?
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue