LayoutJS<T> implements Layout*Helpers instead of JS<T>.

This commit is contained in:
Tetsuharu OHZEKI 2015-01-11 04:33:33 +09:00
parent a5d7240534
commit e2bd9eadd8
8 changed files with 39 additions and 39 deletions

View file

@ -5,7 +5,7 @@
use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding; use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding;
use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2DMethods; use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2DMethods;
use dom::bindings::global::{GlobalRef, GlobalField}; use dom::bindings::global::{GlobalRef, GlobalField};
use dom::bindings::js::{JS, JSRef, Temporary}; use dom::bindings::js::{JS, JSRef, LayoutJS, Temporary};
use dom::bindings::utils::{Reflector, reflect_dom_object}; use dom::bindings::utils::{Reflector, reflect_dom_object};
use dom::htmlcanvaselement::HTMLCanvasElement; use dom::htmlcanvaselement::HTMLCanvasElement;
@ -50,7 +50,7 @@ pub trait LayoutCanvasRenderingContext2DHelpers {
unsafe fn get_renderer(&self) -> Sender<CanvasMsg>; unsafe fn get_renderer(&self) -> Sender<CanvasMsg>;
} }
impl LayoutCanvasRenderingContext2DHelpers for JS<CanvasRenderingContext2D> { impl LayoutCanvasRenderingContext2DHelpers for LayoutJS<CanvasRenderingContext2D> {
unsafe fn get_renderer(&self) -> Sender<CanvasMsg> { unsafe fn get_renderer(&self) -> Sender<CanvasMsg> {
(*self.unsafe_get()).renderer.clone() (*self.unsafe_get()).renderer.clone()
} }

View file

@ -23,7 +23,7 @@ use dom::bindings::error::{ErrorResult, Fallible};
use dom::bindings::error::Error::{NotSupported, InvalidCharacter}; use dom::bindings::error::Error::{NotSupported, InvalidCharacter};
use dom::bindings::error::Error::{HierarchyRequest, NamespaceError}; use dom::bindings::error::Error::{HierarchyRequest, NamespaceError};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{MutNullableJS, JS, JSRef, Temporary, TemporaryPushable}; use dom::bindings::js::{MutNullableJS, JS, JSRef, LayoutJS, Temporary, TemporaryPushable};
use dom::bindings::js::{OptionalRootable, RootedReference}; use dom::bindings::js::{OptionalRootable, RootedReference};
use dom::bindings::utils::reflect_dom_object; use dom::bindings::utils::reflect_dom_object;
use dom::bindings::utils::xml_name_type; use dom::bindings::utils::xml_name_type;
@ -395,7 +395,7 @@ pub trait LayoutDocumentHelpers {
unsafe fn is_html_document_for_layout(&self) -> bool; unsafe fn is_html_document_for_layout(&self) -> bool;
} }
impl LayoutDocumentHelpers for JS<Document> { impl LayoutDocumentHelpers for LayoutJS<Document> {
#[allow(unrooted_must_root)] #[allow(unrooted_must_root)]
#[inline] #[inline]
unsafe fn is_html_document_for_layout(&self) -> bool { unsafe fn is_html_document_for_layout(&self) -> bool {

View file

@ -23,7 +23,7 @@ use dom::bindings::codegen::InheritTypes::{HTMLTableRowElementDerived, HTMLTextA
use dom::bindings::codegen::InheritTypes::{HTMLTableSectionElementDerived, NodeCast}; use dom::bindings::codegen::InheritTypes::{HTMLTableSectionElementDerived, NodeCast};
use dom::bindings::error::{ErrorResult, Fallible}; use dom::bindings::error::{ErrorResult, Fallible};
use dom::bindings::error::Error::{NamespaceError, InvalidCharacter, Syntax}; use dom::bindings::error::Error::{NamespaceError, InvalidCharacter, Syntax};
use dom::bindings::js::{MutNullableJS, JS, JSRef, Temporary, TemporaryPushable}; use dom::bindings::js::{MutNullableJS, JS, JSRef, LayoutJS, Temporary, TemporaryPushable};
use dom::bindings::js::{OptionalRootable, Root}; use dom::bindings::js::{OptionalRootable, Root};
use dom::bindings::utils::xml_name_type; use dom::bindings::utils::xml_name_type;
use dom::bindings::utils::XMLName::{QName, Name, InvalidXMLName}; use dom::bindings::utils::XMLName::{QName, Name, InvalidXMLName};
@ -376,13 +376,13 @@ pub trait LayoutElementHelpers {
unsafe fn has_attr_for_layout(&self, namespace: &Namespace, name: &Atom) -> bool; unsafe fn has_attr_for_layout(&self, namespace: &Namespace, name: &Atom) -> bool;
} }
impl LayoutElementHelpers for JS<Element> { impl LayoutElementHelpers for LayoutJS<Element> {
#[inline] #[inline]
unsafe fn html_element_in_html_document_for_layout(&self) -> bool { unsafe fn html_element_in_html_document_for_layout(&self) -> bool {
if (*self.unsafe_get()).namespace != ns!(HTML) { if (*self.unsafe_get()).namespace != ns!(HTML) {
return false return false
} }
let node: JS<Node> = self.transmute_copy(); let node: LayoutJS<Node> = self.transmute_copy();
node.owner_doc_for_layout().is_html_document_for_layout() node.owner_doc_for_layout().is_html_document_for_layout()
} }

View file

@ -10,7 +10,7 @@ use dom::bindings::codegen::Bindings::HTMLCanvasElementBinding::HTMLCanvasElemen
use dom::bindings::codegen::InheritTypes::HTMLCanvasElementDerived; use dom::bindings::codegen::InheritTypes::HTMLCanvasElementDerived;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast}; use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{MutNullableJS, JS, JSRef, Temporary}; use dom::bindings::js::{MutNullableJS, JSRef, LayoutJS, Temporary};
use dom::canvasrenderingcontext2d::{CanvasRenderingContext2D, LayoutCanvasRenderingContext2DHelpers}; use dom::canvasrenderingcontext2d::{CanvasRenderingContext2D, LayoutCanvasRenderingContext2DHelpers};
use dom::document::Document; use dom::document::Document;
use dom::element::{Element, AttributeHandlers}; use dom::element::{Element, AttributeHandlers};
@ -68,9 +68,9 @@ pub trait LayoutHTMLCanvasElementHelpers {
unsafe fn get_canvas_height(&self) -> u32; unsafe fn get_canvas_height(&self) -> u32;
} }
impl LayoutHTMLCanvasElementHelpers for JS<HTMLCanvasElement> { impl LayoutHTMLCanvasElementHelpers for LayoutJS<HTMLCanvasElement> {
unsafe fn get_renderer(&self) -> Option<Sender<CanvasMsg>> { unsafe fn get_renderer(&self) -> Option<Sender<CanvasMsg>> {
let context = (*self.unsafe_get()).context.get_inner(); let context = (*self.unsafe_get()).context.get_inner_as_layout();
context.map(|cx| cx.get_renderer()) context.map(|cx| cx.get_renderer())
} }

View file

@ -8,7 +8,7 @@ use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::HTMLImageElementBinding; use dom::bindings::codegen::Bindings::HTMLImageElementBinding;
use dom::bindings::codegen::Bindings::HTMLImageElementBinding::HTMLImageElementMethods; use dom::bindings::codegen::Bindings::HTMLImageElementBinding::HTMLImageElementMethods;
use dom::bindings::codegen::InheritTypes::{NodeCast, ElementCast, HTMLElementCast, HTMLImageElementDerived}; use dom::bindings::codegen::InheritTypes::{NodeCast, ElementCast, HTMLElementCast, HTMLImageElementDerived};
use dom::bindings::js::{JS, JSRef, Temporary}; use dom::bindings::js::{JSRef, LayoutJS, Temporary};
use dom::document::{Document, DocumentHelpers}; use dom::document::{Document, DocumentHelpers};
use dom::element::Element; use dom::element::Element;
use dom::element::AttributeHandlers; use dom::element::AttributeHandlers;
@ -88,7 +88,7 @@ pub trait LayoutHTMLImageElementHelpers {
unsafe fn image(&self) -> Option<Url>; unsafe fn image(&self) -> Option<Url>;
} }
impl LayoutHTMLImageElementHelpers for JS<HTMLImageElement> { impl LayoutHTMLImageElementHelpers for LayoutJS<HTMLImageElement> {
unsafe fn image(&self) -> Option<Url> { unsafe fn image(&self) -> Option<Url> {
(*self.unsafe_get()).image.borrow_for_layout().clone() (*self.unsafe_get()).image.borrow_for_layout().clone()
} }

View file

@ -15,7 +15,7 @@ use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, HTMLInp
use dom::bindings::codegen::InheritTypes::{HTMLInputElementDerived, HTMLFieldSetElementDerived, EventTargetCast}; use dom::bindings::codegen::InheritTypes::{HTMLInputElementDerived, HTMLFieldSetElementDerived, EventTargetCast};
use dom::bindings::codegen::InheritTypes::KeyboardEventCast; use dom::bindings::codegen::InheritTypes::KeyboardEventCast;
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{Comparable, JS, JSRef, Root, Temporary, OptionalRootable}; use dom::bindings::js::{Comparable, JSRef, LayoutJS, Root, Temporary, OptionalRootable};
use dom::bindings::js::{ResultRootable, RootedReference, MutNullableJS}; use dom::bindings::js::{ResultRootable, RootedReference, MutNullableJS};
use dom::document::{Document, DocumentHelpers}; use dom::document::{Document, DocumentHelpers};
use dom::element::{AttributeHandlers, Element}; use dom::element::{AttributeHandlers, Element};
@ -140,15 +140,15 @@ pub trait RawLayoutHTMLInputElementHelpers {
unsafe fn get_size_for_layout(&self) -> u32; unsafe fn get_size_for_layout(&self) -> u32;
} }
impl LayoutHTMLInputElementHelpers for JS<HTMLInputElement> { impl LayoutHTMLInputElementHelpers for LayoutJS<HTMLInputElement> {
#[allow(unrooted_must_root)] #[allow(unrooted_must_root)]
unsafe fn get_value_for_layout(self) -> String { unsafe fn get_value_for_layout(self) -> String {
unsafe fn get_raw_textinput_value(input: JS<HTMLInputElement>) -> String { unsafe fn get_raw_textinput_value(input: LayoutJS<HTMLInputElement>) -> String {
(*input.unsafe_get()).textinput.borrow_for_layout().get_content() (*input.unsafe_get()).textinput.borrow_for_layout().get_content()
} }
unsafe fn get_raw_attr_value(input: JS<HTMLInputElement>) -> Option<String> { unsafe fn get_raw_attr_value(input: LayoutJS<HTMLInputElement>) -> Option<String> {
let elem: JS<Element> = input.transmute_copy(); let elem: LayoutJS<Element> = input.transmute_copy();
(*elem.unsafe_get()).get_attr_val_for_layout(&ns!(""), &atom!("value")) (*elem.unsafe_get()).get_attr_val_for_layout(&ns!(""), &atom!("value"))
.map(|s| s.to_owned()) .map(|s| s.to_owned())
} }

View file

@ -12,7 +12,7 @@ use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, NodeCast};
use dom::bindings::codegen::InheritTypes::{HTMLTextAreaElementDerived, HTMLFieldSetElementDerived}; use dom::bindings::codegen::InheritTypes::{HTMLTextAreaElementDerived, HTMLFieldSetElementDerived};
use dom::bindings::codegen::InheritTypes::{KeyboardEventCast, TextDerived}; use dom::bindings::codegen::InheritTypes::{KeyboardEventCast, TextDerived};
use dom::bindings::js::{JS, JSRef, Temporary, OptionalRootable}; use dom::bindings::js::{JSRef, LayoutJS, Temporary, OptionalRootable};
use dom::document::{Document, DocumentHelpers}; use dom::document::{Document, DocumentHelpers};
use dom::element::{Element, AttributeHandlers}; use dom::element::{Element, AttributeHandlers};
use dom::event::Event; use dom::event::Event;
@ -58,7 +58,7 @@ pub trait RawLayoutHTMLTextAreaElementHelpers {
unsafe fn get_rows_for_layout(&self) -> u32; unsafe fn get_rows_for_layout(&self) -> u32;
} }
impl LayoutHTMLTextAreaElementHelpers for JS<HTMLTextAreaElement> { impl LayoutHTMLTextAreaElementHelpers for LayoutJS<HTMLTextAreaElement> {
#[allow(unrooted_must_root)] #[allow(unrooted_must_root)]
unsafe fn get_value_for_layout(self) -> String { unsafe fn get_value_for_layout(self) -> String {
(*self.unsafe_get()).textinput.borrow_for_layout().get_content() (*self.unsafe_get()).textinput.borrow_for_layout().get_content()

View file

@ -23,7 +23,7 @@ use dom::bindings::conversions;
use dom::bindings::error::Fallible; use dom::bindings::error::Fallible;
use dom::bindings::error::Error::{NotFound, HierarchyRequest, Syntax}; use dom::bindings::error::Error::{NotFound, HierarchyRequest, Syntax};
use dom::bindings::global::GlobalRef; use dom::bindings::global::GlobalRef;
use dom::bindings::js::{JS, JSRef, RootedReference, Temporary, Root}; use dom::bindings::js::{JS, JSRef, LayoutJS, RootedReference, Temporary, Root};
use dom::bindings::js::{TemporaryPushable, OptionalRootedRootable}; use dom::bindings::js::{TemporaryPushable, OptionalRootedRootable};
use dom::bindings::js::{ResultRootable, OptionalRootable, MutNullableJS}; use dom::bindings::js::{ResultRootable, OptionalRootable, MutNullableJS};
use dom::bindings::trace::JSTraceable; use dom::bindings::trace::JSTraceable;
@ -914,20 +914,20 @@ pub fn from_untrusted_node_address(runtime: *mut JSRuntime, candidate: Untrusted
pub trait LayoutNodeHelpers { pub trait LayoutNodeHelpers {
unsafe fn type_id_for_layout(&self) -> NodeTypeId; unsafe fn type_id_for_layout(&self) -> NodeTypeId;
unsafe fn parent_node_ref(&self) -> Option<JS<Node>>; unsafe fn parent_node_ref(&self) -> Option<LayoutJS<Node>>;
unsafe fn first_child_ref(&self) -> Option<JS<Node>>; unsafe fn first_child_ref(&self) -> Option<LayoutJS<Node>>;
unsafe fn last_child_ref(&self) -> Option<JS<Node>>; unsafe fn last_child_ref(&self) -> Option<LayoutJS<Node>>;
unsafe fn prev_sibling_ref(&self) -> Option<JS<Node>>; unsafe fn prev_sibling_ref(&self) -> Option<LayoutJS<Node>>;
unsafe fn next_sibling_ref(&self) -> Option<JS<Node>>; unsafe fn next_sibling_ref(&self) -> Option<LayoutJS<Node>>;
unsafe fn owner_doc_for_layout(&self) -> JS<Document>; unsafe fn owner_doc_for_layout(&self) -> LayoutJS<Document>;
unsafe fn is_element_for_layout(&self) -> bool; unsafe fn is_element_for_layout(&self) -> bool;
unsafe fn get_flag(self, flag: NodeFlags) -> bool; unsafe fn get_flag(self, flag: NodeFlags) -> bool;
unsafe fn set_flag(self, flag: NodeFlags, value: bool); unsafe fn set_flag(self, flag: NodeFlags, value: bool);
} }
impl LayoutNodeHelpers for JS<Node> { impl LayoutNodeHelpers for LayoutJS<Node> {
#[inline] #[inline]
unsafe fn type_id_for_layout(&self) -> NodeTypeId { unsafe fn type_id_for_layout(&self) -> NodeTypeId {
(*self.unsafe_get()).type_id (*self.unsafe_get()).type_id
@ -939,33 +939,33 @@ impl LayoutNodeHelpers for JS<Node> {
} }
#[inline] #[inline]
unsafe fn parent_node_ref(&self) -> Option<JS<Node>> { unsafe fn parent_node_ref(&self) -> Option<LayoutJS<Node>> {
(*self.unsafe_get()).parent_node.get_inner() (*self.unsafe_get()).parent_node.get_inner_as_layout()
} }
#[inline] #[inline]
unsafe fn first_child_ref(&self) -> Option<JS<Node>> { unsafe fn first_child_ref(&self) -> Option<LayoutJS<Node>> {
(*self.unsafe_get()).first_child.get_inner() (*self.unsafe_get()).first_child.get_inner_as_layout()
} }
#[inline] #[inline]
unsafe fn last_child_ref(&self) -> Option<JS<Node>> { unsafe fn last_child_ref(&self) -> Option<LayoutJS<Node>> {
(*self.unsafe_get()).last_child.get_inner() (*self.unsafe_get()).last_child.get_inner_as_layout()
} }
#[inline] #[inline]
unsafe fn prev_sibling_ref(&self) -> Option<JS<Node>> { unsafe fn prev_sibling_ref(&self) -> Option<LayoutJS<Node>> {
(*self.unsafe_get()).prev_sibling.get_inner() (*self.unsafe_get()).prev_sibling.get_inner_as_layout()
} }
#[inline] #[inline]
unsafe fn next_sibling_ref(&self) -> Option<JS<Node>> { unsafe fn next_sibling_ref(&self) -> Option<LayoutJS<Node>> {
(*self.unsafe_get()).next_sibling.get_inner() (*self.unsafe_get()).next_sibling.get_inner_as_layout()
} }
#[inline] #[inline]
unsafe fn owner_doc_for_layout(&self) -> JS<Document> { unsafe fn owner_doc_for_layout(&self) -> LayoutJS<Document> {
(*self.unsafe_get()).owner_doc.get_inner().unwrap() (*self.unsafe_get()).owner_doc.get_inner_as_layout().unwrap()
} }
#[inline] #[inline]