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 -->
This commit is contained in:
bors-servo 2015-08-05 10:42:57 -06:00
commit 95269bba39
3 changed files with 9 additions and 9 deletions

View file

@ -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

View file

@ -59,6 +59,7 @@ interface CanvasRenderingContext2D {
attribute (DOMString or CanvasGradient or CanvasPattern) strokeStyle; // (default black)
attribute (DOMString or CanvasGradient or CanvasPattern) fillStyle; // (default black)
CanvasGradient createLinearGradient(double x0, double y0, double x1, double y1);
[Throws]
CanvasGradient createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1);
[Throws]
CanvasPattern createPattern(CanvasImageSource image, [TreatNullAs=EmptyString] DOMString repetition);