aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/layout/wrapper.rs9
-rw-r--r--components/script/dom/node.rs9
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()
+ }
}