Move the definition of ServoThreadSafeLayoutNode::canvas_data to script.

This commit is contained in:
Ms2ger 2016-06-07 11:10:40 +02:00
parent ef3c6a7773
commit 5859109197
2 changed files with 10 additions and 5 deletions

View file

@ -46,7 +46,7 @@ use script::dom::bindings::js::LayoutJS;
use script::dom::characterdata::LayoutCharacterDataHelpers;
use script::dom::document::{Document, LayoutDocumentHelpers};
use script::dom::element::{Element, LayoutElementHelpers, RawLayoutElementHelpers};
use script::dom::htmlcanvaselement::{LayoutHTMLCanvasElementHelpers, HTMLCanvasData};
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};
@ -1151,10 +1151,8 @@ impl<'ln> ThreadSafeLayoutNode for ServoThreadSafeLayoutNode<'ln> {
}
fn canvas_data(&self) -> Option<HTMLCanvasData> {
unsafe {
let canvas_element = self.get_jsmanaged().downcast();
canvas_element.map(|canvas| canvas.data())
}
let this = unsafe { self.get_jsmanaged() };
this.canvas_data()
}
fn iframe_pipeline_id(&self) -> PipelineId {

View file

@ -38,6 +38,7 @@ use dom::documenttype::DocumentType;
use dom::element::{Element, ElementCreator};
use dom::eventtarget::EventTarget;
use dom::htmlbodyelement::HTMLBodyElement;
use dom::htmlcanvaselement::{LayoutHTMLCanvasElementHelpers, HTMLCanvasData};
use dom::htmlcollection::HTMLCollection;
use dom::htmlelement::HTMLElement;
use dom::htmlimageelement::{HTMLImageElement, LayoutHTMLImageElementHelpers};
@ -965,6 +966,7 @@ pub trait LayoutNodeHelpers {
fn text_content(&self) -> String;
fn selection(&self) -> Option<Range<usize>>;
fn image_url(&self) -> Option<Url>;
fn canvas_data(&self) -> Option<HTMLCanvasData>;
}
impl LayoutNodeHelpers for LayoutJS<Node> {
@ -1094,6 +1096,11 @@ impl LayoutNodeHelpers for LayoutJS<Node> {
.image_url()
}
}
fn canvas_data(&self) -> Option<HTMLCanvasData> {
self.downcast()
.map(|canvas| canvas.data())
}
}