Introduce UnbindContext

This holds the context that describes the original node that was removed from a tree
when unbinding from a tree.
This commit is contained in:
Anthony Ramine 2015-10-24 02:58:31 +02:00
parent b63ca94c7f
commit 8f01790f06
10 changed files with 41 additions and 45 deletions

View file

@ -18,7 +18,7 @@ use dom::document::Document;
use dom::element::{AttributeMutation, Element, RawLayoutElementHelpers};
use dom::event::{Event, EventBubbles, EventCancelable};
use dom::htmlelement::HTMLElement;
use dom::node::{Node, window_from_node};
use dom::node::{Node, UnbindContext, window_from_node};
use dom::urlhelper::UrlHelper;
use dom::virtualmethods::VirtualMethods;
use dom::window::Window;
@ -471,10 +471,8 @@ impl VirtualMethods for HTMLIFrameElement {
}
}
fn unbind_from_tree(&self, tree_in_doc: bool) {
if let Some(ref s) = self.super_type() {
s.unbind_from_tree(tree_in_doc);
}
fn unbind_from_tree(&self, context: &UnbindContext) {
self.super_type().unwrap().unbind_from_tree(context);
// https://html.spec.whatwg.org/multipage/#a-browsing-context-is-discarded
if let Some(pipeline_id) = self.pipeline_id.get() {