diff options
author | Ms2ger <ms2ger@gmail.com> | 2014-09-03 19:55:06 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2014-09-03 20:14:27 +0200 |
commit | 2d50e33902ff41cad176703e4fecebae2643cf72 (patch) | |
tree | 68510085f6742a1fc5aeeaff1ca12ed41890bd11 | |
parent | e1b5b5183fc106db6358d3b6e6526591c19e968c (diff) | |
download | servo-2d50e33902ff41cad176703e4fecebae2643cf72.tar.gz servo-2d50e33902ff41cad176703e4fecebae2643cf72.zip |
Handle failure to parse the value of the width and height attributes on canvas elements (fixes #3200).
The remaining failures are due to the tests's use of getComputedStyle.
23 files changed, 44 insertions, 40 deletions
diff --git a/src/components/script/dom/htmlcanvaselement.rs b/src/components/script/dom/htmlcanvaselement.rs index 5d6f09badce..28902265610 100644 --- a/src/components/script/dom/htmlcanvaselement.rs +++ b/src/components/script/dom/htmlcanvaselement.rs @@ -133,11 +133,11 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLCanvasElement> { let recreate = match name.as_slice() { "width" => { - self.width.set(parse_unsigned_integer(value.as_slice().chars()).unwrap()); + self.width.set(parse_unsigned_integer(value.as_slice().chars()).unwrap_or(DefaultWidth)); true } "height" => { - self.height.set(parse_unsigned_integer(value.as_slice().chars()).unwrap()); + self.height.set(parse_unsigned_integer(value.as_slice().chars()).unwrap_or(DefaultHeight)); true } _ => false, diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.em.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.em.html.ini index 10c04567a5b..62e28aaeef3 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.em.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.em.html.ini @@ -1,3 +1,5 @@ [size.attributes.parse.em.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.empty.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.empty.html.ini deleted file mode 100644 index b1d56dbdbe8..00000000000 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.empty.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[size.attributes.parse.empty.html] - type: testharness - expected: TIMEOUT diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.exp.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.exp.html.ini index 4a21da7fbdf..a87aea62b53 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.exp.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.exp.html.ini @@ -1,3 +1,5 @@ [size.attributes.parse.exp.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.hex.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.hex.html.ini index 0b715ca9a77..dcab0563e16 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.hex.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.hex.html.ini @@ -1,3 +1,5 @@ [size.attributes.parse.hex.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.junk.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.junk.html.ini deleted file mode 100644 index 0edbeed8c54..00000000000 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.junk.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[size.attributes.parse.junk.html] - type: testharness - expected: TIMEOUT diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.minus.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.minus.html.ini deleted file mode 100644 index 3e98cfaed9e..00000000000 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.minus.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[size.attributes.parse.minus.html] - type: testharness - expected: TIMEOUT diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.onlyspace.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.onlyspace.html.ini deleted file mode 100644 index d7d7ce7f21f..00000000000 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.onlyspace.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[size.attributes.parse.onlyspace.html] - type: testharness - expected: TIMEOUT diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.percent.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.percent.html.ini index 275cf6a8b53..d23086fbf07 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.percent.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.percent.html.ini @@ -1,3 +1,5 @@ [size.attributes.parse.percent.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.html.ini index 1d50a524d24..ac1c317fd47 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.html.ini @@ -1,3 +1,5 @@ [size.attributes.parse.space.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.html.ini index 33bbcd0b699..e3d8aad4ca7 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.html.ini @@ -1,3 +1,5 @@ [size.attributes.parse.trailingjunk.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html.ini index 50326721689..a178e4b39c2 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html.ini @@ -1,3 +1,5 @@ [size.attributes.parse.whitespace.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.em.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.em.html.ini index 3e89830eead..66b55181be9 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.em.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.em.html.ini @@ -1,3 +1,5 @@ [size.attributes.setAttribute.em.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers in setAttribute] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.empty.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.empty.html.ini deleted file mode 100644 index ace2316cb4f..00000000000 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.empty.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[size.attributes.setAttribute.empty.html] - type: testharness - expected: TIMEOUT diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.exp.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.exp.html.ini index 2582934b86f..3c04907550b 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.exp.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.exp.html.ini @@ -1,3 +1,5 @@ [size.attributes.setAttribute.exp.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers in setAttribute] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.hex.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.hex.html.ini index 6b976edb4c5..4f85588ef18 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.hex.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.hex.html.ini @@ -1,3 +1,5 @@ [size.attributes.setAttribute.hex.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers in setAttribute] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.junk.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.junk.html.ini deleted file mode 100644 index eec65ed2c76..00000000000 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.junk.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[size.attributes.setAttribute.junk.html] - type: testharness - expected: TIMEOUT diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.minus.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.minus.html.ini deleted file mode 100644 index a9d8a1edb6e..00000000000 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.minus.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[size.attributes.setAttribute.minus.html] - type: testharness - expected: TIMEOUT diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.onlyspace.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.onlyspace.html.ini deleted file mode 100644 index 5355d014aac..00000000000 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.onlyspace.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[size.attributes.setAttribute.onlyspace.html] - type: testharness - expected: TIMEOUT diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.percent.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.percent.html.ini index 5b02fe6cb4e..14a148d8fd7 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.percent.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.percent.html.ini @@ -1,3 +1,5 @@ [size.attributes.setAttribute.percent.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers in setAttribute] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.space.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.space.html.ini index 6a78abc46be..c0e7f6c5000 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.space.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.space.html.ini @@ -1,3 +1,5 @@ [size.attributes.setAttribute.space.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers in setAttribute] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.trailingjunk.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.trailingjunk.html.ini index 85de26d9b12..329c8a3e752 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.trailingjunk.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.trailingjunk.html.ini @@ -1,3 +1,5 @@ [size.attributes.setAttribute.trailingjunk.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers in setAttribute] + expected: FAIL + diff --git a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.html.ini b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.html.ini index 28de13dc126..144ede158b1 100644 --- a/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.html.ini +++ b/src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.html.ini @@ -1,3 +1,5 @@ [size.attributes.setAttribute.whitespace.html] type: testharness - expected: TIMEOUT + [Parsing of non-negative integers in setAttribute] + expected: FAIL + |