diff options
author | Ms2ger <Ms2ger@gmail.com> | 2016-05-18 10:48:31 +0200 |
---|---|---|
committer | Ms2ger <Ms2ger@gmail.com> | 2016-05-18 11:09:28 +0200 |
commit | c057ace251eb8533fd4ce17bbf97f8953a92acf9 (patch) | |
tree | ed6bf72e9922726414cfeafead683ab49fb7732c | |
parent | aa8c835d3b2b45a16cefd7c34fb18f3a6c627134 (diff) | |
download | servo-c057ace251eb8533fd4ce17bbf97f8953a92acf9.tar.gz servo-c057ace251eb8533fd4ce17bbf97f8953a92acf9.zip |
Move constellation into its own crate.
-rw-r--r-- | components/compositing/Cargo.toml | 5 | ||||
-rw-r--r-- | components/compositing/compositor.rs | 2 | ||||
-rw-r--r-- | components/compositing/compositor_thread.rs | 2 | ||||
-rw-r--r-- | components/compositing/lib.rs | 19 | ||||
-rw-r--r-- | components/constellation/Cargo.toml | 37 | ||||
-rw-r--r-- | components/constellation/constellation.rs (renamed from components/compositing/constellation.rs) | 20 | ||||
-rw-r--r-- | components/constellation/lib.rs | 45 | ||||
-rw-r--r-- | components/constellation/timer_scheduler.rs (renamed from components/compositing/timer_scheduler.rs) | 0 | ||||
-rw-r--r-- | components/servo/Cargo.lock | 36 | ||||
-rw-r--r-- | components/servo/Cargo.toml | 1 | ||||
-rw-r--r-- | components/servo/lib.rs | 5 | ||||
-rw-r--r-- | ports/cef/Cargo.lock | 36 | ||||
-rw-r--r-- | ports/gonk/Cargo.lock | 36 |
13 files changed, 197 insertions, 47 deletions
diff --git a/components/compositing/Cargo.toml b/components/compositing/Cargo.toml index 3f15019100b..501285d04aa 100644 --- a/components/compositing/Cargo.toml +++ b/components/compositing/Cargo.toml @@ -19,12 +19,9 @@ profile_traits = {path = "../profile_traits"} net_traits = {path = "../net_traits"} util = {path = "../util"} devtools_traits = {path = "../devtools_traits"} -canvas_traits = {path = "../canvas_traits"} -canvas = {path = "../canvas"} plugins = {path = "../plugins"} azure = {git = "https://github.com/servo/rust-azure", features = ["plugins"]} layers = {git = "https://github.com/servo/rust-layers", features = ["plugins"]} -clipboard = {git = "https://github.com/aweinstock314/rust-clipboard"} ipc-channel = {git = "https://github.com/servo/ipc-channel"} webrender_traits = {git = "https://github.com/servo/webrender_traits"} webrender = {git = "https://github.com/servo/webrender"} @@ -33,8 +30,6 @@ euclid = {version = "0.6.4", features = ["plugins"]} gleam = "0.2.8" image = "0.10" log = "0.3.5" -offscreen_gl_context = "0.1.2" -rand = "0.3" serde = "0.7" serde_macros = "0.7" time = "0.1.17" diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index a20cccb6346..b296fff68db 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -4,11 +4,11 @@ use AnimationTickType; use CompositorMsg as ConstellationMsg; +use SendableFrameTree; use app_units::Au; use compositor_layer::{CompositorData, CompositorLayer, RcCompositorLayer, WantsScrollEventsFlag}; use compositor_thread::{CompositorEventListener, CompositorProxy}; use compositor_thread::{CompositorReceiver, InitialCompositorState, Msg, RenderListener}; -use constellation::SendableFrameTree; use delayed_composition::DelayedCompositionTimerProxy; use euclid::point::TypedPoint2D; use euclid::rect::TypedRect; diff --git a/components/compositing/compositor_thread.rs b/components/compositing/compositor_thread.rs index 1fa17c6d70e..811dd782684 100644 --- a/components/compositing/compositor_thread.rs +++ b/components/compositing/compositor_thread.rs @@ -23,7 +23,7 @@ use style_traits::cursor::Cursor; use style_traits::viewport::ViewportConstraints; use url::Url; use windowing::{WindowEvent, WindowMethods}; -pub use constellation::SendableFrameTree; +pub use SendableFrameTree; pub use windowing; use webrender; use webrender_traits; diff --git a/components/compositing/lib.rs b/components/compositing/lib.rs index b65f419be81..b4677cc20f6 100644 --- a/components/compositing/lib.rs +++ b/components/compositing/lib.rs @@ -5,7 +5,6 @@ #![feature(box_syntax)] #![feature(custom_derive)] #![feature(plugin)] -#![feature(mpsc_select)] #![feature(plugin)] #![plugin(plugins)] @@ -15,9 +14,6 @@ extern crate app_units; extern crate azure; -extern crate canvas; -extern crate canvas_traits; -extern crate clipboard; extern crate devtools_traits; extern crate euclid; #[cfg(not(target_os = "windows"))] @@ -33,10 +29,8 @@ extern crate layout_traits; extern crate log; extern crate msg; extern crate net_traits; -extern crate offscreen_gl_context; #[macro_use] extern crate profile_traits; -extern crate rand; extern crate script_traits; extern crate serde; extern crate style_traits; @@ -48,26 +42,25 @@ extern crate webrender; extern crate webrender_traits; pub use compositor_thread::{CompositorEventListener, CompositorProxy, CompositorThread}; -pub use constellation::Constellation; -use euclid::size::{Size2D}; +use euclid::size::{Size2D, TypedSize2D}; use gfx_traits::Epoch; use ipc_channel::ipc::{IpcSender}; use msg::constellation_msg::{FrameId, Key, KeyState, KeyModifiers, LoadData}; use msg::constellation_msg::{NavigationDirection, PipelineId, SubpageId}; use msg::constellation_msg::{WebDriverCommandMsg, WindowSizeData, WindowSizeType}; +use pipeline::CompositionPipeline; use std::collections::HashMap; use url::Url; +use util::geometry::PagePx; mod compositor; mod compositor_layer; pub mod compositor_thread; -pub mod constellation; mod delayed_composition; pub mod pipeline; #[cfg(not(target_os = "windows"))] pub mod sandboxing; mod surface_map; -mod timer_scheduler; mod touch; pub mod windowing; @@ -105,3 +98,9 @@ pub enum CompositorMsg { /// Dispatch a webdriver command WebDriverCommand(WebDriverCommandMsg), } + +pub struct SendableFrameTree { + pub pipeline: CompositionPipeline, + pub size: Option<TypedSize2D<PagePx, f32>>, + pub children: Vec<SendableFrameTree>, +} diff --git a/components/constellation/Cargo.toml b/components/constellation/Cargo.toml new file mode 100644 index 00000000000..1e685ab5847 --- /dev/null +++ b/components/constellation/Cargo.toml @@ -0,0 +1,37 @@ +[package] +name = "constellation" +version = "0.0.1" +authors = ["The Servo Project Developers"] +publish = false + +[lib] +name = "constellation" +path = "lib.rs" + +[dependencies] +canvas = {path = "../canvas"} +canvas_traits = {path = "../canvas_traits"} +clipboard = {git = "https://github.com/aweinstock314/rust-clipboard"} +compositing = {path = "../compositing"} +devtools_traits = {path = "../devtools_traits"} +euclid = {version = "0.6.4", features = ["plugins"]} +gfx = {path = "../gfx"} +gfx_traits = {path = "../gfx_traits"} +ipc-channel = {git = "https://github.com/servo/ipc-channel"} +layout_traits = {path = "../layout_traits"} +log = "0.3.5" +msg = {path = "../msg"} +net_traits = {path = "../net_traits"} +offscreen_gl_context = "0.1.2" +plugins = {path = "../plugins"} +profile_traits = {path = "../profile_traits"} +rand = "0.3" +script_traits = {path = "../script_traits"} +serde_macros = "0.7" +style_traits = {path = "../style_traits"} +url = {version = "1.0.0", features = ["heap_size"]} +util = {path = "../util"} +webrender_traits = {git = "https://github.com/servo/webrender_traits"} + +[target.'cfg(not(target_os = "windows"))'.dependencies] +gaol = {git = "https://github.com/servo/gaol"} diff --git a/components/compositing/constellation.rs b/components/constellation/constellation.rs index 69a02ad05e6..ae2a2ca94f9 100644 --- a/components/compositing/constellation.rs +++ b/components/constellation/constellation.rs @@ -9,14 +9,17 @@ //! navigation context, each `Pipeline` encompassing a `ScriptThread`, //! `LayoutThread`, and `PaintThread`. -use AnimationTickType; -use CompositorMsg as FromCompositorMsg; use canvas::canvas_paint_thread::CanvasPaintThread; use canvas::webgl_paint_thread::WebGLPaintThread; use canvas_traits::CanvasMsg; use clipboard::ClipboardContext; -use compositor_thread::CompositorProxy; -use compositor_thread::Msg as ToCompositorMsg; +use compositing::CompositorMsg as FromCompositorMsg; +use compositing::compositor_thread::CompositorProxy; +use compositing::compositor_thread::Msg as ToCompositorMsg; +use compositing::pipeline::{InitialPipelineState, Pipeline, UnprivilegedPipelineContent}; +#[cfg(not(target_os = "windows"))] +use compositing::sandboxing; +use compositing::{AnimationTickType, SendableFrameTree}; use devtools_traits::{ChromeToDevtoolsControlMsg, DevtoolsControlMsg}; use euclid::scale_factor::ScaleFactor; use euclid::size::{Size2D, TypedSize2D}; @@ -43,12 +46,9 @@ use net_traits::image_cache_thread::ImageCacheThread; use net_traits::storage_thread::{StorageThread, StorageThreadMsg}; use net_traits::{self, ResourceThread}; use offscreen_gl_context::{GLContextAttributes, GLLimits}; -use pipeline::{CompositionPipeline, InitialPipelineState, Pipeline, UnprivilegedPipelineContent}; use profile_traits::mem; use profile_traits::time; use rand::{random, Rng, SeedableRng, StdRng}; -#[cfg(not(target_os = "windows"))] -use sandboxing; use script_traits::{AnimationState, CompositorEvent, ConstellationControlMsg}; use script_traits::{DocumentState, LayoutControlMsg}; use script_traits::{IFrameLoadInfo, IFrameSandboxState, TimerEventRequest}; @@ -296,12 +296,6 @@ impl<'a> Iterator for FrameTreeIterator<'a> { } } -pub struct SendableFrameTree { - pub pipeline: CompositionPipeline, - pub size: Option<TypedSize2D<PagePx, f32>>, - pub children: Vec<SendableFrameTree>, -} - struct WebDriverData { load_channel: Option<(PipelineId, IpcSender<webdriver_msg::LoadStatus>)> } diff --git a/components/constellation/lib.rs b/components/constellation/lib.rs new file mode 100644 index 00000000000..71b1a93f135 --- /dev/null +++ b/components/constellation/lib.rs @@ -0,0 +1,45 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * 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(box_syntax)] +#![feature(custom_derive)] +#![feature(plugin)] +#![feature(mpsc_select)] +#![feature(plugin)] +#![plugin(plugins)] + +#![deny(unsafe_code)] +#![plugin(serde_macros)] + +extern crate canvas; +extern crate canvas_traits; +extern crate clipboard; +extern crate compositing; +extern crate devtools_traits; +extern crate euclid; +#[cfg(not(target_os = "windows"))] +extern crate gaol; +extern crate gfx; +extern crate gfx_traits; +extern crate ipc_channel; +extern crate layout_traits; +#[macro_use] +extern crate log; +extern crate msg; +extern crate net_traits; +extern crate offscreen_gl_context; +#[macro_use] +extern crate profile_traits; +extern crate rand; +extern crate script_traits; +extern crate style_traits; +extern crate url; +#[macro_use] +extern crate util; +extern crate webrender_traits; + +mod constellation; +mod timer_scheduler; + +pub use constellation::{Constellation, InitialConstellationState}; diff --git a/components/compositing/timer_scheduler.rs b/components/constellation/timer_scheduler.rs index d83c6170d23..d83c6170d23 100644 --- a/components/compositing/timer_scheduler.rs +++ b/components/constellation/timer_scheduler.rs diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index 503a8a4c628..e60a4ae2469 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -8,6 +8,7 @@ dependencies = [ "canvas_traits 0.0.1", "compiletest_helper 0.0.1", "compositing 0.0.1", + "constellation 0.0.1", "devtools 0.0.1", "devtools_traits 0.0.1", "env_logger 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -306,9 +307,6 @@ version = "0.0.1" dependencies = [ "app_units 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "azure 0.4.5 (git+https://github.com/servo/rust-azure)", - "canvas 0.0.1", - "canvas_traits 0.0.1", - "clipboard 0.1.2 (git+https://github.com/aweinstock314/rust-clipboard)", "devtools_traits 0.0.1", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gaol 0.0.1 (git+https://github.com/servo/gaol)", @@ -322,10 +320,8 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "offscreen_gl_context 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", - "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "serde 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -338,6 +334,36 @@ dependencies = [ ] [[package]] +name = "constellation" +version = "0.0.1" +dependencies = [ + "canvas 0.0.1", + "canvas_traits 0.0.1", + "clipboard 0.1.2 (git+https://github.com/aweinstock314/rust-clipboard)", + "compositing 0.0.1", + "devtools_traits 0.0.1", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "gaol 0.0.1 (git+https://github.com/servo/gaol)", + "gfx 0.0.1", + "gfx_traits 0.0.1", + "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", + "layout_traits 0.0.1", + "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "msg 0.0.1", + "net_traits 0.0.1", + "offscreen_gl_context 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "plugins 0.0.1", + "profile_traits 0.0.1", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", + "script_traits 0.0.1", + "serde_macros 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", + "style_traits 0.0.1", + "url 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "util 0.0.1", + "webrender_traits 0.1.0 (git+https://github.com/servo/webrender_traits)", +] + +[[package]] name = "cookie" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" diff --git a/components/servo/Cargo.toml b/components/servo/Cargo.toml index bbd536f45f5..819b4dfce54 100644 --- a/components/servo/Cargo.toml +++ b/components/servo/Cargo.toml @@ -47,6 +47,7 @@ plugin_compiletest = {path = "../../tests/compiletest/plugin"} webrender_traits = {git = "https://github.com/servo/webrender_traits"} webrender = {git = "https://github.com/servo/webrender"} compositing = {path = "../compositing"} +constellation = {path = "../constellation"} net = {path = "../net"} net_traits = {path = "../net_traits"} msg = {path = "../msg"} diff --git a/components/servo/lib.rs b/components/servo/lib.rs index 416be542144..122a2a7949b 100644 --- a/components/servo/lib.rs +++ b/components/servo/lib.rs @@ -25,6 +25,7 @@ extern crate gleam; pub extern crate canvas; pub extern crate canvas_traits; pub extern crate compositing; +pub extern crate constellation; pub extern crate devtools; pub extern crate devtools_traits; pub extern crate euclid; @@ -59,13 +60,13 @@ fn webdriver(_port: u16, _constellation: Sender<ConstellationMsg>) { } use compositing::CompositorEventListener; use compositing::CompositorMsg as ConstellationMsg; use compositing::compositor_thread::InitialCompositorState; -use compositing::constellation::InitialConstellationState; use compositing::pipeline::UnprivilegedPipelineContent; #[cfg(not(target_os = "windows"))] use compositing::sandboxing; use compositing::windowing::WindowEvent; use compositing::windowing::WindowMethods; -use compositing::{CompositorProxy, CompositorThread, Constellation}; +use compositing::{CompositorProxy, CompositorThread}; +use constellation::{Constellation, InitialConstellationState}; #[cfg(not(target_os = "windows"))] use gaol::sandbox::{ChildSandbox, ChildSandboxMethods}; use gfx::font_cache_thread::FontCacheThread; diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index f4ce61f2d42..d643d4a287f 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -269,9 +269,6 @@ version = "0.0.1" dependencies = [ "app_units 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "azure 0.4.5 (git+https://github.com/servo/rust-azure)", - "canvas 0.0.1", - "canvas_traits 0.0.1", - "clipboard 0.1.2 (git+https://github.com/aweinstock314/rust-clipboard)", "devtools_traits 0.0.1", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gaol 0.0.1 (git+https://github.com/servo/gaol)", @@ -285,10 +282,8 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "offscreen_gl_context 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", - "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "serde 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -301,6 +296,36 @@ dependencies = [ ] [[package]] +name = "constellation" +version = "0.0.1" +dependencies = [ + "canvas 0.0.1", + "canvas_traits 0.0.1", + "clipboard 0.1.2 (git+https://github.com/aweinstock314/rust-clipboard)", + "compositing 0.0.1", + "devtools_traits 0.0.1", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "gaol 0.0.1 (git+https://github.com/servo/gaol)", + "gfx 0.0.1", + "gfx_traits 0.0.1", + "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", + "layout_traits 0.0.1", + "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "msg 0.0.1", + "net_traits 0.0.1", + "offscreen_gl_context 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "plugins 0.0.1", + "profile_traits 0.0.1", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", + "script_traits 0.0.1", + "serde_macros 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", + "style_traits 0.0.1", + "url 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "util 0.0.1", + "webrender_traits 0.1.0 (git+https://github.com/servo/webrender_traits)", +] + +[[package]] name = "cookie" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1816,6 +1841,7 @@ dependencies = [ "canvas 0.0.1", "canvas_traits 0.0.1", "compositing 0.0.1", + "constellation 0.0.1", "devtools 0.0.1", "devtools_traits 0.0.1", "env_logger 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ports/gonk/Cargo.lock b/ports/gonk/Cargo.lock index c589816ed5b..6a23e6af6d9 100644 --- a/ports/gonk/Cargo.lock +++ b/ports/gonk/Cargo.lock @@ -271,9 +271,6 @@ version = "0.0.1" dependencies = [ "app_units 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "azure 0.4.5 (git+https://github.com/servo/rust-azure)", - "canvas 0.0.1", - "canvas_traits 0.0.1", - "clipboard 0.1.2 (git+https://github.com/aweinstock314/rust-clipboard)", "devtools_traits 0.0.1", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gaol 0.0.1 (git+https://github.com/servo/gaol)", @@ -287,10 +284,8 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "offscreen_gl_context 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", - "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "serde 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -303,6 +298,36 @@ dependencies = [ ] [[package]] +name = "constellation" +version = "0.0.1" +dependencies = [ + "canvas 0.0.1", + "canvas_traits 0.0.1", + "clipboard 0.1.2 (git+https://github.com/aweinstock314/rust-clipboard)", + "compositing 0.0.1", + "devtools_traits 0.0.1", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "gaol 0.0.1 (git+https://github.com/servo/gaol)", + "gfx 0.0.1", + "gfx_traits 0.0.1", + "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", + "layout_traits 0.0.1", + "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "msg 0.0.1", + "net_traits 0.0.1", + "offscreen_gl_context 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "plugins 0.0.1", + "profile_traits 0.0.1", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", + "script_traits 0.0.1", + "serde_macros 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", + "style_traits 0.0.1", + "url 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "util 0.0.1", + "webrender_traits 0.1.0 (git+https://github.com/servo/webrender_traits)", +] + +[[package]] name = "cookie" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1808,6 +1833,7 @@ dependencies = [ "canvas 0.0.1", "canvas_traits 0.0.1", "compositing 0.0.1", + "constellation 0.0.1", "devtools 0.0.1", "devtools_traits 0.0.1", "env_logger 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", |