diff options
author | Ms2ger <Ms2ger@gmail.com> | 2016-06-14 20:07:28 +0100 |
---|---|---|
committer | Ms2ger <Ms2ger@gmail.com> | 2016-06-20 19:02:37 +0200 |
commit | 5cab8ff8d243038f498922c5960e1161bd8aafd7 (patch) | |
tree | 90d963425f546899c4a905369a04504b2393fd22 | |
parent | 5c03dd8eb15290c7e47e8a15172051c751a1109c (diff) | |
download | servo-5cab8ff8d243038f498922c5960e1161bd8aafd7.tar.gz servo-5cab8ff8d243038f498922c5960e1161bd8aafd7.zip |
Make OpaqueStyleAndLayoutData::dispose a method on Node.
-rw-r--r-- | components/script/dom/node.rs | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index a3289cca56e..4554ac3210c 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -171,7 +171,7 @@ impl NodeFlags { impl Drop for Node { #[allow(unsafe_code)] fn drop(&mut self) { - self.style_and_layout_data.get().map(|d| d.dispose(self)); + self.style_and_layout_data.get().map(|d| self.dispose(d)); } } @@ -196,17 +196,15 @@ unsafe impl Send for OpaqueStyleAndLayoutData {} no_jsmanaged_fields!(OpaqueStyleAndLayoutData); -impl OpaqueStyleAndLayoutData { +impl Node { /// Sends the style and layout data, if any, back to the layout thread to be destroyed. - pub fn dispose(self, node: &Node) { + pub fn dispose(&self, data: OpaqueStyleAndLayoutData) { debug_assert!(thread_state::get().is_script()); - let win = window_from_node(node); - node.style_and_layout_data.set(None); - win.layout_chan().send(Msg::ReapStyleAndLayoutData(self)).unwrap(); + let win = window_from_node(self); + self.style_and_layout_data.set(None); + win.layout_chan().send(Msg::ReapStyleAndLayoutData(data)).unwrap(); } -} -impl Node { /// Adds a new child to the end of this node's list of children. /// /// Fails unless `new_child` is disconnected from the tree. @@ -292,7 +290,7 @@ impl Node { for node in child.traverse_preorder() { node.set_flag(IS_IN_DOC, false); vtable_for(&&*node).unbind_from_tree(&context); - node.style_and_layout_data.get().map(|d| d.dispose(&node)); + node.style_and_layout_data.get().map(|d| node.dispose(d)); } self.owner_doc().content_and_heritage_changed(self, NodeDamage::OtherNodeDamage); @@ -340,7 +338,7 @@ impl<'a> Iterator for QuerySelectorIterator { impl Node { pub fn teardown(&self) { - self.style_and_layout_data.get().map(|d| d.dispose(self)); + self.style_and_layout_data.get().map(|d| self.dispose(d)); for kid in self.children() { kid.teardown(); } |