diff options
Diffstat (limited to 'components/script_traits')
-rw-r--r-- | components/script_traits/Cargo.toml | 4 | ||||
-rw-r--r-- | components/script_traits/lib.rs | 21 |
2 files changed, 13 insertions, 12 deletions
diff --git a/components/script_traits/Cargo.toml b/components/script_traits/Cargo.toml index b5ca1ca0389..d0075c2d08d 100644 --- a/components/script_traits/Cargo.toml +++ b/components/script_traits/Cargo.toml @@ -22,5 +22,5 @@ path = "../devtools_traits" [dependencies.geom] git = "https://github.com/servo/rust-geom" -[dependencies.url] -git = "https://github.com/servo/rust-url" +[dependencies] +url = "*"
\ No newline at end of file diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs index 010ffe5b296..0b6bb4a3b36 100644 --- a/components/script_traits/lib.rs +++ b/components/script_traits/lib.rs @@ -2,6 +2,8 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#![feature(int_uint)] + #![deny(unused_imports)] #![deny(unused_variables)] #![allow(missing_copy_implementations)] @@ -31,15 +33,17 @@ use servo_net::resource_task::ResourceTask; use servo_net::storage_task::StorageTask; use servo_util::smallvec::SmallVec1; use std::any::Any; +use std::sync::mpsc::{Sender, Receiver}; use geom::point::Point2D; use geom::rect::Rect; -use serialize::{Encodable, Encoder}; - /// The address of a node. Layout sends these back. They must be validated via /// `from_untrusted_node_address` before they can be used, because we do not trust layout. -pub type UntrustedNodeAddress = *const c_void; +#[allow(raw_pointer_derive)] +#[derive(Copy, Clone)] +pub struct UntrustedNodeAddress(pub *const c_void); +unsafe impl Send for UntrustedNodeAddress {} pub struct NewLayoutInfo { pub old_pipeline_id: PipelineId, @@ -70,6 +74,9 @@ pub enum ConstellationControlMsg { GetTitle(PipelineId), } +unsafe impl Send for ConstellationControlMsg { +} + /// Events from the compositor that the script task needs to know about pub enum CompositorEvent { ResizeEvent(WindowSizeData), @@ -86,15 +93,9 @@ pub enum CompositorEvent { pub struct OpaqueScriptLayoutChannel(pub (Box<Any+Send>, Box<Any+Send>)); /// Encapsulates external communication with the script task. -#[deriving(Clone)] +#[derive(Clone)] pub struct ScriptControlChan(pub Sender<ConstellationControlMsg>); -impl<S: Encoder<E>, E> Encodable<S, E> for ScriptControlChan { - fn encode(&self, _s: &mut S) -> Result<(), E> { - Ok(()) - } -} - pub trait ScriptTaskFactory { fn create<C>(_phantom: Option<&mut Self>, id: PipelineId, |