Fix a form restore test broken by HTML5 parser
authortkent@chromium.org <tkent@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Jun 2012 04:26:13 +0000 (04:26 +0000)
committertkent@chromium.org <tkent@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 Jun 2012 04:26:13 +0000 (04:26 +0000)
https://bugs.webkit.org/show_bug.cgi?id=89539

Reviewed by Kentaro Hara.

Before HTML5 parser, we parsed innerHTML input text and we attached
renderers to parsed nodes at the same time. The parsed nodes had
restored form values because we restore form values only for attached
elements.

After HTML5 parser, we don't attach renderers during innerHTML
parsing. state-restore-to-nonedited-controls.html used innerHTML to
built a form and the test haven't worked since introducing HTML5 parser.

This patch changes the test so that it uses document.write() instead of
innerHTML.

* fast/forms/state-restore-to-non-edited-controls-expected.txt:
Note that the FAIL line is expected. It's due to Bug 88685.
* fast/forms/state-restore-to-non-edited-controls.html:
Use document.write() instead of innerHTML.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@120796 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/forms/state-restore-to-non-edited-controls-expected.txt
LayoutTests/fast/forms/state-restore-to-non-edited-controls.html

index ad483f0..cd75e0c 100644 (file)
@@ -1,3 +1,27 @@
+2012-06-19  Kent Tamura  <tkent@chromium.org>
+
+        Fix a form restore test broken by HTML5 parser
+        https://bugs.webkit.org/show_bug.cgi?id=89539
+
+        Reviewed by Kentaro Hara.
+
+        Before HTML5 parser, we parsed innerHTML input text and we attached
+        renderers to parsed nodes at the same time. The parsed nodes had
+        restored form values because we restore form values only for attached
+        elements.
+
+        After HTML5 parser, we don't attach renderers during innerHTML
+        parsing. state-restore-to-nonedited-controls.html used innerHTML to
+        built a form and the test haven't worked since introducing HTML5 parser.
+
+        This patch changes the test so that it uses document.write() instead of
+        innerHTML.
+
+        * fast/forms/state-restore-to-non-edited-controls-expected.txt:
+        Note that the FAIL line is expected. It's due to Bug 88685.
+        * fast/forms/state-restore-to-non-edited-controls.html:
+        Use document.write() instead of innerHTML.
+
 2012-06-19  Ryosuke Niwa  <rniwa@webkit.org>
 
         Test fix after r120521.
index 5a92c15..2ffec00 100644 (file)
@@ -1,11 +1,11 @@
 Test to NOT save state for non-edited controls
 
 PASS document.getElementById("button").value is "2"
-PASS document.getElementById("hidden").value is "2"
+FAIL document.getElementById("hidden").value should be 2. Was 1.
 PASS document.getElementById("image").value is "2"
 PASS document.getElementById("reset").value is "2"
 PASS document.getElementById("submit1").value is "2"
-PASS document.getElementById("text1").value is "2"
+PASS document.getElementById("text1").value is "edit"
 PASS document.getElementById("text2").value is "2"
 PASS document.getElementById("textarea").value is "2"
 
index c9d8f1e..a44c354 100644 (file)
@@ -3,7 +3,7 @@
 <head>
 <script src="../../fast/js/resources/js-test-pre.js"></script>
 </head>
-<body onload="runTest()">
+<body>
 <p>Test to NOT save state for non-edited controls</p>
 <div id="console"></div>
 
@@ -14,7 +14,7 @@
 <script>
 
 function makeForm(parent, buttonValue, hiddenValue, imageValue, resetValue, submitValue, textValue1, textValue2, textAreaValue) {
-    parent.innerHTML = '<form action="data:text/html,<script>history.back()&lt;/script>" id=form1>'
+    document.write('<form action="data:text/html,<script>history.back()&lt;/script>" id=form1>'
         + '<input name=button id=button type=button value="' + buttonValue + '">'
         + '<input name=hidden id=hidden type=hidden value="' + hiddenValue + '">'
         + '<input name=image id=image type=image value="' + imageValue + '">'
@@ -23,7 +23,7 @@ function makeForm(parent, buttonValue, hiddenValue, imageValue, resetValue, subm
         + '<input name=text1 id=text1 type=text value="' + textValue1 + '">'
         + '<input name=text2 id=text2 type=text value="' + textValue2 + '">'
         + '<textarea name=textarea id=textarea>' + textAreaValue + '</textarea>'
-        + '</form>';
+        + '</form>');
 }
 
 function runTest()
@@ -49,7 +49,7 @@ function runTest()
         shouldBe('document.getElementById("image").value', '"2"');
         shouldBe('document.getElementById("reset").value', '"2"');
         shouldBe('document.getElementById("submit1").value', '"2"');
-        shouldBe('document.getElementById("text1").value', '"2"');
+        shouldBe('document.getElementById("text1").value', '"edit"');
         shouldBe('document.getElementById("text2").value', '"2"');
         shouldBe('document.getElementById("textarea").value', '"2"');
     
@@ -58,5 +58,7 @@ function runTest()
             layoutTestController.notifyDone();
     }
 }
+
+runTest();
 </script>
 </body>