diff options
author | ecoal95 <ecoal95@gmail.com> | 2015-05-25 14:47:23 +0200 |
---|---|---|
committer | ecoal95 <ecoal95@gmail.com> | 2015-06-01 15:29:38 +0200 |
commit | b3ac3467494377569997126103005382793d8081 (patch) | |
tree | eb0117a3dd980e6ff8b8657ecbab176faf229cb5 /components/script/dom/canvasrenderingcontext2d.rs | |
parent | b1a773a15bd2e022aa45c3672e51467e994badfe (diff) | |
download | servo-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.rs | 6 |
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 |