aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/canvasrenderingcontext2d.rs
diff options
context:
space:
mode:
authorecoal95 <ecoal95@gmail.com>2015-05-25 14:47:23 +0200
committerecoal95 <ecoal95@gmail.com>2015-06-01 15:29:38 +0200
commitb3ac3467494377569997126103005382793d8081 (patch)
treeeb0117a3dd980e6ff8b8657ecbab176faf229cb5 /components/script/dom/canvasrenderingcontext2d.rs
parentb1a773a15bd2e022aa45c3672e51467e994badfe (diff)
downloadservo-b3ac3467494377569997126103005382793d8081.tar.gz
servo-b3ac3467494377569997126103005382793d8081.zip
Add WebGLContextAttributes support
This commit also: * Allows to return non-rootable dictionaries from Codegen. * Merges the two context types in an enum type.
Diffstat (limited to 'components/script/dom/canvasrenderingcontext2d.rs')
-rw-r--r--components/script/dom/canvasrenderingcontext2d.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs
index 7ddce7791c9..b1961188e1e 100644
--- a/components/script/dom/canvasrenderingcontext2d.rs
+++ b/components/script/dom/canvasrenderingcontext2d.rs
@@ -214,7 +214,11 @@ impl CanvasRenderingContext2D {
let msg = if self.canvas.root().r() == canvas {
CanvasMsg::Canvas2d(Canvas2dMsg::DrawImageSelf(image_size, dest_rect, source_rect, smoothing_enabled))
} else { // Source and target canvases are different
- let context = canvas.get_2d_context().root();
+ let context = match canvas.get_or_init_2d_context() {
+ Some(context) => context.root(),
+ None => return Err(InvalidState),
+ };
+
let renderer = context.r().get_renderer();
let (sender, receiver) = channel::<Vec<u8>>();
// Reads pixels from source image