diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-08-05 11:40:20 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-08-05 11:40:20 -0600 |
commit | debd7d87d61e6e6d772181a1076ee29519e479c7 (patch) | |
tree | 82d74ab2f5fae93c2a707709c1c3c7d166744277 /components/script/dom/canvasrenderingcontext2d.rs | |
parent | 95269bba39313e7a221947a6b20fecc92e87a201 (diff) | |
parent | 2fb5fda5d09b86573e2c3c878ee525482327ac91 (diff) | |
download | servo-debd7d87d61e6e6d772181a1076ee29519e479c7.tar.gz servo-debd7d87d61e6e6d772181a1076ee29519e479c7.zip |
Auto merge of #6974 - dzbarsky:tiny-create, r=jdm
Fix createImageData with sizes < 1 pixel
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6974)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/canvasrenderingcontext2d.rs')
-rw-r--r-- | components/script/dom/canvasrenderingcontext2d.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index d70cc85fe85..9cfa10a5032 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -42,6 +42,7 @@ use num::{Float, ToPrimitive}; use std::borrow::ToOwned; use std::cell::RefCell; use std::fmt; +use std::cmp; use std::sync::mpsc::channel; use util::str::DOMString; @@ -954,7 +955,9 @@ impl<'a> CanvasRenderingContext2DMethods for &'a CanvasRenderingContext2D { return Err(IndexSize) } - Ok(ImageData::new(self.global.root().r(), sw.abs().to_u32().unwrap(), sh.abs().to_u32().unwrap(), None)) + let sw = cmp::max(1, sw.abs().to_u32().unwrap()); + let sh = cmp::max(1, sh.abs().to_u32().unwrap()); + Ok(ImageData::new(self.global.root().r(), sw, sh, None)) } // https://html.spec.whatwg.org/multipage/#dom-context-2d-createimagedata |