aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2014-09-03 19:55:06 +0200
committerMs2ger <ms2ger@gmail.com>2014-09-03 20:14:27 +0200
commit2d50e33902ff41cad176703e4fecebae2643cf72 (patch)
tree68510085f6742a1fc5aeeaff1ca12ed41890bd11
parente1b5b5183fc106db6358d3b6e6526591c19e968c (diff)
downloadservo-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.
-rw-r--r--src/components/script/dom/htmlcanvaselement.rs4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.em.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.empty.html.ini3
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.exp.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.hex.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.junk.html.ini3
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.minus.html.ini3
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.onlyspace.html.ini3
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.percent.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.em.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.empty.html.ini3
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.exp.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.hex.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.junk.html.ini3
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.minus.html.ini3
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.onlyspace.html.ini3
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.percent.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.space.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.trailingjunk.html.ini4
-rw-r--r--src/test/wpt/metadata/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.html.ini4
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
+