diff options
author | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2019-06-11 15:48:36 +0200 |
---|---|---|
committer | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2019-07-22 17:40:16 +0200 |
commit | 1f3c879a85a128c89e1a962e10e1e3d11550d37b (patch) | |
tree | f5015697a17c5ef83e02d183c5bcb3eb444b2794 /components/script/dom/node.rs | |
parent | f8ae394cadb28958e52ae941bc3a89f4ea7fb4b5 (diff) | |
download | servo-1f3c879a85a128c89e1a962e10e1e3d11550d37b.tar.gz servo-1f3c879a85a128c89e1a962e10e1e3d11550d37b.zip |
Detach shadow clean up
Diffstat (limited to 'components/script/dom/node.rs')
-rw-r--r-- | components/script/dom/node.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index fe7f9ec29c2..9eb9210509e 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -283,7 +283,7 @@ impl Node { for node in new_child.traverse_preorder(ShadowIncluding::No) { if parent_in_shadow_tree { if let Some(shadow_root) = self.containing_shadow_root() { - node.set_containing_shadow_root(&*shadow_root); + node.set_containing_shadow_root(Some(&*shadow_root)); } debug_assert!(node.containing_shadow_root().is_some()); } @@ -961,8 +961,8 @@ impl Node { .map(|sr| DomRoot::from_ref(&**sr)) } - pub fn set_containing_shadow_root(&self, shadow_root: &ShadowRoot) { - self.ensure_rare_data().containing_shadow_root = Some(Dom::from_ref(shadow_root)); + pub fn set_containing_shadow_root(&self, shadow_root: Option<&ShadowRoot>) { + self.ensure_rare_data().containing_shadow_root = shadow_root.map(|sr| Dom::from_ref(sr)); } pub fn is_in_html_doc(&self) -> bool { @@ -1241,7 +1241,7 @@ impl LayoutNodeHelpers for LayoutDom<Node> { let parent = (*self.unsafe_get()).parent_node.get_inner_as_layout(); if let Some(ref parent) = parent { if let Some(shadow_root) = parent.downcast::<ShadowRoot>() { - return Some(shadow_root.get_host_for_layout().upcast()); + return shadow_root.get_host_for_layout().map(|h| h.upcast()); } } parent |