diff options
Diffstat (limited to 'components/layout')
-rw-r--r-- | components/layout/construct.rs | 29 | ||||
-rw-r--r-- | components/layout/layout_task.rs | 5 | ||||
-rw-r--r-- | components/layout/wrapper.rs | 7 |
3 files changed, 22 insertions, 19 deletions
diff --git a/components/layout/construct.rs b/components/layout/construct.rs index c8efb792886..52318ff4d8a 100644 --- a/components/layout/construct.rs +++ b/components/layout/construct.rs @@ -45,6 +45,7 @@ use wrapper::{PostorderNodeMutTraversal, PseudoElementType, TLayoutNode, ThreadS use gfx::display_list::OpaqueNode; use script::dom::element::ElementTypeId; +use script::dom::htmlelement::HTMLElementTypeId; use script::dom::node::NodeTypeId; use script::dom::htmlobjectelement::is_image_data; use servo_util::opts; @@ -253,24 +254,24 @@ impl<'a> FlowConstructor<'a> { pub fn build_specific_fragment_info_for_node(&mut self, node: &ThreadSafeLayoutNode) -> SpecificFragmentInfo { match node.type_id() { - Some(NodeTypeId::Element(ElementTypeId::HTMLIFrameElement)) => { + Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLIFrameElement))) => { SpecificFragmentInfo::Iframe(box IframeFragmentInfo::new(node)) } - Some(NodeTypeId::Element(ElementTypeId::HTMLImageElement)) => { + Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLImageElement))) => { self.build_fragment_info_for_image(node, node.image_url()) } - Some(NodeTypeId::Element(ElementTypeId::HTMLObjectElement)) => { + Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLObjectElement))) => { let data = node.get_object_data(); self.build_fragment_info_for_image(node, data) } - Some(NodeTypeId::Element(ElementTypeId::HTMLTableElement)) => SpecificFragmentInfo::TableWrapper, - Some(NodeTypeId::Element(ElementTypeId::HTMLTableColElement)) => { + Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableElement))) => SpecificFragmentInfo::TableWrapper, + Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableColElement))) => { SpecificFragmentInfo::TableColumn(TableColumnFragmentInfo::new(node)) } - Some(NodeTypeId::Element(ElementTypeId::HTMLTableDataCellElement)) | - Some(NodeTypeId::Element(ElementTypeId::HTMLTableHeaderCellElement)) => SpecificFragmentInfo::TableCell, - Some(NodeTypeId::Element(ElementTypeId::HTMLTableRowElement)) | - Some(NodeTypeId::Element(ElementTypeId::HTMLTableSectionElement)) => SpecificFragmentInfo::TableRow, + Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableDataCellElement))) | + Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableHeaderCellElement))) => SpecificFragmentInfo::TableCell, + Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableRowElement))) | + Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableSectionElement))) => SpecificFragmentInfo::TableRow, Some(NodeTypeId::Text) => SpecificFragmentInfo::UnscannedText(UnscannedTextFragmentInfo::new(node)), _ => { // This includes pseudo-elements. @@ -547,11 +548,11 @@ impl<'a> FlowConstructor<'a> { fn build_flow_for_block(&mut self, flow: FlowRef, node: &ThreadSafeLayoutNode) -> ConstructionResult { let initial_fragment = if node.get_pseudo_element_type() != PseudoElementType::Normal || - node.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLInputElement)) || - node.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLTextAreaElement)) { + node.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLInputElement))) || + node.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTextAreaElement))) { // A TextArea's text contents are displayed through the input text // box, so don't construct them. - if node.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLTextAreaElement)) { + if node.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTextAreaElement))) { for kid in node.children() { kid.set_flow_construction_result(ConstructionResult::None) } @@ -1261,8 +1262,8 @@ impl<'ln> NodeUtils for ThreadSafeLayoutNode<'ln> { Some(NodeTypeId::DocumentFragment) | Some(NodeTypeId::Document) | None | - Some(NodeTypeId::Element(ElementTypeId::HTMLImageElement)) => true, - Some(NodeTypeId::Element(ElementTypeId::HTMLObjectElement)) => self.has_object_data(), + Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLImageElement))) => true, + Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLObjectElement))) => self.has_object_data(), Some(NodeTypeId::Element(_)) => false, } } diff --git a/components/layout/layout_task.rs b/components/layout/layout_task.rs index 2eeeb31409f..3ac40adcc76 100644 --- a/components/layout/layout_task.rs +++ b/components/layout/layout_task.rs @@ -34,6 +34,7 @@ use log; use script::dom::bindings::js::JS; use script::dom::node::{LayoutDataRef, Node, NodeTypeId}; use script::dom::element::ElementTypeId; +use script::dom::htmlelement::HTMLElementTypeId; use script::layout_interface::{ContentBoxResponse, ContentBoxesResponse}; use script::layout_interface::{ContentBoxesQuery, ContentBoxQuery}; use script::layout_interface::{HitTestResponse, LayoutChan, LayoutRPC}; @@ -657,8 +658,8 @@ impl LayoutTask { // it with extreme prejudice. let mut color = color::rgba(1.0, 1.0, 1.0, 1.0); for child in node.traverse_preorder() { - if child.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLHtmlElement)) || - child.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLBodyElement)) { + if child.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLHtmlElement))) || + child.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLBodyElement))) { let element_bg_color = { let thread_safe_child = ThreadSafeLayoutNode::new(&child); thread_safe_child.style() diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index 448b4c9e6c9..a4a1527e979 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -44,6 +44,7 @@ use script::dom::bindings::codegen::InheritTypes::{HTMLTextAreaElementCast, Node use script::dom::bindings::js::JS; use script::dom::element::{Element, ElementTypeId}; use script::dom::element::{LayoutElementHelpers, RawLayoutElementHelpers}; +use script::dom::htmlelement::HTMLElementTypeId; use script::dom::htmliframeelement::HTMLIFrameElement; use script::dom::htmlimageelement::LayoutHTMLImageElementHelpers; use script::dom::htmlinputelement::LayoutHTMLInputElementHelpers; @@ -516,9 +517,9 @@ impl<'le> TElement<'le> for LayoutElement<'le> { match NodeCast::from_actual(self.element).type_id_for_layout() { // http://www.whatwg.org/specs/web-apps/current-work/multipage/selectors.html# // selector-link - NodeTypeId::Element(ElementTypeId::HTMLAnchorElement) | - NodeTypeId::Element(ElementTypeId::HTMLAreaElement) | - NodeTypeId::Element(ElementTypeId::HTMLLinkElement) => { + NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLAnchorElement)) | + NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLAreaElement)) | + NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLLinkElement)) => { unsafe { self.element.get_attr_val_for_layout(&ns!(""), &atom!("href")) } |