aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2018-09-16 22:12:44 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2018-09-17 16:24:01 +0200
commit36c8cd229e0734efc374968964c8485ac45bbbf3 (patch)
treede885a19d8a3ffc6135cbf65d4d400ae21648209
parent9f7b7464306c96ba0446ef0c5395325faaad3d5c (diff)
downloadservo-36c8cd229e0734efc374968964c8485ac45bbbf3.tar.gz
servo-36c8cd229e0734efc374968964c8485ac45bbbf3.zip
Remove Canvas2dMsg::DrawImageSelf
Now that all canvas share the same thread, it's useless to have a separate message for that.
-rw-r--r--components/canvas/canvas_data.rs15
-rw-r--r--components/canvas/canvas_paint_thread.rs20
-rw-r--r--components/canvas_traits/canvas.rs1
-rw-r--r--components/script/dom/canvasrenderingcontext2d.rs26
4 files changed, 11 insertions, 51 deletions
diff --git a/components/canvas/canvas_data.rs b/components/canvas/canvas_data.rs
index bd825af38aa..b1768fe8744 100644
--- a/components/canvas/canvas_data.rs
+++ b/components/canvas/canvas_data.rs
@@ -85,21 +85,6 @@ impl<'a> CanvasData<'a> {
}
}
- pub fn draw_image_self(
- &self,
- image_size: Size2D<f64>,
- dest_rect: Rect<f64>,
- source_rect: Rect<f64>,
- smoothing_enabled: bool
- ) {
- // Reads pixels from source image
- // In this case source and target are the same canvas
- let image_data = self.read_pixels(source_rect.to_i32(), image_size);
-
- // The dimensions of image_data are source_rect.size
- self.draw_image(image_data, source_rect.size, dest_rect, source_rect, smoothing_enabled);
- }
-
pub fn save_context_state(&mut self) {
self.saved_states.push(self.state.clone());
}
diff --git a/components/canvas/canvas_paint_thread.rs b/components/canvas/canvas_paint_thread.rs
index a6050d93564..3e66194e94c 100644
--- a/components/canvas/canvas_paint_thread.rs
+++ b/components/canvas/canvas_paint_thread.rs
@@ -153,19 +153,6 @@ impl<'a> CanvasPaintThread <'a> {
smoothing_enabled,
)
},
- Canvas2dMsg::DrawImageSelf(
- image_size,
- dest_rect,
- source_rect,
- smoothing_enabled
- ) => {
- self.canvas(canvas_id).draw_image_self(
- image_size,
- dest_rect,
- source_rect,
- smoothing_enabled
- )
- },
Canvas2dMsg::DrawImageInOther(
other_canvas_id,
image_size,
@@ -173,9 +160,10 @@ impl<'a> CanvasPaintThread <'a> {
source_rect,
smoothing
) => {
- let mut image_data = self.canvas(canvas_id).read_pixels(
- source_rect.to_i32(),
- image_size);
+ let image_data = self.canvas(canvas_id).read_pixels(
+ source_rect.to_i32(),
+ image_size,
+ );
self.canvas(other_canvas_id).draw_image(
image_data.into(),
source_rect.size,
diff --git a/components/canvas_traits/canvas.rs b/components/canvas_traits/canvas.rs
index a2af3a70d42..a9d47d252a4 100644
--- a/components/canvas_traits/canvas.rs
+++ b/components/canvas_traits/canvas.rs
@@ -39,7 +39,6 @@ pub enum Canvas2dMsg {
Arc(Point2D<f32>, f32, f32, f32, bool),
ArcTo(Point2D<f32>, Point2D<f32>, f32),
DrawImage(Option<ByteBuf>, Size2D<f64>, Rect<f64>, Rect<f64>, bool),
- DrawImageSelf(Size2D<f64>, Rect<f64>, Rect<f64>, bool),
DrawImageInOther(
CanvasId, Size2D<f64>, Rect<f64>, Rect<f64>, bool),
BeginPath,
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs
index 12e3ad17959..0da01cc8453 100644
--- a/components/script/dom/canvasrenderingcontext2d.rs
+++ b/components/script/dom/canvasrenderingcontext2d.rs
@@ -361,25 +361,13 @@ impl CanvasRenderingContext2D {
if let Some(context) = canvas.context() {
match *context {
CanvasContext::Context2d(ref context) => {
- if self.canvas.as_ref().map_or(false, |c| &**c == canvas) {
- self.send_canvas_2d_msg(Canvas2dMsg::DrawImageSelf(
- image_size,
- dest_rect,
- source_rect,
- smoothing_enabled,
- ));
- } else {
- context.get_ipc_renderer().send(CanvasMsg::Canvas2d(
- Canvas2dMsg::DrawImageInOther(
- self.get_canvas_id(),
- image_size,
- dest_rect,
- source_rect,
- smoothing_enabled,
- ),
- context.get_canvas_id(),
- )).unwrap();
- }
+ context.send_canvas_2d_msg(Canvas2dMsg::DrawImageInOther(
+ self.get_canvas_id(),
+ image_size,
+ dest_rect,
+ source_rect,
+ smoothing_enabled,
+ ));
},
_ => return Err(Error::InvalidState),
}