Diff
Modified: trunk/LayoutTests/ChangeLog (196892 => 196893)
--- trunk/LayoutTests/ChangeLog 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/LayoutTests/ChangeLog 2016-02-22 05:52:07 UTC (rev 196893)
@@ -1,3 +1,29 @@
+2016-02-21 Chris Dumez <[email protected]>
+
+ Make HTMLSelectElement.size behave as per the specification
+ https://bugs.webkit.org/show_bug.cgi?id=154504
+
+ Reviewed by Darin Adler.
+
+ Update test that was covering the case of an HTMLSelectElement with an
+ invalid size attribute. The test was expecting the bad "size" attribute
+ value to get corrected so that the select element looks like a menu list.
+ This workaround was added back in 2007 to workaround a bug on
+ www.chainreaction.com (rdar://problem/4697438). This patch drops the
+ workaround in HTMLSelectElement::parseAttribute() because:
+ 1. This is not standard behavior as per the HTML specification
+ 2. This behavior does not match Firefox either
+ 3. The workaround is no longer needed for www.chainreaction.com.
+
+ * fast/forms/select-size-expected.html: Added.
+ * fast/forms/select-size.html:
+ * platform/efl/fast/forms/select-size-expected.txt: Removed.
+ * platform/gtk/fast/forms/select-size-expected.txt: Removed.
+ * platform/ios-simulator/fast/forms/select-size-expected.txt: Removed.
+ * platform/mac/fast/forms/select-size-expected.png: Removed.
+ * platform/mac/fast/forms/select-size-expected.txt: Removed.
+ * platform/win/fast/forms/select-size-expected.txt: Removed.
+
2016-02-21 Daniel Bates <[email protected]>
CSP: Enable form-action directive by default
Added: trunk/LayoutTests/fast/forms/select-size-expected.html (0 => 196893)
--- trunk/LayoutTests/fast/forms/select-size-expected.html (rev 0)
+++ trunk/LayoutTests/fast/forms/select-size-expected.html 2016-02-22 05:52:07 UTC (rev 196893)
@@ -0,0 +1,14 @@
+<html>
+<head>
+<style>
+.listBox {
+ -webkit-appearance: listbox;
+ border-radius: initial;
+ border: 1px solid gray;
+}
+</style>
+</head>
+<body>
+This tests an HTMLSelectElement with a malformed size attribute<br>
+<select size="1" class="listbox"><option>test</select>
+</body>
Modified: trunk/LayoutTests/fast/forms/select-size.html (196892 => 196893)
--- trunk/LayoutTests/fast/forms/select-size.html 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/LayoutTests/fast/forms/select-size.html 2016-02-22 05:52:07 UTC (rev 196893)
@@ -1,3 +1,2 @@
-This tests that a malformed size attribute will be parsed and corrected so that the right
-size attribute value is used to match the style rule that determines whether to use a menu list or a list box.<br>
-<select size= 1"><option>test</select>
+This tests an HTMLSelectElement with a malformed size attribute<br>
+<select style="border: 1px solid gray;" size= 1"><option>test</select>
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (196892 => 196893)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2016-02-22 05:52:07 UTC (rev 196893)
@@ -1,5 +1,17 @@
2016-02-21 Chris Dumez <[email protected]>
+ Make HTMLSelectElement.size behave as per the specification
+ https://bugs.webkit.org/show_bug.cgi?id=154504
+
+ Reviewed by Darin Adler.
+
+ Rebaseline now that more checks are passing.
+
+ * web-platform-tests/html/dom/reflection-forms-expected.txt:
+ * web-platform-tests/html/dom/reflection-tabular-expected.txt:
+
+2016-02-21 Chris Dumez <[email protected]>
+
Add username / password attributes to HTMLAnchorElement / HTMLAreaElement
https://bugs.webkit.org/show_bug.cgi?id=154519
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt (196892 => 196893)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt 2016-02-22 05:52:07 UTC (rev 196893)
@@ -6872,7 +6872,7 @@
PASS input.size: setAttribute() to "\t7" followed by getAttribute()
PASS input.size: setAttribute() to "\t7" followed by IDL get
PASS input.size: setAttribute() to "\v7" followed by getAttribute()
-FAIL input.size: setAttribute() to "\v7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to "\v7" followed by IDL get
PASS input.size: setAttribute() to "\f7" followed by getAttribute()
PASS input.size: setAttribute() to "\f7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
@@ -6886,39 +6886,39 @@
PASS input.size: setAttribute() to "\r7" followed by getAttribute()
PASS input.size: setAttribute() to "\r7" followed by IDL get
PASS input.size: setAttribute() to "
7" followed by getAttribute()
-FAIL input.size: setAttribute() to "
7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to "
7" followed by IDL get
PASS input.size: setAttribute() to "
7" followed by getAttribute()
PASS input.size: setAttribute() to "
7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to "7" followed by getAttribute()
PASS input.size: setAttribute() to "7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " 7" followed by getAttribute()
-FAIL input.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS input.size: setAttribute() to " 7" followed by IDL get
PASS input.size: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by getAttribute()
PASS input.size: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by IDL get
PASS input.size: setAttribute() to undefined followed by getAttribute()
@@ -10847,7 +10847,7 @@
PASS select.required: IDL set to object "test-valueOf" followed by IDL get
PASS select.size: typeof IDL attribute
PASS select.size: IDL get with DOM attribute unset
-FAIL select.size: setAttribute() to -2147483649 followed by getAttribute() assert_equals: expected "-2147483649" but got "0"
+PASS select.size: setAttribute() to -2147483649 followed by getAttribute()
PASS select.size: setAttribute() to -2147483649 followed by IDL get
PASS select.size: setAttribute() to -2147483648 followed by getAttribute()
PASS select.size: setAttribute() to -2147483648 followed by IDL get
@@ -10863,95 +10863,95 @@
PASS select.size: setAttribute() to 257 followed by IDL get
PASS select.size: setAttribute() to 2147483647 followed by getAttribute()
PASS select.size: setAttribute() to 2147483647 followed by IDL get
-FAIL select.size: setAttribute() to 2147483648 followed by getAttribute() assert_equals: expected "2147483648" but got "0"
+PASS select.size: setAttribute() to 2147483648 followed by getAttribute()
PASS select.size: setAttribute() to 2147483648 followed by IDL get
-FAIL select.size: setAttribute() to 4294967295 followed by getAttribute() assert_equals: expected "4294967295" but got "0"
+PASS select.size: setAttribute() to 4294967295 followed by getAttribute()
PASS select.size: setAttribute() to 4294967295 followed by IDL get
-FAIL select.size: setAttribute() to 4294967296 followed by getAttribute() assert_equals: expected "4294967296" but got "0"
+PASS select.size: setAttribute() to 4294967296 followed by getAttribute()
PASS select.size: setAttribute() to 4294967296 followed by IDL get
-FAIL select.size: setAttribute() to "" followed by getAttribute() assert_equals: expected "" but got "0"
+PASS select.size: setAttribute() to "" followed by getAttribute()
PASS select.size: setAttribute() to "" followed by IDL get
PASS select.size: setAttribute() to "-1" followed by getAttribute()
PASS select.size: setAttribute() to "-1" followed by IDL get
-FAIL select.size: setAttribute() to "-0" followed by getAttribute() assert_equals: expected "-0" but got "0"
+PASS select.size: setAttribute() to "-0" followed by getAttribute()
PASS select.size: setAttribute() to "-0" followed by IDL get
PASS select.size: setAttribute() to "0" followed by getAttribute()
PASS select.size: setAttribute() to "0" followed by IDL get
PASS select.size: setAttribute() to "1" followed by getAttribute()
PASS select.size: setAttribute() to "1" followed by IDL get
-FAIL select.size: setAttribute() to "\t7" followed by getAttribute() assert_equals: expected "\t7" but got "7"
+PASS select.size: setAttribute() to "\t7" followed by getAttribute()
PASS select.size: setAttribute() to "\t7" followed by IDL get
-FAIL select.size: setAttribute() to "\v7" followed by getAttribute() assert_equals: expected "\v7" but got "7"
-FAIL select.size: setAttribute() to "\v7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to "\f7" followed by getAttribute() assert_equals: expected "\f7" but got "7"
+PASS select.size: setAttribute() to "\v7" followed by getAttribute()
+PASS select.size: setAttribute() to "\v7" followed by IDL get
+PASS select.size: setAttribute() to "\f7" followed by getAttribute()
PASS select.size: setAttribute() to "\f7" followed by IDL get
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
PASS select.size: setAttribute() to " 7" followed by IDL get
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "0"
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
PASS select.size: setAttribute() to " 7" followed by IDL get
-FAIL select.size: setAttribute() to "7" followed by getAttribute() assert_equals: expected "7" but got "0"
+PASS select.size: setAttribute() to "7" followed by getAttribute()
PASS select.size: setAttribute() to "7" followed by IDL get
-FAIL select.size: setAttribute() to "\n7" followed by getAttribute() assert_equals: expected "\n7" but got "7"
+PASS select.size: setAttribute() to "\n7" followed by getAttribute()
PASS select.size: setAttribute() to "\n7" followed by IDL get
-FAIL select.size: setAttribute() to "\r7" followed by getAttribute() assert_equals: expected "\r7" but got "7"
+PASS select.size: setAttribute() to "\r7" followed by getAttribute()
PASS select.size: setAttribute() to "\r7" followed by IDL get
-FAIL select.size: setAttribute() to "
7" followed by getAttribute() assert_equals: expected "
7" but got "7"
-FAIL select.size: setAttribute() to "
7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to "
7" followed by getAttribute() assert_equals: expected "
7" but got "0"
+PASS select.size: setAttribute() to "
7" followed by getAttribute()
+PASS select.size: setAttribute() to "
7" followed by IDL get
+PASS select.size: setAttribute() to "
7" followed by getAttribute()
PASS select.size: setAttribute() to "
7" followed by IDL get
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to "7" followed by getAttribute() assert_equals: expected "7" but got "0"
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to "7" followed by getAttribute()
PASS select.size: setAttribute() to "7" followed by IDL get
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "0"
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
PASS select.size: setAttribute() to " 7" followed by IDL get
-FAIL select.size: setAttribute() to " 7" followed by getAttribute() assert_equals: expected " 7" but got "7"
-FAIL select.size: setAttribute() to " 7" followed by IDL get assert_equals: expected 0 but got 7
-FAIL select.size: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by getAttribute() assert_equals: expected " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " but got "0"
+PASS select.size: setAttribute() to " 7" followed by getAttribute()
+PASS select.size: setAttribute() to " 7" followed by IDL get
+PASS select.size: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by getAttribute()
PASS select.size: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by IDL get
-FAIL select.size: setAttribute() to undefined followed by getAttribute() assert_equals: expected "undefined" but got "0"
+PASS select.size: setAttribute() to undefined followed by getAttribute()
PASS select.size: setAttribute() to undefined followed by IDL get
-FAIL select.size: setAttribute() to 1.5 followed by getAttribute() assert_equals: expected "1.5" but got "1"
+PASS select.size: setAttribute() to 1.5 followed by getAttribute()
PASS select.size: setAttribute() to 1.5 followed by IDL get
-FAIL select.size: setAttribute() to true followed by getAttribute() assert_equals: expected "true" but got "0"
+PASS select.size: setAttribute() to true followed by getAttribute()
PASS select.size: setAttribute() to true followed by IDL get
-FAIL select.size: setAttribute() to false followed by getAttribute() assert_equals: expected "false" but got "0"
+PASS select.size: setAttribute() to false followed by getAttribute()
PASS select.size: setAttribute() to false followed by IDL get
-FAIL select.size: setAttribute() to object "[object Object]" followed by getAttribute() assert_equals: expected "[object Object]" but got "0"
+PASS select.size: setAttribute() to object "[object Object]" followed by getAttribute()
PASS select.size: setAttribute() to object "[object Object]" followed by IDL get
-FAIL select.size: setAttribute() to NaN followed by getAttribute() assert_equals: expected "NaN" but got "0"
+PASS select.size: setAttribute() to NaN followed by getAttribute()
PASS select.size: setAttribute() to NaN followed by IDL get
-FAIL select.size: setAttribute() to Infinity followed by getAttribute() assert_equals: expected "Infinity" but got "0"
+PASS select.size: setAttribute() to Infinity followed by getAttribute()
PASS select.size: setAttribute() to Infinity followed by IDL get
-FAIL select.size: setAttribute() to -Infinity followed by getAttribute() assert_equals: expected "-Infinity" but got "0"
+PASS select.size: setAttribute() to -Infinity followed by getAttribute()
PASS select.size: setAttribute() to -Infinity followed by IDL get
-FAIL select.size: setAttribute() to "\0" followed by getAttribute() assert_equals: expected "\0" but got "0"
+PASS select.size: setAttribute() to "\0" followed by getAttribute()
PASS select.size: setAttribute() to "\0" followed by IDL get
PASS select.size: setAttribute() to object "2" followed by getAttribute()
PASS select.size: setAttribute() to object "2" followed by IDL get
-FAIL select.size: setAttribute() to object "3" followed by getAttribute() assert_equals: expected "[object Object]" but got "0"
+PASS select.size: setAttribute() to object "3" followed by getAttribute()
PASS select.size: setAttribute() to object "3" followed by IDL get
PASS select.size: IDL set to 0 should not throw
PASS select.size: IDL set to 0 followed by getAttribute()
@@ -10969,10 +10969,10 @@
PASS select.size: IDL set to "-0" followed by getAttribute()
PASS select.size: IDL set to "-0" followed by IDL get
PASS select.size: IDL set to 2147483648 should not throw
-FAIL select.size: IDL set to 2147483648 followed by getAttribute() assert_equals: expected "0" but got "-2147483648"
+PASS select.size: IDL set to 2147483648 followed by getAttribute()
PASS select.size: IDL set to 2147483648 followed by IDL get
PASS select.size: IDL set to 4294967295 should not throw
-FAIL select.size: IDL set to 4294967295 followed by getAttribute() assert_equals: expected "0" but got "-1"
+PASS select.size: IDL set to 4294967295 followed by getAttribute()
PASS select.size: IDL set to 4294967295 followed by IDL get
FAIL select.itemScope: typeof IDL attribute assert_equals: expected "boolean" but got "undefined"
FAIL select.itemScope: IDL get with DOM attribute unset assert_equals: expected (boolean) false but got (undefined) undefined
@@ -14544,7 +14544,7 @@
PASS textarea.cols: setAttribute() to "\t7" followed by getAttribute()
PASS textarea.cols: setAttribute() to "\t7" followed by IDL get
PASS textarea.cols: setAttribute() to "\v7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to "\v7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to "\v7" followed by IDL get
PASS textarea.cols: setAttribute() to "\f7" followed by getAttribute()
PASS textarea.cols: setAttribute() to "\f7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
@@ -14558,39 +14558,39 @@
PASS textarea.cols: setAttribute() to "\r7" followed by getAttribute()
PASS textarea.cols: setAttribute() to "\r7" followed by IDL get
PASS textarea.cols: setAttribute() to "
7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to "
7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to "
7" followed by IDL get
PASS textarea.cols: setAttribute() to "
7" followed by getAttribute()
PASS textarea.cols: setAttribute() to "
7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to "7" followed by getAttribute()
PASS textarea.cols: setAttribute() to "7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.cols: setAttribute() to " 7" followed by IDL get assert_equals: expected 20 but got 7
+PASS textarea.cols: setAttribute() to " 7" followed by IDL get
PASS textarea.cols: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by getAttribute()
PASS textarea.cols: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by IDL get
PASS textarea.cols: setAttribute() to undefined followed by getAttribute()
@@ -15603,7 +15603,7 @@
PASS textarea.rows: setAttribute() to "\t7" followed by getAttribute()
PASS textarea.rows: setAttribute() to "\t7" followed by IDL get
PASS textarea.rows: setAttribute() to "\v7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to "\v7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to "\v7" followed by IDL get
PASS textarea.rows: setAttribute() to "\f7" followed by getAttribute()
PASS textarea.rows: setAttribute() to "\f7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
@@ -15617,39 +15617,39 @@
PASS textarea.rows: setAttribute() to "\r7" followed by getAttribute()
PASS textarea.rows: setAttribute() to "\r7" followed by IDL get
PASS textarea.rows: setAttribute() to "
7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to "
7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to "
7" followed by IDL get
PASS textarea.rows: setAttribute() to "
7" followed by getAttribute()
PASS textarea.rows: setAttribute() to "
7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to "7" followed by getAttribute()
PASS textarea.rows: setAttribute() to "7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " 7" followed by getAttribute()
-FAIL textarea.rows: setAttribute() to " 7" followed by IDL get assert_equals: expected 2 but got 7
+PASS textarea.rows: setAttribute() to " 7" followed by IDL get
PASS textarea.rows: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by getAttribute()
PASS textarea.rows: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by IDL get
PASS textarea.rows: setAttribute() to undefined followed by getAttribute()
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-tabular-expected.txt (196892 => 196893)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-tabular-expected.txt 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-tabular-expected.txt 2016-02-22 05:52:07 UTC (rev 196893)
@@ -3004,7 +3004,7 @@
PASS colgroup.span: setAttribute() to "\t7" followed by getAttribute()
PASS colgroup.span: setAttribute() to "\t7" followed by IDL get
PASS colgroup.span: setAttribute() to "\v7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to "\v7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to "\v7" followed by IDL get
PASS colgroup.span: setAttribute() to "\f7" followed by getAttribute()
PASS colgroup.span: setAttribute() to "\f7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
@@ -3018,39 +3018,39 @@
PASS colgroup.span: setAttribute() to "\r7" followed by getAttribute()
PASS colgroup.span: setAttribute() to "\r7" followed by IDL get
PASS colgroup.span: setAttribute() to "
7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to "
7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to "
7" followed by IDL get
PASS colgroup.span: setAttribute() to "
7" followed by getAttribute()
PASS colgroup.span: setAttribute() to "
7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to "7" followed by getAttribute()
PASS colgroup.span: setAttribute() to "7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " 7" followed by getAttribute()
-FAIL colgroup.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS colgroup.span: setAttribute() to " 7" followed by IDL get
PASS colgroup.span: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by getAttribute()
PASS colgroup.span: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by IDL get
PASS colgroup.span: setAttribute() to undefined followed by getAttribute()
@@ -4271,7 +4271,7 @@
PASS col.span: setAttribute() to "\t7" followed by getAttribute()
PASS col.span: setAttribute() to "\t7" followed by IDL get
PASS col.span: setAttribute() to "\v7" followed by getAttribute()
-FAIL col.span: setAttribute() to "\v7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to "\v7" followed by IDL get
PASS col.span: setAttribute() to "\f7" followed by getAttribute()
PASS col.span: setAttribute() to "\f7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
@@ -4285,39 +4285,39 @@
PASS col.span: setAttribute() to "\r7" followed by getAttribute()
PASS col.span: setAttribute() to "\r7" followed by IDL get
PASS col.span: setAttribute() to "
7" followed by getAttribute()
-FAIL col.span: setAttribute() to "
7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to "
7" followed by IDL get
PASS col.span: setAttribute() to "
7" followed by getAttribute()
PASS col.span: setAttribute() to "
7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to "7" followed by getAttribute()
PASS col.span: setAttribute() to "7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " 7" followed by getAttribute()
-FAIL col.span: setAttribute() to " 7" followed by IDL get assert_equals: expected 1 but got 7
+PASS col.span: setAttribute() to " 7" followed by IDL get
PASS col.span: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by getAttribute()
PASS col.span: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f foo " followed by IDL get
PASS col.span: setAttribute() to undefined followed by getAttribute()
Deleted: trunk/LayoutTests/platform/efl/fast/forms/select-size-expected.txt (196892 => 196893)
--- trunk/LayoutTests/platform/efl/fast/forms/select-size-expected.txt 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/LayoutTests/platform/efl/fast/forms/select-size-expected.txt 2016-02-22 05:52:07 UTC (rev 196893)
@@ -1,14 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderText {#text} at (0,0) size 783x35
- text run at (0,0) width 783: "This tests that a malformed size attribute will be parsed and corrected so that the right size attribute value is used to match the"
- text run at (0,18) width 406: "style rule that determines whether to use a menu list or a list box."
- RenderBR {BR} at (406,32) size 0x0
- RenderMenuList {SELECT} at (2,38) size 81x38 [bgcolor=#FFFFFF]
- RenderBlock (anonymous) at (15,10) size 25x18
- RenderText at (0,0) size 25x17
- text run at (0,0) width 25: "test"
- RenderText {#text} at (0,0) size 0x0
Deleted: trunk/LayoutTests/platform/gtk/fast/forms/select-size-expected.txt (196892 => 196893)
--- trunk/LayoutTests/platform/gtk/fast/forms/select-size-expected.txt 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/LayoutTests/platform/gtk/fast/forms/select-size-expected.txt 2016-02-22 05:52:07 UTC (rev 196893)
@@ -1,14 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderText {#text} at (0,0) size 783x34
- text run at (0,0) width 783: "This tests that a malformed size attribute will be parsed and corrected so that the right size attribute value is used to match the"
- text run at (0,17) width 406: "style rule that determines whether to use a menu list or a list box."
- RenderBR {BR} at (406,31) size 0x0
- RenderMenuList {SELECT} at (2,36) size 50x27 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
- RenderBlock (anonymous) at (1,1) size 48x25
- RenderText at (4,4) size 25x17
- text run at (4,4) width 25: "test"
- RenderText {#text} at (0,0) size 0x0
Deleted: trunk/LayoutTests/platform/ios-simulator/fast/forms/select-size-expected.txt (196892 => 196893)
--- trunk/LayoutTests/platform/ios-simulator/fast/forms/select-size-expected.txt 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/LayoutTests/platform/ios-simulator/fast/forms/select-size-expected.txt 2016-02-22 05:52:07 UTC (rev 196893)
@@ -1,14 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderText {#text} at (0,0) size 782x39
- text run at (0,0) width 782: "This tests that a malformed size attribute will be parsed and corrected so that the right size attribute value is used to match"
- text run at (0,20) width 441: "the style rule that determines whether to use a menu list or a list box."
- RenderBR {BR} at (440,35) size 1x0
- RenderMenuList {SELECT} at (2,42) size 50x20 [bgcolor=#FFFFFF02] [border: (1px solid #4C4C4C)]
- RenderBlock (anonymous) at (6,3) size 38x14
- RenderText at (0,0) size 18x14
- text run at (0,0) width 18: "test"
- RenderText {#text} at (0,0) size 0x0
Deleted: trunk/LayoutTests/platform/mac/fast/forms/select-size-expected.png
(Binary files differ)
Deleted: trunk/LayoutTests/platform/mac/fast/forms/select-size-expected.txt (196892 => 196893)
--- trunk/LayoutTests/platform/mac/fast/forms/select-size-expected.txt 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/LayoutTests/platform/mac/fast/forms/select-size-expected.txt 2016-02-22 05:52:07 UTC (rev 196893)
@@ -1,14 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderText {#text} at (0,0) size 782x36
- text run at (0,0) width 782: "This tests that a malformed size attribute will be parsed and corrected so that the right size attribute value is used to match"
- text run at (0,18) width 441: "the style rule that determines whether to use a menu list or a list box."
- RenderBR {BR} at (440,32) size 1x0
- RenderMenuList {SELECT} at (2,38) size 51x18 [bgcolor=#FFFFFF]
- RenderBlock (anonymous) at (0,0) size 51x18
- RenderText at (8,2) size 20x13
- text run at (8,2) width 20: "test"
- RenderText {#text} at (0,0) size 0x0
Deleted: trunk/LayoutTests/platform/win/fast/forms/select-size-expected.txt (196892 => 196893)
--- trunk/LayoutTests/platform/win/fast/forms/select-size-expected.txt 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/LayoutTests/platform/win/fast/forms/select-size-expected.txt 2016-02-22 05:52:07 UTC (rev 196893)
@@ -1,14 +0,0 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderText {#text} at (0,0) size 783x36
- text run at (0,0) width 783: "This tests that a malformed size attribute will be parsed and corrected so that the right size attribute value is used to match the"
- text run at (0,18) width 406: "style rule that determines whether to use a menu list or a list box."
- RenderBR {BR} at (406,32) size 0x0
- RenderMenuList {SELECT} at (2,38) size 47x19 [bgcolor=#FFFFFF]
- RenderBlock (anonymous) at (4,2) size 22x15
- RenderText at (0,0) size 22x15
- text run at (0,0) width 22: "test"
- RenderText {#text} at (0,0) size 0x0
Modified: trunk/Source/WebCore/ChangeLog (196892 => 196893)
--- trunk/Source/WebCore/ChangeLog 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/Source/WebCore/ChangeLog 2016-02-22 05:52:07 UTC (rev 196893)
@@ -1,3 +1,47 @@
+2016-02-21 Chris Dumez <[email protected]>
+
+ Make HTMLSelectElement.size behave as per the specification
+ https://bugs.webkit.org/show_bug.cgi?id=154504
+
+ Reviewed by Darin Adler.
+
+ Make HTMLSelectElement.size behave as per the specification:
+ - https://html.spec.whatwg.org/#htmlselectelement
+ - https://html.spec.whatwg.org/#dom-select-size
+ - https://html.spec.whatwg.org/#reflecting-content-attributes-in-idl-attributes:idl-unsigned-long
+
+ In particular, it should be unsigned and be in the range [0; 2147483647].
+
+ Also update several unsigned long attributes in our HTML implementation to use
+ parseHTMLNonNegativeInteger() to parse unsigned integers as per the HTML
+ specification, instead of calling String::toUint().
+
+ No new tests, already covered by existing tests.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseAttribute):
+ (WebCore::HTMLInputElement::size):
+ (WebCore::HTMLInputElement::setSize):
+ * html/HTMLInputElement.h:
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::parseAttribute):
+ (WebCore::HTMLSelectElement::setSize):
+ (WebCore::HTMLSelectElement::namedItem): Deleted.
+ (WebCore::HTMLSelectElement::item): Deleted.
+ * html/HTMLSelectElement.h:
+ (WebCore::HTMLSelectElement::size):
+ * html/HTMLSelectElement.idl:
+ * html/HTMLTableColElement.cpp:
+ (WebCore::HTMLTableColElement::parseAttribute):
+ (WebCore::HTMLTableColElement::setSpan):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::parseAttribute):
+ (WebCore::HTMLTextAreaElement::setCols):
+ (WebCore::HTMLTextAreaElement::setRows):
+ * html/parser/HTMLParserIdioms.h:
+ (WebCore::limitToOnlyHTMLNonNegativeNumbersGreaterThanZero):
+ (WebCore::limitToOnlyHTMLNonNegative):
+
2016-02-21 Daniel Bates <[email protected]>
CSP: Enable form-action directive by default
Modified: trunk/Source/WebCore/html/HTMLInputElement.cpp (196892 => 196893)
--- trunk/Source/WebCore/html/HTMLInputElement.cpp 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/Source/WebCore/html/HTMLInputElement.cpp 2016-02-22 05:52:07 UTC (rev 196893)
@@ -684,8 +684,8 @@
} else if (name == maxlengthAttr)
parseMaxLengthAttribute(value);
else if (name == sizeAttr) {
- int oldSize = m_size;
- m_size = limitToOnlyNonNegativeNumbersGreaterThanZero(value.string().toUInt(), defaultSize);
+ unsigned oldSize = m_size;
+ m_size = limitToOnlyHTMLNonNegativeNumbersGreaterThanZero(value, defaultSize);
if (m_size != oldSize && renderer())
renderer()->setNeedsLayoutAndPrefWidthsRecalc();
} else if (name == altAttr)
@@ -896,7 +896,7 @@
renderer()->theme().stateChanged(*renderer(), ControlStates::CheckedState);
}
-int HTMLInputElement::size() const
+unsigned HTMLInputElement::size() const
{
return m_size;
}
@@ -1274,7 +1274,7 @@
void HTMLInputElement::setSize(unsigned size)
{
- setUnsignedIntegralAttribute(sizeAttr, limitToOnlyNonNegativeNumbersGreaterThanZero(size, defaultSize));
+ setUnsignedIntegralAttribute(sizeAttr, limitToOnlyHTMLNonNegativeNumbersGreaterThanZero(size, defaultSize));
}
void HTMLInputElement::setSize(unsigned size, ExceptionCode& ec)
Modified: trunk/Source/WebCore/html/HTMLInputElement.h (196892 => 196893)
--- trunk/Source/WebCore/html/HTMLInputElement.h 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/Source/WebCore/html/HTMLInputElement.h 2016-02-22 05:52:07 UTC (rev 196893)
@@ -161,7 +161,7 @@
bool shouldAppearChecked() const;
virtual bool shouldAppearIndeterminate() const override final;
- int size() const;
+ unsigned size() const;
bool sizeShouldIncludeDecoration(int& preferredSize) const;
float decorationWidth() const;
@@ -421,7 +421,7 @@
AtomicString m_name;
String m_valueIfDirty;
- int m_size;
+ unsigned m_size;
int m_maxLength;
short m_maxResults;
bool m_isChecked : 1;
Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (196892 => 196893)
--- trunk/Source/WebCore/html/HTMLSelectElement.cpp 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/Source/WebCore/html/HTMLSelectElement.cpp 2016-02-22 05:52:07 UTC (rev 196893)
@@ -44,6 +44,7 @@
#include "HTMLOptGroupElement.h"
#include "HTMLOptionElement.h"
#include "HTMLOptionsCollection.h"
+#include "HTMLParserIdioms.h"
#include "KeyboardEvent.h"
#include "LocalizedStrings.h"
#include "MouseEvent.h"
@@ -302,17 +303,8 @@
void HTMLSelectElement::parseAttribute(const QualifiedName& name, const AtomicString& value)
{
if (name == sizeAttr) {
- int oldSize = m_size;
- // Set the attribute value to a number.
- // This is important since the style rules for this attribute can determine the appearance property.
- int size = value.toInt();
- AtomicString attrSize = AtomicString::number(size);
- if (attrSize != value) {
- // FIXME: This is horribly factored.
- if (Attribute* sizeAttribute = ensureUniqueElementData().findAttributeByName(sizeAttr))
- sizeAttribute->setValue(attrSize);
- }
- size = std::max(size, 0);
+ unsigned oldSize = m_size;
+ unsigned size = limitToOnlyHTMLNonNegative(value);
// Ensure that we've determined selectedness of the items at least once prior to changing the size.
if (oldSize != size)
@@ -428,9 +420,9 @@
setSelectedIndex(oldSelectedIndex);
}
-void HTMLSelectElement::setSize(int size)
+void HTMLSelectElement::setSize(unsigned size)
{
- setIntegralAttribute(sizeAttr, size);
+ setUnsignedIntegralAttribute(sizeAttr, limitToOnlyHTMLNonNegative(size));
}
HTMLOptionElement* HTMLSelectElement::namedItem(const AtomicString& name)
Modified: trunk/Source/WebCore/html/HTMLSelectElement.h (196892 => 196893)
--- trunk/Source/WebCore/html/HTMLSelectElement.h 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/Source/WebCore/html/HTMLSelectElement.h 2016-02-22 05:52:07 UTC (rev 196893)
@@ -51,7 +51,7 @@
unsigned length() const;
- int size() const { return m_size; }
+ unsigned size() const { return m_size; }
bool multiple() const { return m_multiple; }
bool usesMenuList() const;
@@ -83,7 +83,7 @@
void setMultiple(bool);
- void setSize(int);
+ void setSize(unsigned);
void setOption(unsigned index, HTMLOptionElement*, ExceptionCode&);
void setLength(unsigned, ExceptionCode&);
@@ -204,7 +204,7 @@
Vector<bool> m_lastOnChangeSelection;
Vector<bool> m_cachedStateForActiveSelection;
TypeAhead m_typeAhead;
- int m_size;
+ unsigned m_size;
int m_lastOnChangeIndex;
int m_activeSelectionAnchorIndex;
int m_activeSelectionEndIndex;
Modified: trunk/Source/WebCore/html/HTMLSelectElement.idl (196892 => 196893)
--- trunk/Source/WebCore/html/HTMLSelectElement.idl 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/Source/WebCore/html/HTMLSelectElement.idl 2016-02-22 05:52:07 UTC (rev 196893)
@@ -27,7 +27,12 @@
attribute boolean multiple;
[Reflect] attribute DOMString name;
[Reflect] attribute boolean required;
+
+#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C || defined(LANGUAGE_GOBJECT) && LANGUAGE_GOBJECT
attribute long size;
+#else
+ attribute unsigned long size;
+#endif
readonly attribute DOMString type;
Modified: trunk/Source/WebCore/html/HTMLTableColElement.cpp (196892 => 196893)
--- trunk/Source/WebCore/html/HTMLTableColElement.cpp 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/Source/WebCore/html/HTMLTableColElement.cpp 2016-02-22 05:52:07 UTC (rev 196893)
@@ -65,7 +65,7 @@
void HTMLTableColElement::parseAttribute(const QualifiedName& name, const AtomicString& value)
{
if (name == spanAttr) {
- m_span = limitToOnlyNonNegativeNumbersGreaterThanZero(value.string().toUInt());
+ m_span = limitToOnlyHTMLNonNegativeNumbersGreaterThanZero(value);
if (is<RenderTableCol>(renderer()))
downcast<RenderTableCol>(*renderer()).updateFromElement();
} else if (name == widthAttr) {
@@ -92,7 +92,7 @@
void HTMLTableColElement::setSpan(unsigned n)
{
- setUnsignedIntegralAttribute(spanAttr, limitToOnlyNonNegativeNumbersGreaterThanZero(n));
+ setUnsignedIntegralAttribute(spanAttr, limitToOnlyHTMLNonNegativeNumbersGreaterThanZero(n));
}
String HTMLTableColElement::width() const
Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.cpp (196892 => 196893)
--- trunk/Source/WebCore/html/HTMLTextAreaElement.cpp 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/Source/WebCore/html/HTMLTextAreaElement.cpp 2016-02-22 05:52:07 UTC (rev 196893)
@@ -170,14 +170,14 @@
void HTMLTextAreaElement::parseAttribute(const QualifiedName& name, const AtomicString& value)
{
if (name == rowsAttr) {
- unsigned rows = limitToOnlyNonNegativeNumbersGreaterThanZero(value.string().toUInt(), defaultRows);
+ unsigned rows = limitToOnlyHTMLNonNegativeNumbersGreaterThanZero(value, defaultRows);
if (m_rows != rows) {
m_rows = rows;
if (renderer())
renderer()->setNeedsLayoutAndPrefWidthsRecalc();
}
} else if (name == colsAttr) {
- unsigned cols = limitToOnlyNonNegativeNumbersGreaterThanZero(value.string().toUInt(), defaultCols);
+ unsigned cols = limitToOnlyHTMLNonNegativeNumbersGreaterThanZero(value, defaultCols);
if (m_cols != cols) {
m_cols = cols;
if (renderer())
@@ -491,12 +491,12 @@
void HTMLTextAreaElement::setCols(unsigned cols)
{
- setUnsignedIntegralAttribute(colsAttr, limitToOnlyNonNegativeNumbersGreaterThanZero(cols, defaultCols));
+ setUnsignedIntegralAttribute(colsAttr, limitToOnlyHTMLNonNegativeNumbersGreaterThanZero(cols, defaultCols));
}
void HTMLTextAreaElement::setRows(unsigned rows)
{
- setUnsignedIntegralAttribute(rowsAttr, limitToOnlyNonNegativeNumbersGreaterThanZero(rows, defaultRows));
+ setUnsignedIntegralAttribute(rowsAttr, limitToOnlyHTMLNonNegativeNumbersGreaterThanZero(rows, defaultRows));
}
bool HTMLTextAreaElement::shouldUseInputMethod()
Modified: trunk/Source/WebCore/html/parser/HTMLParserIdioms.h (196892 => 196893)
--- trunk/Source/WebCore/html/parser/HTMLParserIdioms.h 2016-02-22 05:26:17 UTC (rev 196892)
+++ trunk/Source/WebCore/html/parser/HTMLParserIdioms.h 2016-02-22 05:52:07 UTC (rev 196893)
@@ -107,11 +107,31 @@
}
// https://html.spec.whatwg.org/multipage/infrastructure.html#limited-to-only-non-negative-numbers-greater-than-zero
-inline unsigned limitToOnlyNonNegativeNumbersGreaterThanZero(unsigned value, unsigned defaultValue = 1)
+inline unsigned limitToOnlyHTMLNonNegativeNumbersGreaterThanZero(unsigned value, unsigned defaultValue = 1)
{
return (value > 0 && value <= 2147483647) ? value : defaultValue;
}
+inline unsigned limitToOnlyHTMLNonNegativeNumbersGreaterThanZero(const String& stringValue, unsigned defaultValue = 1)
+{
+ unsigned value = defaultValue;
+ parseHTMLNonNegativeInteger(stringValue, value);
+ return limitToOnlyHTMLNonNegativeNumbersGreaterThanZero(value, defaultValue);
}
+// https://html.spec.whatwg.org/#reflecting-content-attributes-in-idl-attributes:idl-unsigned-long
+inline unsigned limitToOnlyHTMLNonNegative(unsigned value, unsigned defaultValue = 0)
+{
+ return value <= 2147483647 ? value : defaultValue;
+}
+
+inline unsigned limitToOnlyHTMLNonNegative(const String& stringValue, unsigned defaultValue = 0)
+{
+ unsigned value = defaultValue;
+ parseHTMLNonNegativeInteger(stringValue, value);
+ return limitToOnlyHTMLNonNegative(value, defaultValue);
+}
+
+}
+
#endif