diff options
author | bors-servo <servo-ops@mozilla.com> | 2020-04-04 09:35:34 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-04 09:35:34 -0400 |
commit | d64f7d427a8dc56bbfc92183f57588e7eb1d56c2 (patch) | |
tree | 5f07578a53872c2d23da16f2d052cda7ff4ef1e4 /components/layout_2020/dom_traversal.rs | |
parent | 9972aee81f0e80d34157325a5e13b3b1a7ef417a (diff) | |
parent | 185a402d9cc41d3e680b99564f5fc8b519ecf129 (diff) | |
download | servo-d64f7d427a8dc56bbfc92183f57588e7eb1d56c2.tar.gz servo-d64f7d427a8dc56bbfc92183f57588e7eb1d56c2.zip |
Auto merge of #26105 - servo:layout-2020-less-opaque, r=emilio
Make DOM own the style and layout data, in an UnsafeCell
Diffstat (limited to 'components/layout_2020/dom_traversal.rs')
-rw-r--r-- | components/layout_2020/dom_traversal.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/components/layout_2020/dom_traversal.rs b/components/layout_2020/dom_traversal.rs index ef4570a85bb..8ea6bb01de7 100644 --- a/components/layout_2020/dom_traversal.rs +++ b/components/layout_2020/dom_traversal.rs @@ -369,7 +369,7 @@ pub(crate) trait NodeExt<'dom>: 'dom + Copy + LayoutNode<'dom> + Send + Sync { fn style(self, context: &LayoutContext) -> ServoArc<ComputedValues>; fn as_opaque(self) -> OpaqueNode; - fn layout_data_mut(&self) -> AtomicRefMut<LayoutDataForElement>; + fn layout_data_mut(self) -> AtomicRefMut<'dom, LayoutDataForElement>; fn element_box_slot(&self) -> BoxSlot<'dom>; fn pseudo_element_box_slot(&self, which: WhichPseudoElement) -> BoxSlot<'dom>; fn unset_pseudo_element_box(self, which: WhichPseudoElement); @@ -446,7 +446,8 @@ where self.opaque() } - fn layout_data_mut(&self) -> AtomicRefMut<LayoutDataForElement> { + #[allow(unsafe_code)] + fn layout_data_mut(self) -> AtomicRefMut<'dom, LayoutDataForElement> { self.get_raw_data() .map(|d| d.layout_data.borrow_mut()) .unwrap() |