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, - dest_rect: Rect, - source_rect: Rect, - 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, bool), ArcTo(Point2D, Point2D, f32), DrawImage(Option, Size2D, Rect, Rect, bool), - DrawImageSelf(Size2D, Rect, Rect, bool), DrawImageInOther( CanvasId, Size2D, Rect, Rect, 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), }