diff options
Diffstat (limited to 'components/layout')
-rw-r--r-- | components/layout/construct.rs | 30 | ||||
-rw-r--r-- | components/layout/layout_task.rs | 5 | ||||
-rw-r--r-- | components/layout/wrapper.rs | 7 |
3 files changed, 22 insertions, 20 deletions
diff --git a/components/layout/construct.rs b/components/layout/construct.rs index c8efb792886..94605e103ec 100644 --- a/components/layout/construct.rs +++ b/components/layout/construct.rs @@ -45,8 +45,9 @@ use wrapper::{PostorderNodeMutTraversal, PseudoElementType, TLayoutNode, ThreadS use gfx::display_list::OpaqueNode; use script::dom::element::ElementTypeId; -use script::dom::node::NodeTypeId; +use script::dom::htmlelement::HTMLElementTypeId; use script::dom::htmlobjectelement::is_image_data; +use script::dom::node::NodeTypeId; use servo_util::opts; use std::collections::DList; use std::mem; @@ -253,24 +254,23 @@ 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::HTMLTableCellElement(_)))) => 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 +547,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 +1261,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 596ba2a24c2..c3e483d0287 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}; @@ -659,8 +660,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 3d1b2ba69ff..aca02bdbb4e 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")) } |