aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/canvasrenderingcontext2d.rs
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-08-05 10:42:57 -0600
committerbors-servo <metajack+bors@gmail.com>2015-08-05 10:42:57 -0600
commit95269bba39313e7a221947a6b20fecc92e87a201 (patch)
tree0179fc9a1ab01d820cd838d4fed70c81ef6fe6d2 /components/script/dom/canvasrenderingcontext2d.rs
parentb3d61878dc28418e5427e965f26a06766f47358c (diff)
parent75e444c3b2aea541936331e19c95f52b24159883 (diff)
downloadservo-95269bba39313e7a221947a6b20fecc92e87a201.tar.gz
servo-95269bba39313e7a221947a6b20fecc92e87a201.zip
Auto merge of #6971 - dzbarsky:negative-radius, r=Ms2ger
Make createRadialGradient throw for negative radii <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6971) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/canvasrenderingcontext2d.rs')
-rw-r--r--components/script/dom/canvasrenderingcontext2d.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs
index 834e9606c49..d70cc85fe85 100644
--- a/components/script/dom/canvasrenderingcontext2d.rs
+++ b/components/script/dom/canvasrenderingcontext2d.rs
@@ -1019,10 +1019,14 @@ impl<'a> CanvasRenderingContext2DMethods for &'a CanvasRenderingContext2D {
// https://html.spec.whatwg.org/multipage/#dom-context-2d-createradialgradient
fn CreateRadialGradient(self, x0: Finite<f64>, y0: Finite<f64>, r0: Finite<f64>,
x1: Finite<f64>, y1: Finite<f64>, r1: Finite<f64>)
- -> Root<CanvasGradient> {
- CanvasGradient::new(self.global.root().r(),
- CanvasGradientStyle::Radial(
- RadialGradientStyle::new(*x0, *y0, *r0, *x1, *y1, *r1, Vec::new())))
+ -> Fallible<Root<CanvasGradient>> {
+ if *r0 < 0. || *r1 < 0. {
+ return Err(IndexSize);
+ }
+
+ Ok(CanvasGradient::new(self.global.root().r(),
+ CanvasGradientStyle::Radial(
+ RadialGradientStyle::new(*x0, *y0, *r0, *x1, *y1, *r1, Vec::new()))))
}
// https://html.spec.whatwg.org/multipage/#dom-context-2d-createpattern