aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/msg
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/msg')
-rw-r--r--src/components/msg/compositor_msg.rs123
-rw-r--r--src/components/msg/constellation_msg.rs84
-rw-r--r--src/components/msg/msg.rs46
-rw-r--r--src/components/msg/platform/android/surface.rs20
-rw-r--r--src/components/msg/platform/linux/surface.rs20
-rw-r--r--src/components/msg/platform/macos/surface.rs25
-rw-r--r--src/components/msg/platform/surface.rs12
7 files changed, 0 insertions, 330 deletions
diff --git a/src/components/msg/compositor_msg.rs b/src/components/msg/compositor_msg.rs
deleted file mode 100644
index 6008e4fca23..00000000000
--- a/src/components/msg/compositor_msg.rs
+++ /dev/null
@@ -1,123 +0,0 @@
-/* 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/. */
-
-use azure::azure_hl::Color;
-use geom::point::Point2D;
-use geom::rect::Rect;
-use layers::platform::surface::NativeGraphicsMetadata;
-use layers::layers::LayerBufferSet;
-use serialize::{Encoder, Encodable};
-use std::fmt::{Formatter, Show};
-use std::fmt;
-
-use constellation_msg::PipelineId;
-
-/// The status of the renderer.
-#[deriving(PartialEq, Clone)]
-pub enum RenderState {
- IdleRenderState,
- RenderingRenderState,
-}
-
-#[deriving(PartialEq, Clone)]
-pub enum ReadyState {
- /// Informs the compositor that nothing has been done yet. Used for setting status
- Blank,
- /// Informs the compositor that a page is loading. Used for setting status
- Loading,
- /// Informs the compositor that a page is performing layout. Used for setting status
- PerformingLayout,
- /// Informs the compositor that a page is finished loading. Used for setting status
- FinishedLoading,
-}
-
-/// A newtype struct for denoting the age of messages; prevents race conditions.
-#[deriving(PartialEq)]
-pub struct Epoch(pub uint);
-
-impl Epoch {
- pub fn next(&mut self) {
- let Epoch(ref mut u) = *self;
- *u += 1;
- }
-}
-
-#[deriving(Clone, PartialEq)]
-pub struct LayerId(pub uint, pub uint);
-
-impl Show for LayerId {
- fn fmt(&self, f: &mut Formatter) -> fmt::Result {
- let LayerId(a, b) = *self;
- write!(f, "Layer({}, {})", a, b)
- }
-}
-
-impl LayerId {
- /// FIXME(#2011, pcwalton): This is unfortunate. Maybe remove this in the future.
- pub fn null() -> LayerId {
- LayerId(0, 0)
- }
-}
-
-/// The scrolling policy of a layer.
-#[deriving(PartialEq)]
-pub enum ScrollPolicy {
- /// These layers scroll when the parent receives a scrolling message.
- Scrollable,
- /// These layers do not scroll when the parent receives a scrolling message.
- FixedPosition,
-}
-
-/// All layer-specific information that the painting task sends to the compositor other than the
-/// buffer contents of the layer itself.
-pub struct LayerMetadata {
- /// An opaque ID. This is usually the address of the flow and index of the box within it.
- pub id: LayerId,
- /// The position and size of the layer in pixels.
- pub position: Rect<uint>,
- /// The background color of the layer.
- pub background_color: Color,
- /// The scrolling policy of this layer.
- pub scroll_policy: ScrollPolicy,
-}
-
-/// The interface used by the renderer to acquire draw targets for each render frame and
-/// submit them to be drawn to the display.
-pub trait RenderListener {
- fn get_graphics_metadata(&self) -> Option<NativeGraphicsMetadata>;
-
- /// Informs the compositor of the layers for the given pipeline. The compositor responds by
- /// creating and/or destroying render layers as necessary.
- fn initialize_layers_for_pipeline(&self,
- pipeline_id: PipelineId,
- metadata: Vec<LayerMetadata>,
- epoch: Epoch);
-
- /// Sends new tiles for the given layer to the compositor.
- fn paint(&self,
- pipeline_id: PipelineId,
- epoch: Epoch,
- replies: Vec<(LayerId, Box<LayerBufferSet>)>);
-
- fn render_msg_discarded(&self);
- fn set_render_state(&self, render_state: RenderState);
-}
-
-/// The interface used by the script task to tell the compositor to update its ready state,
-/// which is used in displaying the appropriate message in the window's title.
-pub trait ScriptListener : Clone {
- fn set_ready_state(&self, ReadyState);
- fn scroll_fragment_point(&self,
- pipeline_id: PipelineId,
- layer_id: LayerId,
- point: Point2D<f32>);
- fn close(&self);
- fn dup(&self) -> Box<ScriptListener>;
-}
-
-impl<E, S: Encoder<E>> Encodable<S, E> for Box<ScriptListener> {
- fn encode(&self, _s: &mut S) -> Result<(), E> {
- Ok(())
- }
-}
diff --git a/src/components/msg/constellation_msg.rs b/src/components/msg/constellation_msg.rs
deleted file mode 100644
index 35b07024acd..00000000000
--- a/src/components/msg/constellation_msg.rs
+++ /dev/null
@@ -1,84 +0,0 @@
-/* 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/. */
-
-//! The high-level interface from script to constellation. Using this abstract interface helps reduce
-//! coupling between these two components
-
-use geom::rect::Rect;
-use geom::size::TypedSize2D;
-use geom::scale_factor::ScaleFactor;
-use layers::geometry::DevicePixel;
-use serialize::Encodable;
-use servo_util::geometry::{PagePx, ViewportPx};
-use std::comm::{channel, Sender, Receiver};
-use url::Url;
-
-#[deriving(Clone)]
-pub struct ConstellationChan(pub Sender<Msg>);
-
-impl ConstellationChan {
- pub fn new() -> (Receiver<Msg>, ConstellationChan) {
- let (chan, port) = channel();
- (port, ConstellationChan(chan))
- }
-}
-
-#[deriving(PartialEq)]
-pub enum IFrameSandboxState {
- IFrameSandboxed,
- IFrameUnsandboxed
-}
-
-// We pass this info to various tasks, so it lives in a separate, cloneable struct.
-#[deriving(Clone)]
-pub struct Failure {
- pub pipeline_id: PipelineId,
- pub subpage_id: Option<SubpageId>,
-}
-
-#[deriving(Encodable)]
-pub struct WindowSizeData {
- /// The size of the initial layout viewport, before parsing an
- /// http://www.w3.org/TR/css-device-adapt/#initial-viewport
- pub initial_viewport: TypedSize2D<ViewportPx, f32>,
-
- /// The "viewing area" in page px. See `PagePx` documentation for details.
- pub visible_viewport: TypedSize2D<PagePx, f32>,
-
- /// The resolution of the window in dppx, not including any "pinch zoom" factor.
- pub device_pixel_ratio: ScaleFactor<ViewportPx, DevicePixel, f32>,
-}
-
-/// Messages from the compositor and script to the constellation.
-pub enum Msg {
- ExitMsg,
- FailureMsg(Failure),
- InitLoadUrlMsg(Url),
- LoadCompleteMsg(PipelineId, Url),
- FrameRectMsg(PipelineId, SubpageId, Rect<f32>),
- LoadUrlMsg(PipelineId, Url),
- LoadIframeUrlMsg(Url, PipelineId, SubpageId, IFrameSandboxState),
- NavigateMsg(NavigationDirection),
- RendererReadyMsg(PipelineId),
- ResizedWindowMsg(WindowSizeData),
-}
-
-/// Represents the two different ways to which a page can be navigated
-#[deriving(Clone, PartialEq, Hash)]
-pub enum NavigationType {
- Load, // entered or clicked on a url
- Navigate, // browser forward/back buttons
-}
-
-#[deriving(Clone, PartialEq, Hash)]
-pub enum NavigationDirection {
- Forward,
- Back,
-}
-
-#[deriving(Clone, PartialEq, Eq, Hash, Encodable)]
-pub struct PipelineId(pub uint);
-
-#[deriving(Clone, PartialEq, Eq, Hash, Encodable)]
-pub struct SubpageId(pub uint);
diff --git a/src/components/msg/msg.rs b/src/components/msg/msg.rs
deleted file mode 100644
index fc6b7f3dd47..00000000000
--- a/src/components/msg/msg.rs
+++ /dev/null
@@ -1,46 +0,0 @@
-/* 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/. */
-
-#![crate_name = "msg"]
-#![crate_type = "rlib"]
-
-extern crate azure;
-extern crate geom;
-extern crate layers;
-extern crate serialize;
-extern crate servo_util = "util";
-extern crate std;
-extern crate url;
-
-#[cfg(target_os="macos")]
-extern crate core_foundation;
-#[cfg(target_os="macos")]
-extern crate io_surface;
-
-pub mod compositor_msg;
-pub mod constellation_msg;
-
-pub mod platform {
- #[cfg(target_os="macos")]
- pub mod macos {
- #[cfg(target_os="macos")]
- pub mod surface;
- }
-
- #[cfg(target_os="linux")]
- pub mod linux {
- #[cfg(target_os="linux")]
- pub mod surface;
- }
-
- #[cfg(target_os="android")]
- pub mod android {
- #[cfg(target_os="android")]
- pub mod surface;
- }
-
-
- pub mod surface;
-}
-
diff --git a/src/components/msg/platform/android/surface.rs b/src/components/msg/platform/android/surface.rs
deleted file mode 100644
index 6f2e962d804..00000000000
--- a/src/components/msg/platform/android/surface.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/* 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/. */
-
-//! EGL-specific implementation of cross-process surfaces. This uses EGL surfaces.
-
-use platform::surface::NativeSurfaceAzureMethods;
-
-use azure::AzSkiaGrGLSharedSurfaceRef;
-use layers::platform::surface::NativeSurface;
-use std::mem;
-
-impl NativeSurfaceAzureMethods for NativeSurface {
- fn from_azure_surface(surface: AzSkiaGrGLSharedSurfaceRef) -> NativeSurface {
- unsafe {
- NativeSurface::from_image_khr(mem::transmute(surface))
- }
- }
-}
-
diff --git a/src/components/msg/platform/linux/surface.rs b/src/components/msg/platform/linux/surface.rs
deleted file mode 100644
index 60cc84bc965..00000000000
--- a/src/components/msg/platform/linux/surface.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-/* 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/. */
-
-//! X11-specific implementation of cross-process surfaces. This uses X pixmaps.
-
-use platform::surface::NativeSurfaceAzureMethods;
-
-use azure::AzSkiaGrGLSharedSurfaceRef;
-use layers::platform::surface::NativeSurface;
-use std::mem;
-
-impl NativeSurfaceAzureMethods for NativeSurface {
- fn from_azure_surface(surface: AzSkiaGrGLSharedSurfaceRef) -> NativeSurface {
- unsafe {
- NativeSurface::from_pixmap(mem::transmute(surface))
- }
- }
-}
-
diff --git a/src/components/msg/platform/macos/surface.rs b/src/components/msg/platform/macos/surface.rs
deleted file mode 100644
index 30b5e405500..00000000000
--- a/src/components/msg/platform/macos/surface.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-/* 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/. */
-
-//! Mac OS-specific implementation of cross-process surfaces. This uses `IOSurface`, introduced
-//! in Mac OS X 10.6 Snow Leopard.
-
-use platform::surface::NativeSurfaceAzureMethods;
-
-use azure::AzSkiaGrGLSharedSurfaceRef;
-use io_surface::IOSurface;
-use layers::platform::surface::NativeSurface;
-use std::mem;
-
-impl NativeSurfaceAzureMethods for NativeSurface {
- fn from_azure_surface(surface: AzSkiaGrGLSharedSurfaceRef) -> NativeSurface {
- unsafe {
- let io_surface = IOSurface {
- obj: mem::transmute(surface),
- };
- NativeSurface::from_io_surface(io_surface)
- }
- }
-}
-
diff --git a/src/components/msg/platform/surface.rs b/src/components/msg/platform/surface.rs
deleted file mode 100644
index eee8dfa5598..00000000000
--- a/src/components/msg/platform/surface.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-/* 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/. */
-
-//! Declarations of types for cross-process surfaces.
-
-use azure::AzSkiaGrGLSharedSurfaceRef;
-
-pub trait NativeSurfaceAzureMethods {
- fn from_azure_surface(surface: AzSkiaGrGLSharedSurfaceRef) -> Self;
-}
-