diff options
-rw-r--r-- | components/layout/wrapper.rs | 9 | ||||
-rw-r--r-- | components/script/dom/node.rs | 9 |
2 files changed, 11 insertions, 7 deletions
diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index 30435fb884a..753f519f013 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -47,7 +47,6 @@ use script::dom::characterdata::LayoutCharacterDataHelpers; use script::dom::document::{Document, LayoutDocumentHelpers}; use script::dom::element::{Element, LayoutElementHelpers, RawLayoutElementHelpers}; use script::dom::htmlcanvaselement::HTMLCanvasData; -use script::dom::htmliframeelement::HTMLIFrameElement; use script::dom::node::{CAN_BE_FRAGMENTED, HAS_CHANGED, HAS_DIRTY_DESCENDANTS, IS_DIRTY}; use script::dom::node::{LayoutNodeHelpers, Node, OpaqueStyleAndLayoutData}; use script::dom::text::Text; @@ -1156,12 +1155,8 @@ impl<'ln> ThreadSafeLayoutNode for ServoThreadSafeLayoutNode<'ln> { } fn iframe_pipeline_id(&self) -> PipelineId { - use script::dom::htmliframeelement::HTMLIFrameElementLayoutMethods; - unsafe { - let iframe_element = self.get_jsmanaged().downcast::<HTMLIFrameElement>() - .expect("not an iframe element!"); - iframe_element.pipeline_id().unwrap() - } + let this = unsafe { self.get_jsmanaged() }; + this.iframe_pipeline_id() } fn get_colspan(&self) -> u32 { diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index f265f83a098..d3e6a955284 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -41,6 +41,7 @@ use dom::htmlbodyelement::HTMLBodyElement; use dom::htmlcanvaselement::{LayoutHTMLCanvasElementHelpers, HTMLCanvasData}; use dom::htmlcollection::HTMLCollection; use dom::htmlelement::HTMLElement; +use dom::htmliframeelement::{HTMLIFrameElement, HTMLIFrameElementLayoutMethods}; use dom::htmlimageelement::{HTMLImageElement, LayoutHTMLImageElementHelpers}; use dom::htmlinputelement::{HTMLInputElement, LayoutHTMLInputElementHelpers}; use dom::htmltextareaelement::{HTMLTextAreaElement, LayoutHTMLTextAreaElementHelpers}; @@ -58,6 +59,7 @@ use html5ever::tree_builder::QuirksMode; use js::jsapi::{JSContext, JSObject, JSRuntime}; use layout_interface::Msg; use libc::{self, c_void, uintptr_t}; +use msg::constellation_msg::PipelineId; use parse::html::parse_html_fragment; use ref_slice::ref_slice; use script_traits::UntrustedNodeAddress; @@ -967,6 +969,7 @@ pub trait LayoutNodeHelpers { fn selection(&self) -> Option<Range<usize>>; fn image_url(&self) -> Option<Url>; fn canvas_data(&self) -> Option<HTMLCanvasData>; + fn iframe_pipeline_id(&self) -> PipelineId; } impl LayoutNodeHelpers for LayoutJS<Node> { @@ -1101,6 +1104,12 @@ impl LayoutNodeHelpers for LayoutJS<Node> { self.downcast() .map(|canvas| canvas.data()) } + + fn iframe_pipeline_id(&self) -> PipelineId { + let iframe_element = self.downcast::<HTMLIFrameElement>() + .expect("not an iframe element!"); + iframe_element.pipeline_id().unwrap() + } } |