From 5859109197f35edaee07682547c22d27201a60ae Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Tue, 7 Jun 2016 11:10:40 +0200 Subject: [PATCH] Move the definition of ServoThreadSafeLayoutNode::canvas_data to script. --- components/layout/wrapper.rs | 8 +++----- components/script/dom/node.rs | 7 +++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index c7e400cb588..30435fb884a 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -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 { - 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 { diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 9575a7bea16..f265f83a098 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -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>; fn image_url(&self) -> Option; + fn canvas_data(&self) -> Option; } impl LayoutNodeHelpers for LayoutJS { @@ -1094,6 +1096,11 @@ impl LayoutNodeHelpers for LayoutJS { .image_url() } } + + fn canvas_data(&self) -> Option { + self.downcast() + .map(|canvas| canvas.data()) + } }