Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move pipeline into the constellation crate. #11301

Merged
merged 2 commits into from May 21, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 0 additions & 1 deletion components/compositing/Cargo.toml
Expand Up @@ -18,7 +18,6 @@ msg = {path = "../msg"}
profile_traits = {path = "../profile_traits"}
net_traits = {path = "../net_traits"}
util = {path = "../util"}
devtools_traits = {path = "../devtools_traits"}
plugins = {path = "../plugins"}
azure = {git = "https://github.com/servo/rust-azure", features = ["plugins"]}
layers = {git = "https://github.com/servo/rust-layers", features = ["plugins"]}
Expand Down
2 changes: 1 addition & 1 deletion components/compositing/compositor.rs
Expand Up @@ -3,6 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */

use AnimationTickType;
use CompositionPipeline;
use CompositorMsg as ConstellationMsg;
use SendableFrameTree;
use app_units::Au;
Expand Down Expand Up @@ -33,7 +34,6 @@ use msg::constellation_msg::{Image, PixelFormat};
use msg::constellation_msg::{Key, KeyModifiers, KeyState, LoadData};
use msg::constellation_msg::{NavigationDirection, PipelineId, PipelineIndex, PipelineNamespaceId};
use msg::constellation_msg::{WindowSizeData, WindowSizeType};
use pipeline::CompositionPipeline;
use profile_traits::mem::{self, ReportKind, Reporter, ReporterRequest};
use profile_traits::time::{self, ProfilerCategory, profile};
use script_traits::CompositorEvent::{MouseMoveEvent, MouseButtonEvent, TouchEvent};
Expand Down
16 changes: 13 additions & 3 deletions components/compositing/lib.rs
Expand Up @@ -14,7 +14,6 @@
extern crate app_units;

extern crate azure;
extern crate devtools_traits;
extern crate euclid;
#[cfg(not(target_os = "windows"))]
extern crate gaol;
Expand Down Expand Up @@ -43,21 +42,23 @@ extern crate webrender_traits;

pub use compositor_thread::{CompositorEventListener, CompositorProxy, CompositorThread};
use euclid::size::{Size2D, TypedSize2D};
use gfx::paint_thread::ChromeToPaintMsg;
use gfx_traits::Epoch;
use ipc_channel::ipc::{IpcSender};
use layout_traits::LayoutControlChan;
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 script_traits::ConstellationControlMsg;
use std::collections::HashMap;
use std::sync::mpsc::Sender;
use url::Url;
use util::geometry::PagePx;

mod compositor;
mod compositor_layer;
pub mod compositor_thread;
mod delayed_composition;
pub mod pipeline;
#[cfg(not(target_os = "windows"))]
pub mod sandboxing;
mod surface_map;
Expand Down Expand Up @@ -104,3 +105,12 @@ pub struct SendableFrameTree {
pub size: Option<TypedSize2D<PagePx, f32>>,
pub children: Vec<SendableFrameTree>,
}

/// The subset of the pipeline that is needed for layer composition.
#[derive(Clone)]
pub struct CompositionPipeline {
pub id: PipelineId,
pub script_chan: IpcSender<ConstellationControlMsg>,
pub layout_chan: LayoutControlChan,
pub chrome_to_paint_chan: Sender<ChromeToPaintMsg>,
}
2 changes: 2 additions & 0 deletions components/constellation/Cargo.toml
Expand Up @@ -18,6 +18,7 @@ euclid = {version = "0.6.4", features = ["plugins"]}
gfx = {path = "../gfx"}
gfx_traits = {path = "../gfx_traits"}
ipc-channel = {git = "https://github.com/servo/ipc-channel"}
layers = {git = "https://github.com/servo/rust-layers", features = ["plugins"]}
layout_traits = {path = "../layout_traits"}
log = "0.3.5"
msg = {path = "../msg"}
Expand All @@ -27,6 +28,7 @@ plugins = {path = "../plugins"}
profile_traits = {path = "../profile_traits"}
rand = "0.3"
script_traits = {path = "../script_traits"}
serde = "0.7"
serde_macros = "0.7"
style_traits = {path = "../style_traits"}
url = {version = "1.0.0", features = ["heap_size"]}
Expand Down
2 changes: 1 addition & 1 deletion components/constellation/constellation.rs
Expand Up @@ -16,7 +16,6 @@ use clipboard::ClipboardContext;
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};
Expand Down Expand Up @@ -46,6 +45,7 @@ use net_traits::image_cache_thread::ImageCacheThread;
use net_traits::storage_thread::StorageThreadMsg;
use net_traits::{self, ResourceThreads, IpcSend};
use offscreen_gl_context::{GLContextAttributes, GLLimits};
use pipeline::{InitialPipelineState, Pipeline, UnprivilegedPipelineContent};
use profile_traits::mem;
use profile_traits::time;
use rand::{random, Rng, SeedableRng, StdRng};
Expand Down
4 changes: 4 additions & 0 deletions components/constellation/lib.rs
Expand Up @@ -23,6 +23,7 @@ extern crate gaol;
extern crate gfx;
extern crate gfx_traits;
extern crate ipc_channel;
extern crate layers;
extern crate layout_traits;
#[macro_use]
extern crate log;
Expand All @@ -33,13 +34,16 @@ extern crate offscreen_gl_context;
extern crate profile_traits;
extern crate rand;
extern crate script_traits;
extern crate serde;
extern crate style_traits;
extern crate url;
#[macro_use]
extern crate util;
extern crate webrender_traits;

mod constellation;
mod pipeline;
mod timer_scheduler;

pub use constellation::{Constellation, InitialConstellationState};
pub use pipeline::UnprivilegedPipelineContent;
Expand Up @@ -2,9 +2,10 @@
* 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/. */

use CompositorProxy;
use compositor_thread;
use compositor_thread::Msg as CompositorMsg;
use compositing::CompositionPipeline;
use compositing::CompositorProxy;
use compositing::compositor_thread;
use compositing::compositor_thread::Msg as CompositorMsg;
use devtools_traits::{DevtoolsControlMsg, ScriptToDevtoolsControlMsg};
use euclid::scale_factor::ScaleFactor;
use euclid::size::TypedSize2D;
Expand Down Expand Up @@ -60,15 +61,6 @@ pub struct Pipeline {
pub is_private: bool,
}

/// The subset of the pipeline that is needed for layer composition.
#[derive(Clone)]
pub struct CompositionPipeline {
pub id: PipelineId,
pub script_chan: IpcSender<ConstellationControlMsg>,
pub layout_chan: LayoutControlChan,
pub chrome_to_paint_chan: Sender<ChromeToPaintMsg>,
}

/// Initial setup data needed to construct a pipeline.
///
/// *DO NOT* add any Senders to this unless you absolutely know what you're doing, or pcwalton will
Expand Down
3 changes: 2 additions & 1 deletion components/servo/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions components/servo/lib.rs
Expand Up @@ -60,13 +60,12 @@ fn webdriver(_port: u16, _constellation: Sender<ConstellationMsg>) { }
use compositing::CompositorEventListener;
use compositing::CompositorMsg as ConstellationMsg;
use compositing::compositor_thread::InitialCompositorState;
use compositing::pipeline::UnprivilegedPipelineContent;
#[cfg(not(target_os = "windows"))]
use compositing::sandboxing;
use compositing::windowing::WindowEvent;
use compositing::windowing::WindowMethods;
use compositing::{CompositorProxy, CompositorThread};
use constellation::{Constellation, InitialConstellationState};
use constellation::{Constellation, InitialConstellationState, UnprivilegedPipelineContent};
#[cfg(not(target_os = "windows"))]
use gaol::sandbox::{ChildSandbox, ChildSandboxMethods};
use gfx::font_cache_thread::FontCacheThread;
Expand Down
2 changes: 1 addition & 1 deletion etc/ci/check_no_unwrap.sh
Expand Up @@ -10,8 +10,8 @@ cd "$(git rev-parse --show-toplevel)" # cd into repo root so make sure paths wor

# files that should not contain "unwrap"
FILES=("components/compositing/compositor.rs"
"components/compositing/pipeline.rs"
"components/constellation/constellation.rs"
"components/constellation/pipeline.rs"
"ports/glutin/lib.rs"
"ports/glutin/window.rs")

Expand Down
3 changes: 2 additions & 1 deletion ports/cef/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion ports/gonk/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.