diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-03-03 16:03:45 -0700 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-03-03 16:03:45 -0700 |
commit | 72f8898990f06e7f505eeaf9cfa671740c60395d (patch) | |
tree | 3cbe32bd57533c51472a31bf0c2e4c5a807870aa /components/script/dom/node.rs | |
parent | e19fbc686cd10d59c9e02593f0b6ab68aabe02fc (diff) | |
parent | b89339d05584e3bc27ba3a2cc58078e6e58a08d3 (diff) | |
download | servo-72f8898990f06e7f505eeaf9cfa671740c60395d.tar.gz servo-72f8898990f06e7f505eeaf9cfa671740c60395d.zip |
auto merge of #5118 : jdm/servo/pageload, r=Ms2ger
Rebased and improved version of #4967.
Diffstat (limited to 'components/script/dom/node.rs')
-rw-r--r-- | components/script/dom/node.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index a7b5e5484d6..a0486e6ee11 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -41,7 +41,7 @@ use dom::nodelist::NodeList; use dom::processinginstruction::ProcessingInstruction; use dom::text::Text; use dom::virtualmethods::{VirtualMethods, vtable_for}; -use dom::window::Window; +use dom::window::{Window, WindowHelpers}; use geom::rect::Rect; use layout_interface::{LayoutChan, Msg}; use devtools_traits::NodeInfo; @@ -490,9 +490,18 @@ pub trait NodeHelpers<'a> { fn get_unique_id(self) -> String; fn summarize(self) -> NodeInfo; + + fn teardown(self); } impl<'a> NodeHelpers<'a> for JSRef<'a, Node> { + fn teardown(self) { + self.layout_data.dispose(); + for kid in self.children() { + kid.teardown(); + } + } + /// Dumps the subtree rooted at this node, for debugging. fn dump(self) { self.dump_indent(0); @@ -737,11 +746,11 @@ impl<'a> NodeHelpers<'a> for JSRef<'a, Node> { } fn get_bounding_content_box(self) -> Rect<Au> { - window_from_node(self).root().r().page().content_box_query(self.to_trusted_node_address()) + window_from_node(self).root().r().content_box_query(self.to_trusted_node_address()) } fn get_content_boxes(self) -> Vec<Rect<Au>> { - window_from_node(self).root().r().page().content_boxes_query(self.to_trusted_node_address()) + window_from_node(self).root().r().content_boxes_query(self.to_trusted_node_address()) } // http://dom.spec.whatwg.org/#dom-parentnode-queryselector |