Title: [286482] trunk
Revision
286482
Author
[email protected]
Date
2021-12-02 22:39:14 -0800 (Thu, 02 Dec 2021)

Log Message

html/semantics/forms/constraints/form-validation-validity-valid.html WPT test is failing
https://bugs.webkit.org/show_bug.cgi?id=233778

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:

Source/WebCore:

html/semantics/forms/constraints/form-validation-validity-valid.html WPT test is failing in WebKit
but passing in Blink & Gecko. The issue was caused by incorrect willValidate() checks inside
HTMLInputElement::isValid() & HTMLSelectElement::valueMissing().

No new tests, rebaselined existing tests.

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isValid const):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::valueMissing const):

LayoutTests:

Rebaseline WPT tests now that more checks are passing.

* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (286481 => 286482)


--- trunk/LayoutTests/ChangeLog	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/LayoutTests/ChangeLog	2021-12-03 06:39:14 UTC (rev 286482)
@@ -1,3 +1,15 @@
+2021-12-02  Chris Dumez  <[email protected]>
+
+        html/semantics/forms/constraints/form-validation-validity-valid.html WPT test is failing
+        https://bugs.webkit.org/show_bug.cgi?id=233778
+
+        Reviewed by Darin Adler.
+
+        Rebaseline WPT tests now that more checks are passing.
+
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
+
 2021-12-02  Arcady Goldmints-Orlov  <[email protected]>
 
         [GLIB] Update test expectations and baselines. Unreviewed test gardening.

Modified: trunk/LayoutTests/fast/forms/ValidityState-valueMissing-003-expected.txt (286481 => 286482)


--- trunk/LayoutTests/fast/forms/ValidityState-valueMissing-003-expected.txt	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/LayoutTests/fast/forms/ValidityState-valueMissing-003-expected.txt	2021-12-03 06:39:14 UTC (rev 286482)
@@ -5,15 +5,15 @@
 
 PASS valueMissingFor("input") is false
 PASS valueMissingFor("textarea") is false
-PASS valueMissingFor("select-no-option") is false
-PASS valueMissingFor("select-placeholder-selected") is false
+PASS valueMissingFor("select-no-option") is true
+PASS valueMissingFor("select-placeholder-selected") is true
 PASS valueMissingFor("select-without-placeholder") is false
 PASS valueMissingFor("select-placeholder-selected-size2") is false
 PASS valueMissingFor("select-without-placeholder-size2") is false
-PASS valueMissingFor("select-none-selected-multiple") is false
+PASS valueMissingFor("select-none-selected-multiple") is true
 PASS valueMissingFor("select-fake-placeholder-selected-multiple") is false
 PASS valueMissingFor("select-without-fake-placeholder-multiple") is false
-PASS valueMissingFor("select-none-selected-size2-multiple") is false
+PASS valueMissingFor("select-none-selected-size2-multiple") is true
 PASS valueMissingFor("select-fake-placeholder-selected-size2-multiple") is false
 PASS valueMissingFor("select-without-fake-placeholder-size2-multiple") is false
 PASS successfullyParsed is true

Modified: trunk/LayoutTests/fast/forms/ValidityState-valueMissing-003.html (286481 => 286482)


--- trunk/LayoutTests/fast/forms/ValidityState-valueMissing-003.html	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/LayoutTests/fast/forms/ValidityState-valueMissing-003.html	2021-12-03 06:39:14 UTC (rev 286482)
@@ -62,15 +62,15 @@
 
     shouldBeFalse('valueMissingFor("input")');
     shouldBeFalse('valueMissingFor("textarea")');
-    shouldBeFalse('valueMissingFor("select-no-option")');
-    shouldBeFalse('valueMissingFor("select-placeholder-selected")');
+    shouldBeTrue('valueMissingFor("select-no-option")');
+    shouldBeTrue('valueMissingFor("select-placeholder-selected")');
     shouldBeFalse('valueMissingFor("select-without-placeholder")');
     shouldBeFalse('valueMissingFor("select-placeholder-selected-size2")');
     shouldBeFalse('valueMissingFor("select-without-placeholder-size2")');
-    shouldBeFalse('valueMissingFor("select-none-selected-multiple")');
+    shouldBeTrue('valueMissingFor("select-none-selected-multiple")');
     shouldBeFalse('valueMissingFor("select-fake-placeholder-selected-multiple")');
     shouldBeFalse('valueMissingFor("select-without-fake-placeholder-multiple")');
-    shouldBeFalse('valueMissingFor("select-none-selected-size2-multiple")');
+    shouldBeTrue('valueMissingFor("select-none-selected-size2-multiple")');
     shouldBeFalse('valueMissingFor("select-fake-placeholder-selected-size2-multiple")');
     shouldBeFalse('valueMissingFor("select-without-fake-placeholder-size2-multiple")');
 </script>

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286481 => 286482)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-12-03 06:39:14 UTC (rev 286482)
@@ -1,5 +1,16 @@
 2021-12-02  Chris Dumez  <[email protected]>
 
+        html/semantics/forms/constraints/form-validation-validity-valid.html WPT test is failing
+        https://bugs.webkit.org/show_bug.cgi?id=233778
+
+        Reviewed by Darin Adler.
+
+        Rebaseline WPT tests now that more checks are passing.
+
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
+
+2021-12-02  Chris Dumez  <[email protected]>
+
         html/semantics/forms/constraints/input-number-validity-dynamic-value-no-change.html WPT test is failing
         https://bugs.webkit.org/show_bug.cgi?id=233765
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt (286481 => 286482)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt	2021-12-03 06:39:14 UTC (rev 286482)
@@ -1,17 +1,17 @@
 
-FAIL [INPUT in TEXT status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in TEXT status] validity.valid must be false if validity.patternMismatch is true
 PASS [INPUT in TEXT status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in SEARCH status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in SEARCH status] validity.valid must be false if validity.patternMismatch is true
 PASS [INPUT in SEARCH status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in TEL status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in TEL status] validity.valid must be false if validity.patternMismatch is true
 PASS [INPUT in TEL status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in PASSWORD status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in PASSWORD status] validity.valid must be false if validity.patternMismatch is true
 PASS [INPUT in PASSWORD status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in URL status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in URL status] validity.valid must be false if validity.typeMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in URL status] validity.valid must be false if validity.patternMismatch is true
+PASS [INPUT in URL status] validity.valid must be false if validity.typeMismatch is true
 PASS [INPUT in URL status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in EMAIL status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in EMAIL status] validity.valid must be false if validity.typeMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in EMAIL status] validity.valid must be false if validity.patternMismatch is true
+PASS [INPUT in EMAIL status] validity.valid must be false if validity.typeMismatch is true
 PASS [INPUT in EMAIL status] validity.valid must be false if validity.valueMissing is true
 FAIL [INPUT in DATETIME-LOCAL status] The datetime-local type must be supported. assert_equals: The datetime-local type should be supported. expected "datetime-local" but got "text"
 FAIL [INPUT in DATE status] The date type must be supported. assert_equals: The date type should be supported. expected "date" but got "text"
@@ -18,13 +18,13 @@
 FAIL [INPUT in MONTH status] The month type must be supported. assert_equals: The month type should be supported. expected "month" but got "text"
 FAIL [INPUT in WEEK status] The week type must be supported. assert_equals: The week type should be supported. expected "week" but got "text"
 FAIL [INPUT in TIME status] The time type must be supported. assert_equals: The time type should be supported. expected "time" but got "text"
-FAIL [INPUT in NUMBER status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in NUMBER status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in NUMBER status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in NUMBER status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in NUMBER status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in NUMBER status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in NUMBER status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in CHECKBOX status] validity.valid must be false if validity.valueMissing is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in CHECKBOX status] validity.valid must be false if validity.valueMissing is true
 FAIL [INPUT in RADIO status] validity.valid must be false if validity.valueMissing is true assert_false: The validity.valid should be false. expected false got true
-FAIL [INPUT in FILE status] validity.valid must be false if validity.valueMissing is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [select]  validity.valid must be false if validity.valueMissing is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in FILE status] validity.valid must be false if validity.valueMissing is true
+PASS [select]  validity.valid must be false if validity.valueMissing is true
 PASS [textarea]  validity.valid must be false if validity.valueMissing is true
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt (286481 => 286482)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt	2021-12-03 06:39:14 UTC (rev 286482)
@@ -44,7 +44,7 @@
 PASS [INPUT in FILE status] The Files attribute is null
 PASS [select]  The required attribute is not set
 PASS [select]  Selected the option with value equals to 1
-FAIL [select]  Selected the option with value equals to empty assert_true: The validity.valueMissing should be true, when control is disabled. expected true got false
+PASS [select]  Selected the option with value equals to empty
 PASS [textarea]  The required attribute is not set
 PASS [textarea]  The value is not empty
 PASS [textarea]  The value is empty

Modified: trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt (286481 => 286482)


--- trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt	2021-12-03 06:39:14 UTC (rev 286482)
@@ -1,45 +1,45 @@
 
-FAIL [INPUT in TEXT status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in TEXT status] validity.valid must be false if validity.patternMismatch is true
 PASS [INPUT in TEXT status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in SEARCH status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in SEARCH status] validity.valid must be false if validity.patternMismatch is true
 PASS [INPUT in SEARCH status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in TEL status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in TEL status] validity.valid must be false if validity.patternMismatch is true
 PASS [INPUT in TEL status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in PASSWORD status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in PASSWORD status] validity.valid must be false if validity.patternMismatch is true
 PASS [INPUT in PASSWORD status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in URL status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in URL status] validity.valid must be false if validity.typeMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in URL status] validity.valid must be false if validity.patternMismatch is true
+PASS [INPUT in URL status] validity.valid must be false if validity.typeMismatch is true
 PASS [INPUT in URL status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in EMAIL status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in EMAIL status] validity.valid must be false if validity.typeMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in EMAIL status] validity.valid must be false if validity.patternMismatch is true
+PASS [INPUT in EMAIL status] validity.valid must be false if validity.typeMismatch is true
 PASS [INPUT in EMAIL status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in DATE status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in DATE status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in DATE status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in DATE status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in DATE status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in DATE status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in DATE status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in MONTH status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in MONTH status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in MONTH status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in MONTH status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in MONTH status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in MONTH status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in MONTH status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in WEEK status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in WEEK status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in WEEK status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in WEEK status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in WEEK status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in WEEK status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in WEEK status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in TIME status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in TIME status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in TIME status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in TIME status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in TIME status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in TIME status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in TIME status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in NUMBER status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in NUMBER status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in NUMBER status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in NUMBER status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in NUMBER status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in NUMBER status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in NUMBER status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in CHECKBOX status] validity.valid must be false if validity.valueMissing is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in CHECKBOX status] validity.valid must be false if validity.valueMissing is true
 FAIL [INPUT in RADIO status] validity.valid must be false if validity.valueMissing is true assert_false: The validity.valid should be false. expected false got true
-FAIL [INPUT in FILE status] validity.valid must be false if validity.valueMissing is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [select]  validity.valid must be false if validity.valueMissing is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in FILE status] validity.valid must be false if validity.valueMissing is true
+PASS [select]  validity.valid must be false if validity.valueMissing is true
 PASS [textarea]  validity.valid must be false if validity.valueMissing is true
 

Modified: trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt (286481 => 286482)


--- trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt	2021-12-03 06:39:14 UTC (rev 286482)
@@ -90,7 +90,7 @@
 PASS [INPUT in FILE status] The Files attribute is null
 PASS [select]  The required attribute is not set
 PASS [select]  Selected the option with value equals to 1
-FAIL [select]  Selected the option with value equals to empty assert_true: The validity.valueMissing should be true, when control is disabled. expected true got false
+PASS [select]  Selected the option with value equals to empty
 PASS [textarea]  The required attribute is not set
 PASS [textarea]  The value is not empty
 PASS [textarea]  The value is empty

Modified: trunk/LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt (286481 => 286482)


--- trunk/LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt	2021-12-03 06:39:14 UTC (rev 286482)
@@ -1,45 +1,45 @@
 
-FAIL [INPUT in TEXT status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in TEXT status] validity.valid must be false if validity.patternMismatch is true
 PASS [INPUT in TEXT status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in SEARCH status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in SEARCH status] validity.valid must be false if validity.patternMismatch is true
 PASS [INPUT in SEARCH status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in TEL status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in TEL status] validity.valid must be false if validity.patternMismatch is true
 PASS [INPUT in TEL status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in PASSWORD status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in PASSWORD status] validity.valid must be false if validity.patternMismatch is true
 PASS [INPUT in PASSWORD status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in URL status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in URL status] validity.valid must be false if validity.typeMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in URL status] validity.valid must be false if validity.patternMismatch is true
+PASS [INPUT in URL status] validity.valid must be false if validity.typeMismatch is true
 PASS [INPUT in URL status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in EMAIL status] validity.valid must be false if validity.patternMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in EMAIL status] validity.valid must be false if validity.typeMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in EMAIL status] validity.valid must be false if validity.patternMismatch is true
+PASS [INPUT in EMAIL status] validity.valid must be false if validity.typeMismatch is true
 PASS [INPUT in EMAIL status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in DATETIME-LOCAL status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in DATE status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in DATE status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in DATE status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in DATE status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in DATE status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in DATE status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in DATE status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in MONTH status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in MONTH status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in MONTH status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in MONTH status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in MONTH status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in MONTH status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in MONTH status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in WEEK status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in WEEK status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in WEEK status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in WEEK status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in WEEK status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in WEEK status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in WEEK status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in TIME status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in TIME status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in TIME status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in TIME status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in TIME status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in TIME status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in TIME status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in NUMBER status] validity.valid must be false if validity.rangeOverflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in NUMBER status] validity.valid must be false if validity.rangeUnderflow is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [INPUT in NUMBER status] validity.valid must be false if validity.stepMismatch is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in NUMBER status] validity.valid must be false if validity.rangeOverflow is true
+PASS [INPUT in NUMBER status] validity.valid must be false if validity.rangeUnderflow is true
+PASS [INPUT in NUMBER status] validity.valid must be false if validity.stepMismatch is true
 PASS [INPUT in NUMBER status] validity.valid must be false if validity.valueMissing is true
-FAIL [INPUT in CHECKBOX status] validity.valid must be false if validity.valueMissing is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in CHECKBOX status] validity.valid must be false if validity.valueMissing is true
 FAIL [INPUT in RADIO status] validity.valid must be false if validity.valueMissing is true assert_false: The validity.valid should be false. expected false got true
-FAIL [INPUT in FILE status] validity.valid must be false if validity.valueMissing is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
-FAIL [select]  validity.valid must be false if validity.valueMissing is true assert_false: The validity.valid should be false, when control is disabled. expected false got true
+PASS [INPUT in FILE status] validity.valid must be false if validity.valueMissing is true
+PASS [select]  validity.valid must be false if validity.valueMissing is true
 PASS [textarea]  validity.valid must be false if validity.valueMissing is true
 

Modified: trunk/LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt (286481 => 286482)


--- trunk/LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt	2021-12-03 06:39:14 UTC (rev 286482)
@@ -90,7 +90,7 @@
 PASS [INPUT in FILE status] The Files attribute is null
 PASS [select]  The required attribute is not set
 PASS [select]  Selected the option with value equals to 1
-FAIL [select]  Selected the option with value equals to empty assert_true: The validity.valueMissing should be true, when control is disabled. expected true got false
+PASS [select]  Selected the option with value equals to empty
 PASS [textarea]  The required attribute is not set
 PASS [textarea]  The value is not empty
 PASS [textarea]  The value is empty

Modified: trunk/Source/WebCore/ChangeLog (286481 => 286482)


--- trunk/Source/WebCore/ChangeLog	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/Source/WebCore/ChangeLog	2021-12-03 06:39:14 UTC (rev 286482)
@@ -1,3 +1,21 @@
+2021-12-02  Chris Dumez  <[email protected]>
+
+        html/semantics/forms/constraints/form-validation-validity-valid.html WPT test is failing
+        https://bugs.webkit.org/show_bug.cgi?id=233778
+
+        Reviewed by Darin Adler.
+
+        html/semantics/forms/constraints/form-validation-validity-valid.html WPT test is failing in WebKit
+        but passing in Blink & Gecko. The issue was caused by incorrect willValidate() checks inside
+        HTMLInputElement::isValid() & HTMLSelectElement::valueMissing().
+
+        No new tests, rebaselined existing tests.
+
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::isValid const):
+        * html/HTMLSelectElement.cpp:
+        (WebCore::HTMLSelectElement::valueMissing const):
+
 2021-12-02  Simon Fraser  <[email protected]>
 
         A Safari tab can rarely get stuck in a state where rendering updates stop happening

Modified: trunk/Source/WebCore/html/HTMLInputElement.cpp (286481 => 286482)


--- trunk/Source/WebCore/html/HTMLInputElement.cpp	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/Source/WebCore/html/HTMLInputElement.cpp	2021-12-03 06:39:14 UTC (rev 286482)
@@ -391,9 +391,6 @@
 
 bool HTMLInputElement::isValid() const
 {
-    if (!willValidate())
-        return true;
-
     String value = this->value();
     bool someError = m_inputType->isInvalid(value) || tooShort(value, CheckDirtyFlag) || tooLong(value, CheckDirtyFlag) || customError();
     return !someError;

Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (286481 => 286482)


--- trunk/Source/WebCore/html/HTMLSelectElement.cpp	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/Source/WebCore/html/HTMLSelectElement.cpp	2021-12-03 06:39:14 UTC (rev 286482)
@@ -173,9 +173,6 @@
 
 bool HTMLSelectElement::valueMissing() const
 {
-    if (!willValidate())
-        return false;
-
     if (!isRequired())
         return false;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to