aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/lib.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2017-07-15 15:44:45 +0200
committerEmilio Cobos Álvarez <emilio@crisal.io>2017-07-15 16:41:12 +0200
commitbf9369b29d42255ea52b172e3ddd9b44db922d44 (patch)
tree46ade80599ca2cd87eeb68a98a8992aefa421dcc /components/script/lib.rs
parentf9642b36bda3beb01dfedbc33e3586e5f7df473a (diff)
downloadservo-bf9369b29d42255ea52b172e3ddd9b44db922d44.tar.gz
servo-bf9369b29d42255ea52b172e3ddd9b44db922d44.zip
script: Move the layout_wrapper outside of script.
This allows us to have ensure_data() and clear_data() functions on the TElement trait, instead of hacking around it adding methods in random traits. This also allows us to do some further cleanup, which I'd rather do in a followup.
Diffstat (limited to 'components/script/lib.rs')
-rw-r--r--components/script/lib.rs22
1 files changed, 18 insertions, 4 deletions
diff --git a/components/script/lib.rs b/components/script/lib.rs
index 82b1f80ab88..1966ea6df93 100644
--- a/components/script/lib.rs
+++ b/components/script/lib.rs
@@ -26,7 +26,6 @@
extern crate angle;
extern crate app_units;
-extern crate atomic_refcell;
extern crate audio_video_metadata;
extern crate base64;
#[macro_use]
@@ -46,7 +45,6 @@ extern crate domobject_derive;
extern crate encoding;
extern crate euclid;
extern crate fnv;
-extern crate gfx_traits;
extern crate gleam;
extern crate half;
#[macro_use] extern crate heapsize;
@@ -78,7 +76,6 @@ extern crate parking_lot;
extern crate phf;
#[macro_use]
extern crate profile_traits;
-extern crate range;
extern crate ref_filter_map;
extern crate ref_slice;
extern crate regex;
@@ -115,7 +112,6 @@ pub mod document_loader;
mod dom;
pub mod fetch;
mod layout_image;
-pub mod layout_wrapper;
mod mem;
mod microtask;
mod network_listener;
@@ -132,6 +128,24 @@ mod timers;
mod unpremultiplytable;
mod webdriver_handlers;
+/// A module with everything layout can use from script.
+///
+/// Try to keep this small!
+///
+/// TODO(emilio): A few of the FooHelpers can go away, presumably...
+pub mod layout_exports {
+ 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, PendingRestyle};
+ pub use dom::element::{Element, LayoutElementHelpers, RawLayoutElementHelpers};
+ pub use dom::node::{CAN_BE_FRAGMENTED, DIRTY_ON_VIEWPORT_SIZE_CHANGE, HAS_DIRTY_DESCENDANTS, IS_IN_DOC};
+ pub use dom::node::{HANDLED_SNAPSHOT, HAS_SNAPSHOT};
+ pub use dom::node::{LayoutNodeHelpers, Node};
+ pub use dom::text::Text;
+}
+
use dom::bindings::codegen::RegisterBindings;
use dom::bindings::proxyhandler;
use script_traits::SWManagerSenders;