aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2016-06-07 11:09:14 -0500
committerbors-servo <lbergstrom+bors@mozilla.com>2016-06-07 11:09:14 -0500
commit1e3edf3ca454b91dfdc267c5b2f4347eda9b7cb6 (patch)
tree3f9cbdf968bf83453f8f0ee5bb3c26495925346c /components/layout
parentf56848a0e8a9137f128088d1dd0f86e11fad841a (diff)
parentaea03b2f921a41bf78791a877539f1fafab887dd (diff)
downloadservo-1e3edf3ca454b91dfdc267c5b2f4347eda9b7cb6.tar.gz
servo-1e3edf3ca454b91dfdc267c5b2f4347eda9b7cb6.zip
Auto merge of #11656 - Ms2ger:reduce-dom-exposure, r=nox
Reduce the amount of dom code used outside the script crate. <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11656) <!-- Reviewable:end -->
Diffstat (limited to 'components/layout')
-rw-r--r--components/layout/construct.rs6
-rw-r--r--components/layout/fragment.rs2
-rw-r--r--components/layout/layout_thread.rs2
-rw-r--r--components/layout/opaque_node.rs4
-rw-r--r--components/layout/wrapper.rs57
5 files changed, 24 insertions, 47 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 6307e5a79fc..5bef2050932 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 10dde4b2ff0..b6c5266c2cb 100644
--- a/components/layout/wrapper.rs
+++ b/components/layout/wrapper.rs
@@ -39,22 +39,12 @@ use incremental::RestyleDamage;
use msg::constellation_msg::PipelineId;
use opaque_node::OpaqueNodeMethods;
use range::Range;
-use script::dom::attr::AttrValue;
-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::{LayoutHTMLCanvasElementHelpers, HTMLCanvasData};
-use script::dom::htmliframeelement::HTMLIFrameElement;
-use script::dom::htmlimageelement::LayoutHTMLImageElementHelpers;
-use script::dom::htmlinputelement::{HTMLInputElement, LayoutHTMLInputElementHelpers};
-use script::dom::htmltextareaelement::{HTMLTextAreaElement, LayoutHTMLTextAreaElementHelpers};
-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;
@@ -63,6 +53,7 @@ use std::marker::PhantomData;
use std::mem::{transmute, transmute_copy};
use std::sync::Arc;
use string_cache::{Atom, BorrowedAtom, BorrowedNamespace, Namespace};
+use style::attr::AttrValue;
use style::computed_values::content::ContentItem;
use style::computed_values::{content, display};
use style::dom::{PresentationalHintsSynthetizer, TDocument, TElement, TNode, UnsafeNode};
@@ -1142,39 +1133,25 @@ impl<'ln> ThreadSafeLayoutNode for ServoThreadSafeLayoutNode<'ln> {
fn selection(&self) -> Option<Range<ByteIndex>> {
let this = unsafe { self.get_jsmanaged() };
- let selection = if let Some(area) = this.downcast::<HTMLTextAreaElement>() {
- unsafe { area.selection_for_layout() }
- } else if let Some(input) = this.downcast::<HTMLInputElement>() {
- unsafe { input.selection_for_layout() }
- } else {
- return None;
- };
- selection.map(|range| Range::new(ByteIndex(range.start as isize),
- ByteIndex(range.len() as isize)))
+ this.selection().map(|range| {
+ Range::new(ByteIndex(range.start as isize),
+ ByteIndex(range.len() as isize))
+ })
}
fn image_url(&self) -> Option<Url> {
- unsafe {
- self.get_jsmanaged().downcast()
- .expect("not an image!")
- .image_url()
- }
+ let this = unsafe { self.get_jsmanaged() };
+ this.image_url()
}
fn canvas_data(&self) -> Option<HTMLCanvasData> {
- 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 {
- use script::dom::htmliframeelement::HTMLIFrameElementLayoutMethods;
- unsafe {
- let iframe_element = self.get_jsmanaged().downcast::<HTMLIFrameElement>()
- .expect("not an iframe element!");
- iframe_element.pipeline_id().unwrap()
- }
+ let this = unsafe { self.get_jsmanaged() };
+ this.iframe_pipeline_id()
}
fn get_colspan(&self) -> u32 {