aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/canvas/canvas_paint_thread.rs16
-rw-r--r--components/canvas/webgl_paint_thread.rs18
-rw-r--r--components/canvas_traits/lib.rs18
-rw-r--r--components/gfx/paint_thread.rs11
-rw-r--r--components/layout/context.rs7
-rw-r--r--components/layout/display_list_builder.rs8
-rw-r--r--components/layout/layout_thread.rs16
-rw-r--r--components/layout/traversal.rs2
8 files changed, 6 insertions, 90 deletions
diff --git a/components/canvas/canvas_paint_thread.rs b/components/canvas/canvas_paint_thread.rs
index 85d92ee1e8f..ceaee808569 100644
--- a/components/canvas/canvas_paint_thread.rs
+++ b/components/canvas/canvas_paint_thread.rs
@@ -15,12 +15,11 @@ use gfx_traits::color;
use ipc_channel::ipc::IpcSharedMemory;
use ipc_channel::ipc::{self, IpcSender};
use ipc_channel::router::ROUTER;
-use layers::platform::surface::NativeSurface;
use num::ToPrimitive;
use premultiplytable::PREMULTIPLY_TABLE;
use std::borrow::ToOwned;
use std::mem;
-use std::sync::mpsc::{Sender, channel};
+use std::sync::mpsc::channel;
use util::opts;
use util::thread::spawn_named;
use util::vec::byte_swap;
@@ -205,13 +204,6 @@ impl<'a> CanvasPaintThread<'a> {
}
}
}
- CanvasMsg::FromPaint(message) => {
- match message {
- FromPaintMsg::SendNativeSurface(chan) => {
- painter.send_native_surface(chan)
- }
- }
- }
CanvasMsg::WebGL(_) => panic!("Wrong message sent to Canvas2D thread"),
}
}
@@ -550,12 +542,6 @@ impl<'a> CanvasPaintThread<'a> {
})
}
- fn send_native_surface(&self, _chan: Sender<NativeSurface>) {
- // FIXME(mrobinson): We need a handle on the NativeDisplay to create compatible
- // NativeSurfaces for the compositor.
- unimplemented!()
- }
-
fn image_data(&self,
dest_rect: Rect<i32>,
canvas_size: Size2D<f64>,
diff --git a/components/canvas/webgl_paint_thread.rs b/components/canvas/webgl_paint_thread.rs
index 08d8ea2f4b6..102a9f85f32 100644
--- a/components/canvas/webgl_paint_thread.rs
+++ b/components/canvas/webgl_paint_thread.rs
@@ -2,16 +2,14 @@
* 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 canvas_traits::{CanvasCommonMsg, CanvasMsg, CanvasPixelData, CanvasData, CanvasWebGLMsg};
-use canvas_traits::{FromLayoutMsg, FromPaintMsg};
+use canvas_traits::{CanvasCommonMsg, CanvasMsg, CanvasPixelData, CanvasData, CanvasWebGLMsg, FromLayoutMsg};
use euclid::size::Size2D;
use gleam::gl;
use ipc_channel::ipc::{self, IpcSender, IpcSharedMemory};
use ipc_channel::router::ROUTER;
-use layers::platform::surface::NativeSurface;
use offscreen_gl_context::{ColorAttachmentType, GLContext, GLContextAttributes, NativeGLContext};
use std::borrow::ToOwned;
-use std::sync::mpsc::{Sender, channel};
+use std::sync::mpsc::channel;
use util::thread::spawn_named;
use util::vec::byte_swap;
use webrender_traits;
@@ -93,12 +91,6 @@ impl WebGLPaintThread {
painter.send_data(chan),
}
}
- CanvasMsg::FromPaint(message) => {
- match message {
- FromPaintMsg::SendNativeSurface(chan) =>
- painter.send_native_surface(chan),
- }
- }
CanvasMsg::Canvas2d(_) => panic!("Wrong message sent to WebGLThread"),
}
}
@@ -147,12 +139,6 @@ impl WebGLPaintThread {
}
}
- fn send_native_surface(&self, _: Sender<NativeSurface>) {
- // FIXME(ecoal95): We need to make a clone of the surface in order to
- // implement this
- unimplemented!()
- }
-
#[allow(unsafe_code)]
fn recreate(&mut self, size: Size2D<i32>) -> Result<(), &'static str> {
match self.data {
diff --git a/components/canvas_traits/lib.rs b/components/canvas_traits/lib.rs
index 87f1f8c7e41..24af48aaa49 100644
--- a/components/canvas_traits/lib.rs
+++ b/components/canvas_traits/lib.rs
@@ -55,7 +55,6 @@ pub enum CanvasMsg {
Canvas2d(Canvas2dMsg),
Common(CanvasCommonMsg),
FromLayout(FromLayoutMsg),
- FromPaint(FromPaintMsg),
WebGL(CanvasWebGLMsg),
}
@@ -82,23 +81,6 @@ pub enum FromLayoutMsg {
SendData(IpcSender<CanvasData>),
}
-#[derive(Clone)]
-pub enum FromPaintMsg {
- SendNativeSurface(Sender<NativeSurface>),
-}
-
-impl Serialize for FromPaintMsg {
- fn serialize<S>(&self, _: &mut S) -> Result<(), S::Error> where S: Serializer {
- panic!("can't serialize a `FromPaintMsg`!")
- }
-}
-
-impl Deserialize for FromPaintMsg {
- fn deserialize<D>(_: &mut D) -> Result<FromPaintMsg, D::Error> where D: Deserializer {
- panic!("can't deserialize a `FromPaintMsg`!")
- }
-}
-
#[derive(Clone, Deserialize, Serialize)]
pub enum Canvas2dMsg {
Arc(Point2D<f32>, f32, f32, f32, bool),
diff --git a/components/gfx/paint_thread.rs b/components/gfx/paint_thread.rs
index a0088fe5313..3f945c3898c 100644
--- a/components/gfx/paint_thread.rs
+++ b/components/gfx/paint_thread.rs
@@ -7,7 +7,6 @@
use app_units::Au;
use azure::AzFloat;
use azure::azure_hl::{BackendType, Color, DrawTarget, SurfaceFormat};
-use canvas_traits::CanvasMsg;
use display_list::{DisplayItem, DisplayList, DisplayListEntry, DisplayListTraversal};
use display_list::{LayerInfo, StackingContext, StackingContextId, StackingContextType};
use euclid::Matrix4;
@@ -343,7 +342,6 @@ pub enum Msg {
#[derive(Deserialize, Serialize)]
pub enum LayoutToPaintMsg {
PaintInit(Epoch, Arc<DisplayList>),
- CanvasLayer(LayerId, IpcSender<CanvasMsg>),
Exit(IpcSender<()>),
}
@@ -379,9 +377,6 @@ pub struct PaintThread<C> {
/// Communication handles to each of the worker threads.
worker_threads: Vec<WorkerThreadProxy>,
-
- /// A map to track the canvas specific layers
- canvas_map: HashMap<LayerId, IpcSender<CanvasMsg>>,
}
// If we implement this as a function, we get borrowck errors from borrowing
@@ -431,7 +426,6 @@ impl<C> PaintThread<C> where C: PaintListener + Send + 'static {
paint_permission: false,
current_epoch: None,
worker_threads: worker_threads,
- canvas_map: HashMap::new()
};
let reporter_name = format!("paint-reporter-{}", id);
@@ -475,11 +469,6 @@ impl<C> PaintThread<C> where C: PaintListener + Send + 'static {
self.initialize_layers();
}
}
- // Inserts a new canvas renderer to the layer map
- Msg::FromLayout(LayoutToPaintMsg::CanvasLayer(layer_id, canvas_renderer)) => {
- debug!("Renderer received for canvas with layer {:?}", layer_id);
- self.canvas_map.insert(layer_id, canvas_renderer);
- }
Msg::FromChrome(ChromeToPaintMsg::Paint(requests, frame_tree_id)) => {
if self.paint_permission && self.root_display_list.is_some() {
let mut replies = Vec::new();
diff --git a/components/layout/context.rs b/components/layout/context.rs
index 143e78f810e..2775e6e791c 100644
--- a/components/layout/context.rs
+++ b/components/layout/context.rs
@@ -8,7 +8,6 @@
#![allow(unsafe_code)]
use app_units::Au;
-use canvas_traits::CanvasMsg;
use euclid::Rect;
use fnv::FnvHasher;
use gfx::display_list::WebRenderImageInfo;
@@ -16,7 +15,7 @@ use gfx::font_cache_thread::FontCacheThread;
use gfx::font_context::FontContext;
use gfx_traits::LayerId;
use heapsize::HeapSizeOf;
-use ipc_channel::ipc::{self, IpcSender, IpcSharedMemory};
+use ipc_channel::ipc::{self, IpcSharedMemory};
use net_traits::image::base::Image;
use net_traits::image_cache_thread::{ImageCacheChan, ImageCacheThread, ImageResponse, ImageState};
use net_traits::image_cache_thread::{ImageOrMetadataAvailable, UsePlaceholder};
@@ -24,7 +23,6 @@ use std::cell::{RefCell, RefMut};
use std::collections::HashMap;
use std::hash::BuildHasherDefault;
use std::rc::Rc;
-use std::sync::mpsc::Sender;
use std::sync::{Arc, Mutex, RwLock};
use style::context::{LocalStyleContext, StyleContext};
use style::matching::{ApplicableDeclarationsCache, StyleSharingCandidateCache};
@@ -95,9 +93,6 @@ pub struct SharedLayoutContext {
/// The URL.
pub url: Url,
- /// A channel to send canvas renderers to paint thread, in order to correctly paint the layers
- pub canvas_layers_sender: Mutex<Sender<(LayerId, IpcSender<CanvasMsg>)>>,
-
/// The visible rects for each layer, as reported to us by the compositor.
pub visible_rects: Arc<HashMap<LayerId, Rect<Au>, BuildHasherDefault<FnvHasher>>>,
diff --git a/components/layout/display_list_builder.rs b/components/layout/display_list_builder.rs
index 407d4d19a05..4d62d221a5e 100644
--- a/components/layout/display_list_builder.rs
+++ b/components/layout/display_list_builder.rs
@@ -1197,13 +1197,7 @@ impl FragmentDisplayListBuilding for Fragment {
let (sender, receiver) = ipc::channel().unwrap();
ipc_renderer.send(CanvasMsg::FromLayout(
FromLayoutMsg::SendData(sender))).unwrap();
- let data = receiver.recv().unwrap();
-
- // Propagate the layer and the renderer to the paint task.
- state.layout_context.shared.canvas_layers_sender.lock().unwrap().send(
- (layer_id, (*ipc_renderer).clone())).unwrap();
-
- data
+ receiver.recv().unwrap()
},
None => CanvasData::Pixels(CanvasPixelData {
image_data: IpcSharedMemory::from_byte(0xFFu8, width * height * 4),
diff --git a/components/layout/layout_thread.rs b/components/layout/layout_thread.rs
index 041eab87168..cbad465b4f8 100644
--- a/components/layout/layout_thread.rs
+++ b/components/layout/layout_thread.rs
@@ -10,7 +10,6 @@
use animation;
use app_units::Au;
use azure::azure::AzColor;
-use canvas_traits::CanvasMsg;
use construct::ConstructionResult;
use context::{LayoutContext, SharedLayoutContext, heap_size_of_local_context};
use display_list_builder::ToGfxColor;
@@ -186,11 +185,6 @@ pub struct LayoutThread {
/// Is this the first reflow in this LayoutThread?
first_reflow: bool,
- /// To receive a canvas renderer associated to a layer, this message is propagated
- /// to the paint chan
- canvas_layers_receiver: Receiver<(LayerId, IpcSender<CanvasMsg>)>,
- canvas_layers_sender: Sender<(LayerId, IpcSender<CanvasMsg>)>,
-
/// The workers that we use for parallel operation.
parallel_traversal: Option<WorkQueue<SharedLayoutContext, WorkQueueData>>,
@@ -406,7 +400,6 @@ impl LayoutThread {
// Create the channel on which new animations can be sent.
let (new_animations_sender, new_animations_receiver) = channel();
- let (canvas_layers_sender, canvas_layers_receiver) = channel();
// Proxy IPC messages from the pipeline to the layout thread.
let pipeline_receiver = ROUTER.route_ipc_receiver_to_new_mpsc_receiver(pipeline_port);
@@ -449,8 +442,6 @@ impl LayoutThread {
image_cache_sender: ImageCacheChan(ipc_image_cache_sender),
font_cache_receiver: font_cache_receiver,
font_cache_sender: ipc_font_cache_sender,
- canvas_layers_receiver: canvas_layers_receiver,
- canvas_layers_sender: canvas_layers_sender,
parallel_traversal: parallel_traversal,
generation: 0,
new_animations_sender: new_animations_sender,
@@ -521,7 +512,6 @@ impl LayoutThread {
image_cache_thread: self.image_cache_thread.clone(),
image_cache_sender: Mutex::new(self.image_cache_sender.clone()),
font_cache_thread: Mutex::new(self.font_cache_thread.clone()),
- canvas_layers_sender: Mutex::new(self.canvas_layers_sender.clone()),
url: (*url).clone(),
visible_rects: self.visible_rects.clone(),
webrender_image_cache: self.webrender_image_cache.clone(),
@@ -1148,12 +1138,6 @@ impl LayoutThread {
self.root_flow = self.try_get_layout_root(node);
}
- // Send new canvas renderers to the paint thread
- while let Ok((layer_id, renderer)) = self.canvas_layers_receiver.try_recv() {
- // Just send if there's an actual renderer
- self.paint_chan.send(LayoutToPaintMsg::CanvasLayer(layer_id, renderer)).unwrap();
- }
-
// Perform post-style recalculation layout passes.
self.perform_post_style_recalc_layout_passes(&data.reflow_info,
&mut rw_data,
diff --git a/components/layout/traversal.rs b/components/layout/traversal.rs
index 6c774b76bcf..61d045a4048 100644
--- a/components/layout/traversal.rs
+++ b/components/layout/traversal.rs
@@ -15,7 +15,7 @@ use flow::{self, Flow, CAN_BE_FRAGMENTED};
use gfx::display_list::OpaqueNode;
use incremental::{BUBBLE_ISIZES, REFLOW, REFLOW_OUT_OF_FLOW, REPAINT, RestyleDamage};
use std::mem;
-use style::context::{StyleContext, ReflowGoal};
+use style::context::StyleContext;
use style::matching::MatchMethods;
use style::traversal::{DomTraversalContext, STYLE_BLOOM};
use style::traversal::{put_thread_local_bloom_filter, recalc_style_at};