mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Auto merge of #9109 - nerith:createpattern, r=jdm
Support empty strings as the repeat argument (CreatePattern) According to the third step in the specification [1], createPattern should let the repetition argument be "repeat" when it is the empty string. The code in CanvasRenderingContext2D::CreatePattern did not implement this step and instead threw a SyntaxError exception when an empty string was supplied as the repetition argument. Fixes #9079. [1] https://html.spec.whatwg.org/multipage/#dom-context-2d-createpattern <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9109) <!-- Reviewable:end -->
This commit is contained in:
commit
11d160fc73
3 changed files with 5 additions and 11 deletions
|
@ -1154,7 +1154,7 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D {
|
||||||
// https://html.spec.whatwg.org/multipage/#dom-context-2d-createpattern
|
// https://html.spec.whatwg.org/multipage/#dom-context-2d-createpattern
|
||||||
fn CreatePattern(&self,
|
fn CreatePattern(&self,
|
||||||
image: HTMLImageElementOrHTMLCanvasElementOrCanvasRenderingContext2D,
|
image: HTMLImageElementOrHTMLCanvasElementOrCanvasRenderingContext2D,
|
||||||
repetition: DOMString)
|
mut repetition: DOMString)
|
||||||
-> Fallible<Root<CanvasPattern>> {
|
-> Fallible<Root<CanvasPattern>> {
|
||||||
let (image_data, image_size) = match image {
|
let (image_data, image_size) = match image {
|
||||||
HTMLImageElementOrHTMLCanvasElementOrCanvasRenderingContext2D::eHTMLImageElement(ref image) => {
|
HTMLImageElementOrHTMLCanvasElementOrCanvasRenderingContext2D::eHTMLImageElement(ref image) => {
|
||||||
|
@ -1176,6 +1176,10 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if repetition.is_empty() {
|
||||||
|
repetition.push_str("repeat");
|
||||||
|
}
|
||||||
|
|
||||||
if let Ok(rep) = RepetitionStyle::from_str(&repetition) {
|
if let Ok(rep) = RepetitionStyle::from_str(&repetition) {
|
||||||
Ok(CanvasPattern::new(self.global.root().r(),
|
Ok(CanvasPattern::new(self.global.root().r(),
|
||||||
image_data,
|
image_data,
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
[2d.pattern.repeat.empty.html]
|
|
||||||
type: testharness
|
|
||||||
[Canvas test: 2d.pattern.repeat.empty]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
[2d.pattern.repeat.null.html]
|
|
||||||
type: testharness
|
|
||||||
[Canvas test: 2d.pattern.repeat.null]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue