Title: [198451] trunk
Revision
198451
Author
[email protected]
Date
2016-03-18 16:45:02 -0700 (Fri, 18 Mar 2016)

Log Message

ASSERTION FAILED: m_isValid == valid() in WebCore::HTMLFormControlElement::isValidFormControlElement
https://bugs.webkit.org/show_bug.cgi?id=139481

Reviewed by Daniel Bates.

Source/WebCore:

Test: fast/forms/validity-assertion-inserting-into-datalist.html

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::insertedInto): Set the flags that will cause
"will validate" to be recomputed *before* calling willValidate().

LayoutTests:

* fast/forms/validity-assertion-inserting-into-datalist-expected.txt: Added.
* fast/forms/validity-assertion-inserting-into-datalist.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (198450 => 198451)


--- trunk/LayoutTests/ChangeLog	2016-03-18 23:23:09 UTC (rev 198450)
+++ trunk/LayoutTests/ChangeLog	2016-03-18 23:45:02 UTC (rev 198451)
@@ -1,3 +1,13 @@
+2016-03-18  Darin Adler  <[email protected]>
+
+        ASSERTION FAILED: m_isValid == valid() in WebCore::HTMLFormControlElement::isValidFormControlElement
+        https://bugs.webkit.org/show_bug.cgi?id=139481
+
+        Reviewed by Daniel Bates.
+
+        * fast/forms/validity-assertion-inserting-into-datalist-expected.txt: Added.
+        * fast/forms/validity-assertion-inserting-into-datalist.html: Added.
+
 2016-03-18  Chris Dumez  <[email protected]>
 
         Speculative revalidation requests do not have their HTTP user-agent set

Added: trunk/LayoutTests/fast/forms/validity-assertion-inserting-into-datalist-expected.txt (0 => 198451)


--- trunk/LayoutTests/fast/forms/validity-assertion-inserting-into-datalist-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/forms/validity-assertion-inserting-into-datalist-expected.txt	2016-03-18 23:45:02 UTC (rev 198451)
@@ -0,0 +1,3 @@
+Validity state depends on whether form element is in data list. Test passes if it does not hit validity assertion in a debug build.
+
+ 

Added: trunk/LayoutTests/fast/forms/validity-assertion-inserting-into-datalist.html (0 => 198451)


--- trunk/LayoutTests/fast/forms/validity-assertion-inserting-into-datalist.html	                        (rev 0)
+++ trunk/LayoutTests/fast/forms/validity-assertion-inserting-into-datalist.html	2016-03-18 23:45:02 UTC (rev 198451)
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+</script>
+<p>Validity state depends on whether form element is in data list. Test passes if it does not hit validity assertion in a debug build.</p>
+<datalist>
+    <a>
+        <form>
+            <select required=""></select>
+    </a>
+</datalist>
\ No newline at end of file

Modified: trunk/Source/WebCore/ChangeLog (198450 => 198451)


--- trunk/Source/WebCore/ChangeLog	2016-03-18 23:23:09 UTC (rev 198450)
+++ trunk/Source/WebCore/ChangeLog	2016-03-18 23:45:02 UTC (rev 198451)
@@ -1,3 +1,16 @@
+2016-03-18  Darin Adler  <[email protected]>
+
+        ASSERTION FAILED: m_isValid == valid() in WebCore::HTMLFormControlElement::isValidFormControlElement
+        https://bugs.webkit.org/show_bug.cgi?id=139481
+
+        Reviewed by Daniel Bates.
+
+        Test: fast/forms/validity-assertion-inserting-into-datalist.html
+
+        * html/HTMLFormControlElement.cpp:
+        (WebCore::HTMLFormControlElement::insertedInto): Set the flags that will cause
+        "will validate" to be recomputed *before* calling willValidate().
+
 2016-03-18  Chris Dumez  <[email protected]>
 
         Speculative revalidation requests do not have their HTTP user-agent set

Modified: trunk/Source/WebCore/html/HTMLFormControlElement.cpp (198450 => 198451)


--- trunk/Source/WebCore/html/HTMLFormControlElement.cpp	2016-03-18 23:23:09 UTC (rev 198450)
+++ trunk/Source/WebCore/html/HTMLFormControlElement.cpp	2016-03-18 23:45:02 UTC (rev 198451)
@@ -275,13 +275,12 @@
 
 Node::InsertionNotificationRequest HTMLFormControlElement::insertedInto(ContainerNode& insertionPoint)
 {
+    m_dataListAncestorState = Unknown;
+    setNeedsWillValidateCheck();
     if (willValidate() && !isValidFormControlElement())
         addInvalidElementToAncestorFromInsertionPoint(*this, &insertionPoint);
-
     if (document().hasDisabledFieldsetElement())
         setAncestorDisabled(computeIsDisabledByFieldsetAncestor());
-    m_dataListAncestorState = Unknown;
-    setNeedsWillValidateCheck();
     HTMLElement::insertedInto(insertionPoint);
     FormAssociatedElement::insertedInto(insertionPoint);
     return InsertionShouldCallFinishedInsertingSubtree;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to