mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
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
This commit is contained in:
parent
0f5c614609
commit
1ccab328f9
3 changed files with 5 additions and 11 deletions
|
@ -1147,7 +1147,7 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D {
|
|||
// https://html.spec.whatwg.org/multipage/#dom-context-2d-createpattern
|
||||
fn CreatePattern(&self,
|
||||
image: HTMLImageElementOrHTMLCanvasElementOrCanvasRenderingContext2D,
|
||||
repetition: DOMString)
|
||||
mut repetition: DOMString)
|
||||
-> Fallible<Root<CanvasPattern>> {
|
||||
let (image_data, image_size) = match image {
|
||||
HTMLImageElementOrHTMLCanvasElementOrCanvasRenderingContext2D::eHTMLImageElement(ref image) => {
|
||||
|
@ -1169,6 +1169,10 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D {
|
|||
}
|
||||
};
|
||||
|
||||
if repetition.is_empty() {
|
||||
repetition.push_str("repeat");
|
||||
}
|
||||
|
||||
if let Ok(rep) = RepetitionStyle::from_str(&repetition) {
|
||||
Ok(CanvasPattern::new(self.global.root().r(),
|
||||
image_data,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue