From 6a1722e18d926aa0a177e4b9a672a90bf4c541f5 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Tue, 7 Jun 2016 13:44:54 +0200 Subject: [PATCH] Make layout only depend on script::layout_interface. --- components/layout/construct.rs | 6 +++--- components/layout/fragment.rs | 2 +- components/layout/layout_thread.rs | 2 +- components/layout/opaque_node.rs | 4 ++-- components/layout/wrapper.rs | 17 ++++++----------- components/script/layout_interface.rs | 15 ++++++++++++++- 6 files changed, 27 insertions(+), 19 deletions(-) diff --git a/components/layout/construct.rs b/components/layout/construct.rs index 8d37b6aa6ba..3dfcfdf2689 100644 --- a/components/layout/construct.rs +++ b/components/layout/construct.rs @@ -34,9 +34,9 @@ use inline::{InlineFragmentNodeInfo, LAST_FRAGMENT_OF_ELEMENT}; use list_item::{ListItemFlow, ListStyleTypeContent}; use multicol::{MulticolFlow, MulticolColumnFlow}; use parallel; -use script::dom::bindings::inheritance::{CharacterDataTypeId, ElementTypeId}; -use script::dom::bindings::inheritance::{HTMLElementTypeId, NodeTypeId}; -use script::dom::htmlobjectelement::is_image_data; +use script::layout_interface::is_image_data; +use script::layout_interface::{CharacterDataTypeId, ElementTypeId}; +use script::layout_interface::{HTMLElementTypeId, NodeTypeId}; use std::borrow::ToOwned; use std::collections::LinkedList; use std::marker::PhantomData; diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index 705868a5afe..640b7acce1a 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -30,7 +30,7 @@ use net_traits::image::base::{Image, ImageMetadata}; use net_traits::image_cache_thread::{ImageOrMetadataAvailable, UsePlaceholder}; use range::*; use rustc_serialize::{Encodable, Encoder}; -use script::dom::htmlcanvaselement::HTMLCanvasData; +use script::layout_interface::HTMLCanvasData; use std::borrow::ToOwned; use std::cmp::{max, min}; use std::collections::LinkedList; diff --git a/components/layout/layout_thread.rs b/components/layout/layout_thread.rs index b48813a0c31..da6fe4908db 100644 --- a/components/layout/layout_thread.rs +++ b/components/layout/layout_thread.rs @@ -47,7 +47,7 @@ use query::process_offset_parent_query; use query::{LayoutRPCImpl, process_content_box_request, process_content_boxes_request}; use query::{process_node_geometry_request, process_node_layer_id_request, process_node_scroll_area_request}; use query::{process_node_overflow_request, process_resolved_style_request, process_margin_style_query}; -use script::dom::node::OpaqueStyleAndLayoutData; +use script::layout_interface::OpaqueStyleAndLayoutData; use script::layout_interface::{LayoutRPC, OffsetParentResponse, NodeOverflowResponse, MarginStyleResponse}; use script::layout_interface::{Msg, NewLayoutThreadInfo, Reflow, ReflowQueryType, ScriptReflow}; use script::reporter::CSSErrorReporter; diff --git a/components/layout/opaque_node.rs b/components/layout/opaque_node.rs index 023b9cb34c0..a05a49d48e6 100644 --- a/components/layout/opaque_node.rs +++ b/components/layout/opaque_node.rs @@ -6,8 +6,8 @@ use gfx::display_list::OpaqueNode; use libc::{c_void, uintptr_t}; -use script::dom::bindings::js::LayoutJS; -use script::dom::node::Node; +use script::layout_interface::LayoutJS; +use script::layout_interface::Node; use script::layout_interface::TrustedNodeAddress; use script_traits::UntrustedNodeAddress; diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index 7c60ed4625b..b6c5266c2cb 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -39,17 +39,12 @@ use incremental::RestyleDamage; use msg::constellation_msg::PipelineId; use opaque_node::OpaqueNodeMethods; use range::Range; -use script::dom::bindings::inheritance::{CharacterDataTypeId, ElementTypeId}; -use script::dom::bindings::inheritance::{HTMLElementTypeId, NodeTypeId}; -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::HTMLCanvasData; -use script::dom::node::{CAN_BE_FRAGMENTED, HAS_CHANGED, HAS_DIRTY_DESCENDANTS, IS_DIRTY}; -use script::dom::node::{LayoutNodeHelpers, Node, OpaqueStyleAndLayoutData}; -use script::dom::text::Text; -use script::layout_interface::TrustedNodeAddress; +use script::layout_interface::{CAN_BE_FRAGMENTED, HAS_CHANGED, HAS_DIRTY_DESCENDANTS, IS_DIRTY}; +use script::layout_interface::{CharacterDataTypeId, Document, Element, ElementTypeId}; +use script::layout_interface::{HTMLCanvasData, HTMLElementTypeId, LayoutCharacterDataHelpers}; +use script::layout_interface::{LayoutDocumentHelpers, LayoutElementHelpers, LayoutJS}; +use script::layout_interface::{LayoutNodeHelpers, Node, NodeTypeId, OpaqueStyleAndLayoutData}; +use script::layout_interface::{RawLayoutElementHelpers, Text, TrustedNodeAddress}; use selectors::matching::{DeclarationBlock, ElementFlags}; use selectors::parser::{AttrSelector, NamespaceConstraint}; use smallvec::VecLike; diff --git a/components/script/layout_interface.rs b/components/script/layout_interface.rs index 61c99bc530b..37b6d169481 100644 --- a/components/script/layout_interface.rs +++ b/components/script/layout_interface.rs @@ -7,7 +7,6 @@ //! the DOM to be placed in a separate crate from layout. use app_units::Au; -use dom::node::OpaqueStyleAndLayoutData; use euclid::point::Point2D; use euclid::rect::Rect; use gfx_traits::{Epoch, LayerId}; @@ -27,7 +26,21 @@ use style::servo::Stylesheet; use url::Url; use util::ipc::OptionalOpaqueIpcSender; +pub use dom::bindings::inheritance::{CharacterDataTypeId, ElementTypeId}; +pub use dom::bindings::inheritance::{HTMLElementTypeId, NodeTypeId}; +pub use dom::bindings::js::LayoutJS; +pub use dom::characterdata::LayoutCharacterDataHelpers; +pub use dom::document::{Document, LayoutDocumentHelpers}; +pub use dom::element::{Element, LayoutElementHelpers, RawLayoutElementHelpers}; +pub use dom::htmlcanvaselement::HTMLCanvasData; +pub use dom::htmlobjectelement::is_image_data; +pub use dom::node::{CAN_BE_FRAGMENTED, HAS_CHANGED, HAS_DIRTY_DESCENDANTS, IS_DIRTY}; +pub use dom::node::LayoutNodeHelpers; +pub use dom::node::Node; +pub use dom::node::OpaqueStyleAndLayoutData; pub use dom::node::TrustedNodeAddress; +pub use dom::text::Text; + /// Asynchronous messages that script can send to layout. pub enum Msg {