aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/canvasrenderingcontext2d.rs
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-08-05 11:40:20 -0600
committerbors-servo <metajack+bors@gmail.com>2015-08-05 11:40:20 -0600
commitdebd7d87d61e6e6d772181a1076ee29519e479c7 (patch)
tree82d74ab2f5fae93c2a707709c1c3c7d166744277 /components/script/dom/canvasrenderingcontext2d.rs
parent95269bba39313e7a221947a6b20fecc92e87a201 (diff)
parent2fb5fda5d09b86573e2c3c878ee525482327ac91 (diff)
downloadservo-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.rs5
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