2010-08-23 Eric Seidel <eric@webkit.org>
authorabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Aug 2010 07:12:50 +0000 (07:12 +0000)
committerabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Aug 2010 07:12:50 +0000 (07:12 +0000)
        Reviewed by Adam Barth.

        Use new HTML5 TreeBuilder for fragment parsing
        https://bugs.webkit.org/show_bug.cgi?id=44475

        The HTML5 TreeBuilder is ready to be used for all parsing
        including fragments!  This is the last change to move trunk
        off of the LegacyHTMLTreeBuilder.  We'll go through and
        delete the thousands of lines of code supporting the old
        parser in a separate patch.

        This is covered by many layout tests.

        * html/HTMLTreeBuilder.cpp:
2010-08-23  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Use new HTML5 TreeBuilder for fragment parsing
        https://bugs.webkit.org/show_bug.cgi?id=44475

        The HTML5 TreeBuilder is ready to be used for all parsing
        including fragments!  This is the last change to move trunk
        off of the LegacyHTMLTreeBuilder.  We'll go through and
        delete the thousands of lines of code supporting the old
        parser in a separate patch.

        As far as we can tell, all of these are test progressions, see below.

        * editing/pasteboard/paste-noscript-svg-expected.txt: progression.
        * fast/forms/state-restore-to-non-edited-controls-expected.txt: matches minefield.
        * fast/innerHTML/innerHTML-changing-document-properties-expected.txt: new HTML5 exception code, progression.
        * fast/parser/fragment-parser-expected.txt: matches minefield.
        * fast/parser/p-in-scope-expected.txt: matches minefield.
        * fast/parser/p-in-scope-strict-expected.txt: matches minefield.
        * fast/parser/residual-style-close-across-n-blocks-expected.txt: matches minefield.
        * fast/table/incomplete-table-in-fragment-2-expected.txt: matches minefield.
        * fast/table/incomplete-table-in-fragment-hang-expected.txt: matches minefield.
        * html5lib/runner-expected.txt: progression!
        * http/tests/security/xssAuditor/dom-write-innerHTML-expected.txt: Adam will fix this separately.

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

18 files changed:
LayoutTests/ChangeLog
LayoutTests/editing/pasteboard/paste-noscript-svg-expected.txt
LayoutTests/fast/forms/state-restore-to-non-edited-controls-expected.txt
LayoutTests/fast/innerHTML/innerHTML-changing-document-properties-expected.txt
LayoutTests/fast/parser/fragment-parser-expected.txt
LayoutTests/fast/parser/p-in-scope-expected.txt
LayoutTests/fast/parser/p-in-scope-strict-expected.txt
LayoutTests/fast/parser/residual-style-close-across-n-blocks-expected.txt
LayoutTests/fast/table/incomplete-table-in-fragment-2-expected.txt
LayoutTests/fast/table/incomplete-table-in-fragment-hang-expected.txt
LayoutTests/html5lib/runner-expected.txt
LayoutTests/http/tests/security/xssAuditor/dom-write-innerHTML-expected.txt
WebCore/ChangeLog
WebCore/html/HTMLElement.cpp
WebCore/html/HTMLTreeBuilder.cpp
WebCore/page/Settings.cpp
WebCore/page/Settings.h
WebKit/mac/WebView/WebView.mm

index 52f9f3c..e40fcf7 100644 (file)
@@ -1,3 +1,30 @@
+2010-08-23  Eric Seidel  <eric@webkit.org>
+
+        Reviewed by Adam Barth.
+
+        Use new HTML5 TreeBuilder for fragment parsing
+        https://bugs.webkit.org/show_bug.cgi?id=44475
+
+        The HTML5 TreeBuilder is ready to be used for all parsing
+        including fragments!  This is the last change to move trunk
+        off of the LegacyHTMLTreeBuilder.  We'll go through and
+        delete the thousands of lines of code supporting the old
+        parser in a separate patch.
+
+        As far as we can tell, all of these are test progressions, see below.
+
+        * editing/pasteboard/paste-noscript-svg-expected.txt: progression.
+        * fast/forms/state-restore-to-non-edited-controls-expected.txt: matches minefield.
+        * fast/innerHTML/innerHTML-changing-document-properties-expected.txt: new HTML5 exception code, progression.
+        * fast/parser/fragment-parser-expected.txt: matches minefield.
+        * fast/parser/p-in-scope-expected.txt: matches minefield.
+        * fast/parser/p-in-scope-strict-expected.txt: matches minefield.
+        * fast/parser/residual-style-close-across-n-blocks-expected.txt: matches minefield.
+        * fast/table/incomplete-table-in-fragment-2-expected.txt: matches minefield.
+        * fast/table/incomplete-table-in-fragment-hang-expected.txt: matches minefield.
+        * html5lib/runner-expected.txt: progression!
+        * http/tests/security/xssAuditor/dom-write-innerHTML-expected.txt: Adam will fix this separately.
+
 2010-08-23  Hironori Bono  <hbono@chromium.org>
 
         Reviewed by Kent Tamura.
index e86b54e..450dade 100644 (file)
@@ -2,4 +2,4 @@ This test copies the content of an iframe and pastes it in an editable area and
 
 Hello
 world
-<div id="div1">Hello</div><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="5cm" height="3cm" viewbox="0 0 5 3" version="1.1"><a xlink:href=""><ellipse cx="2.5" cy="1.5" rx="2" ry="1" fill="red"></ellipse></a></svg><div id="div2">world</div>
+<div id="div1">Hello</div><svg xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" width="5cm" height="3cm" viewBox="0 0 5 3" version="1.1"><a href=""><ellipse cx="2.5" cy="1.5" rx="2" ry="1" fill="red"></ellipse></a></svg><div id="div2">world</div>
index b6745fa..9f67578 100644 (file)
@@ -5,7 +5,7 @@ PASS document.getElementById("hidden").value is "2"
 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 "edit"
+FAIL document.getElementById("text1").value should be edit. Was 2.
 PASS document.getElementById("text2").value is "2"
 PASS document.getElementById("textarea").value is "2"
 
index c9d78c0..8a0ae26 100644 (file)
@@ -2,7 +2,7 @@ document.xmlEncoding : UTF-8
 document.xmlVersion : 1.0
 document.xmlStandalone : true
 document.readyState : loading
-div.innerHTML = threw exception: Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7
+div.innerHTML = threw exception: Error: INVALID_STATE_ERR: DOM Exception 11
 document.xmlEncoding : UTF-8
 document.xmlVersion : 1.0
 document.xmlStandalone : true
index 09bd84e..60fb26d 100644 (file)
@@ -5,19 +5,19 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 PASS parse('<span><body bgcolor=red>') is ['<span></span>','<html><body></body></html>']
 PASS parse('<span><html bgcolor=red>') is ['<span></span>','<html><body></body></html>']
-PASS parse('<span><meta>') is ['<span></span>','<html><body></body></html>']
-PASS parse('<span><base>') is ['<span></span>','<html><body></body></html>']
-PASS parse('<html><script>') is ['','<html><body></body></html>']
-PASS parse('<html><style>') is ['','<html><body></body></html>']
-PASS parse('<html><meta>') is ['','<html><body></body></html>']
-PASS parse('<html><link>') is ['','<html><body></body></html>']
+FAIL parse('<span><meta>') should be <span></span>,<html><body></body></html>. Was <span><meta></span>,<html><body></body></html>.
+FAIL parse('<span><base>') should be <span></span>,<html><body></body></html>. Was <span><base></span>,<html><body></body></html>.
+FAIL parse('<html><script>') should be ,<html><body></body></html>. Was <script></script>,<html><body></body></html>.
+FAIL parse('<html><style>') should be ,<html><body></body></html>. Was <style></style>,<html><body></body></html>.
+FAIL parse('<html><meta>') should be ,<html><body></body></html>. Was <meta>,<html><body></body></html>.
+FAIL parse('<html><link>') should be ,<html><body></body></html>. Was <link>,<html><body></body></html>.
 PASS parse('<html><object>') is ['<object></object>','<html><body></body></html>']
 PASS parse('<html><embed>') is ['<embed>','<html><body></body></html>']
-PASS parse('<html><title>') is ['','<html><body></body></html>']
-PASS parse('<html><isindex>') is ['<div><hr>This is a searchable index. Enter search keywords: <isindex type="khtml_isindex"><hr></div>','<html><body></body></html>']
-PASS parse('<html><base>') is ['','<html><body></body></html>']
+FAIL parse('<html><title>') should be ,<html><body></body></html>. Was <title></title>,<html><body></body></html>.
+FAIL parse('<html><isindex>') should be <div><hr>This is a searchable index. Enter search keywords: <isindex type="khtml_isindex"><hr></div>,<html><body></body></html>. Was <form><hr><label>This is a searchable index. Enter search keywords: <input name="isindex"></label><hr></form>,<html><body></body></html>.
+FAIL parse('<html><base>') should be ,<html><body></body></html>. Was <base>,<html><body></body></html>.
 PASS parse('<html><div>') is ['<div></div>','<html><body></body></html>']
-PASS parse('<frameset>') is ['<frameset></frameset>','<html><body></body></html>']
+FAIL parse('<frameset>') should be <frameset></frameset>,<html><body></body></html>. Was ,<html><body></body></html>.
 PASS parse('<html>x', true) is ['x','no document element']
 PASS successfullyParsed is true
 
index 32797fd..c03e6d3 100644 (file)
@@ -1,30 +1,30 @@
 The symbol in row foo and column bar shows whether <p><bar><foo> is allowed (+) or closes the <p> before opening <foo> (-).
 
 Leaf           a       b       big     em      i       s       small   strike  strong  tt      u       abbr    acronym bdo     cite    code    dfn     kbd     q       samp    sub     sup     var     font    nobr    button  applet  object  span    del     ins     marquee
-address        -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-blockquote     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-center -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-dir    -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-div    -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-dl     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-fieldset       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-h1     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-h2     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-h3     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-h4     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-h5     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-h6     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-menu   -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-ol     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-p      -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-ul     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-pre    -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-listing        -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-form   -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-hr     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-li     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-dd     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-dt     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-plaintext      -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-table  +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       -
+address        -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+blockquote     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+center -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+dir    -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+div    -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+dl     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+fieldset       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+h1     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+h2     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+h3     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+h4     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+h5     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+h6     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+menu   -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+ol     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+p      -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+ul     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+pre    -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+listing        -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+form   -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+hr     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+li     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+dd     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+dt     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+plaintext      -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+table  +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +       +
 
index f40008d..a08c3cc 100644 (file)
@@ -1,30 +1,30 @@
 The symbol in row foo and column bar shows whether <p><bar><foo> is allowed (+) or closes the <p> before opening <foo> (-).
 
 Leaf           a       b       big     em      i       s       small   strike  strong  tt      u       abbr    acronym bdo     cite    code    dfn     kbd     q       samp    sub     sup     var     font    nobr    button  applet  object  span    del     ins     marquee
-address        -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-blockquote     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-center -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-dir    -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-div    -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-dl     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-fieldset       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-h1     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-h2     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-h3     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-h4     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-h5     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-h6     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-menu   -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-ol     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-p      -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-ul     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-pre    -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-listing        -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-form   -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-hr     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-li     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-dd     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-dt     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-plaintext      -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
-table  -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       +       -       -       -       -
+address        -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+blockquote     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+center -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+dir    -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+div    -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+dl     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+fieldset       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+h1     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+h2     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+h3     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+h4     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+h5     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+h6     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+menu   -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+ol     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+p      -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+ul     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+pre    -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+listing        -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+form   -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+hr     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+li     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+dd     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+dt     -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+plaintext      -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
+table  -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       -       +       +       +       -       -       -       +
 
index 35de23f..b15bdb0 100644 (file)
@@ -6,8 +6,8 @@ PASS: 1<i>2<div>3<span>4<pre>5</i>6</pre>7</div>8 parsed as 1<i>2</i><div><i>3<s
 PASS: 1<i>2<div>3<pre>4<b>5</i>6</b>7</pre>8</div>9 parsed as 1<i>2</i><div><i>3</i><pre><i>4<b>5</b></i><b>6</b>7</pre>8</div>9 as expected.
 PASS: 1<i>2<div>3<pre>4<p>5</i>6</p>7</pre>8</div>9 parsed as 1<i>2</i><div><i>3</i><pre><i>4</i><p><i>5</i>6</p>7</pre>8</div>9 as expected.
 PASS: 1<i>2<div>3<object>4<p>5</i>6</p>7</object>8</div>9 parsed as 1<i>2<div>3<object>4<p>56</p>7</object>8</div>9</i> as expected.
-PASS: <a href="#1"><div><div><a href="#2"></a><p>Shouldn't be a link</p></div><p>Shouldn't be a link</p></div><p>Shouldn't be a link</p></a> parsed as <a href="#1"></a><div><a href="#1"></a><div><a href="#2"></a><p>Shouldn't be a link</p></div><p>Shouldn't be a link</p></div><p>Shouldn't be a link</p> as expected.
+FAIL: <a href="#1"><div><div><a href="#2"></a><p>Shouldn't be a link</p></div><p>Shouldn't be a link</p></div><p>Shouldn't be a link</p></a> parsed as <a href="#1"></a><div><a href="#1"></a><div><a href="#1"></a><a href="#2"></a><p>Shouldn't be a link</p></div><p>Shouldn't be a link</p></div><p>Shouldn't be a link</p> instead of <a href="#1"></a><div><a href="#1"></a><div><a href="#2"></a><p>Shouldn't be a link</p></div><p>Shouldn't be a link</p></div><p>Shouldn't be a link</p>
 PASS: <p><a>RED</p>RED<div>RED<p>RED<a>RED</a>BLACK</p>BLACK</div>BLACK parsed as <p><a>RED</a></p><a>RED</a><div><a>RED</a><p><a>RED</a><a>RED</a>BLACK</p>BLACK</div>BLACK as expected.
-PASS: <a href="#outside"><p>Outside link.</p><div><div><a href="#inside">Inside link.</a></div></div><p>After all links</p> parsed as <a href="#outside"><p>Outside link.</p></a><div><a href="#outside"></a><div><a href="#inside">Inside link.</a></div></div><p>After all links</p> as expected.
-PASS: <a href="http://webkit.org"><div><h3><a href="about:blank">This is a link.</a></h3>This is not a link under Firefox, but it is under Safari. parsed as <a href="http://webkit.org"></a><div><a href="http://webkit.org"></a><h3><a href="about:blank">This is a link.</a></h3>This is not a link under Firefox, but it is under Safari.</div> as expected.
+FAIL: <a href="#outside"><p>Outside link.</p><div><div><a href="#inside">Inside link.</a></div></div><p>After all links</p> parsed as <a href="#outside"><p>Outside link.</p></a><div><a href="#outside"></a><div><a href="#outside"></a><a href="#inside">Inside link.</a></div></div><p>After all links</p> instead of <a href="#outside"><p>Outside link.</p></a><div><a href="#outside"></a><div><a href="#inside">Inside link.</a></div></div><p>After all links</p>
+FAIL: <a href="http://webkit.org"><div><h3><a href="about:blank">This is a link.</a></h3>This is not a link under Firefox, but it is under Safari. parsed as <a href="http://webkit.org"></a><div><a href="http://webkit.org"></a><h3><a href="http://webkit.org"></a><a href="about:blank">This is a link.</a></h3>This is not a link under Firefox, but it is under Safari.</div> instead of <a href="http://webkit.org"></a><div><a href="http://webkit.org"></a><h3><a href="about:blank">This is a link.</a></h3>This is not a link under Firefox, but it is under Safari.</div>
 
index a4403a4..323ec40 100644 (file)
@@ -1,28 +1,28 @@
 Test error handling for incomplete tables inside a document fragment. These should not crash or hang. 
 
-<tbody></tbody>
-<thead></thead>
-<tfoot></tfoot>
-<tr></tr>
-<td>text</td>
-<th>text</th>
-<tbody></tbody>
-<tbody><tr></tr></tbody>
+<tbody></tbody>text
+<thead></thead>text
+<tfoot></tfoot>text
+<tbody><tr></tr></tbody>text
 <tbody><tr><td>text</td></tr></tbody>
 <tbody><tr><th>text</th></tr></tbody>
-<tr><td>text</td></tr>
-<th>text</th>
-<td>text</td>
-<tbody><tr><td><div></div></td></tr></tbody>
-<thead><tr><td><div></div></td></tr></thead>
-<tfoot><tr><td><div></div></td></tr></tfoot>
-<tr><td><div></div></td></tr>
-<td><div></div></td>
-<th><div></div></th>
-<tbody><tr><td><div></div></td></tr></tbody>
+<tbody></tbody>text
+<tbody><tr></tr></tbody>text
+<tbody><tr><td>text</td></tr></tbody>
+<tbody><tr><th>text</th></tr></tbody>
+<tbody><tr></tr></tbody><tbody></tbody>text
+<tbody><tr><th></th></tr></tbody><tbody></tbody>text
+<tbody><tr><td></td></tr></tbody><tbody></tbody>text
+<tbody></tbody><div></div>
+<thead></thead><div></div>
+<tfoot></tfoot><div></div>
+<tbody><tr></tr></tbody><div></div>
 <tbody><tr><td><div></div></td></tr></tbody>
+<tbody><tr><th><div></div></th></tr></tbody>
+<tbody></tbody><div></div>
+<tbody><tr></tr></tbody><div></div>
 <tbody><tr><td><div></div></td></tr></tbody>
 <tbody><tr><th><div></div></th></tr></tbody>
-<tr><td><div></div></td></tr>
-<th><div></div></th>
-<td><div></div></td>
+<tbody><tr></tr></tbody><tbody></tbody><div></div>
+<tbody><tr><th></th></tr></tbody><tbody></tbody><div></div>
+<tbody><tr><td></td></tr></tbody><tbody></tbody><div></div>
index 3817327..07a2a50 100644 (file)
@@ -1,16 +1,16 @@
 Test error handling for incomplete tables inside a document fragment. These should not crash or hang. 
 
-<tbody></tbody><table></table>
-<thead></thead><table></table>
-<tfoot></tfoot><table></table>
-<tr></tr><table></table>
-<td><table></table></td>
-<th><table></table></th>
-<tbody><tr></tr></tbody><table></table>
-<tbody><tr><th><table></table></th></tr></tbody>
-<tbody><tr><td><table></table></td></tr></tbody>
-<tr><td><table></table></td></tr>
-<th><table></table></th>
-<td><table></table></td>
-<tbody><tr><td><table></table></td></tr></tbody>
-<option></option><table><tbody></tbody></table><table></table>
+<table></table>
+<table></table>
+<table></table>
+<table></table>
+<table></table>
+<table></table>
+<table></table>
+<table></table>
+<table></table>
+<table></table>
+<table></table>
+<table></table>
+<option><table></table></option>
+<option></option><table></table><table></table>
index cc0912f..63885dc 100644 (file)
@@ -15,89 +15,15 @@ resources/tests2.dat: PASS
 
 resources/tests3.dat: PASS
 
-resources/tests4.dat:
-6
-7
+resources/tests4.dat: PASS
 
-Test 6 of 7 in resources/tests4.dat failed. Input:
-setting html's innerHTML
-Got:
-| "setting html's innerHTML"
-Expected:
-| <head>
-| <body>
-|   "setting html's innerHTML"
-
-Test 7 of 7 in resources/tests4.dat failed. Input:
-<title>setting head's innerHTML</title>
-Got:
-| 
-Expected:
-| <title>
-|   "setting head's innerHTML"
 resources/tests5.dat: PASS
 
-resources/tests6.dat:
-27
-30
-37
-44
-45
-
-Test 27 of 51 in resources/tests6.dat failed. Input:
-foo<col>
-Got:
-| 
-Expected:
-| <col>
-
-Test 30 of 51 in resources/tests6.dat failed. Input:
-</frameset><frame>
-Got:
-| 
-Expected:
-| <frame>
+resources/tests6.dat: PASS
 
-Test 37 of 51 in resources/tests6.dat failed. Input:
-<caption><col><colgroup><tbody><tfoot><thead><tr>
-Got:
-| <caption>
-| <colgroup>
-| <tbody>
-| <tfoot>
-| <thead>
-|   <tr>
-Expected:
-| <tr>
-
-Test 44 of 51 in resources/tests6.dat failed. Input:
-</table><tr>
-Got:
-| <tr>
-Expected:
-| <tbody>
-|   <tr>
-
-Test 45 of 51 in resources/tests6.dat failed. Input:
-<body></body></html>
-Got:
-| 
-Expected:
-| <head>
-| <body>
 resources/tests7.dat:
-24
 30
 
-Test 24 of 30 in resources/tests7.dat failed. Input:
-<body>X</body></body>
-Got:
-| "X"
-Expected:
-| <head>
-| <body>
-|   "X"
-
 Test 30 of 30 in resources/tests7.dat failed. Input:
 <select><keygen>
 Got:
index 0f756f4..e7b6945 100644 (file)
@@ -1,3 +1,20 @@
+2010-08-23  Eric Seidel  <eric@webkit.org>
+
+        Reviewed by Adam Barth.
+
+        Use new HTML5 TreeBuilder for fragment parsing
+        https://bugs.webkit.org/show_bug.cgi?id=44475
+
+        The HTML5 TreeBuilder is ready to be used for all parsing
+        including fragments!  This is the last change to move trunk
+        off of the LegacyHTMLTreeBuilder.  We'll go through and
+        delete the thousands of lines of code supporting the old
+        parser in a separate patch.
+
+        This is covered by many layout tests.
+
+        * html/HTMLTreeBuilder.cpp:
+
 2010-08-23  Adam Barth  <abarth@webkit.org>
 
         Reviewed by Eric Seidel.
index 2f9c075..33e809d 100644 (file)
@@ -275,9 +275,9 @@ String HTMLElement::outerHTML() const
     return createMarkup(this);
 }
 
-static bool useLegacyTreeBuilder(Document* document)
+static bool useLegacyTreeBuilder(Document*)
 {
-    return !document || !document->settings() || !document->settings()->html5TreeBuilderEnabled();
+    return false;
 }
 
 // FIXME: This logic should move into Range::createContextualFragment
index df49896..2a9575b 100644 (file)
@@ -98,9 +98,11 @@ inline bool isAllWhitespaceOrReplacementCharacters(const String& string)
     return isAllSpecialCharacters<isTreeBuilderWhitepaceOrReplacementCharacter>(string);
 }
 
-bool shouldUseLegacyTreeBuilder(Document* document)
+bool shouldUseLegacyTreeBuilder(Document*)
 {
-    return !document->settings() || !document->settings()->html5TreeBuilderEnabled();
+    // Never use the LegacyHTMLTreeBuilder.  We'll remove the 10k+ lines of
+    // code supporting this bool in later commits.
+    return false;
 }
 
 bool isNumberedHeaderTag(const AtomicString& tagName)
index 5074abb..29cb5a6 100644 (file)
@@ -133,7 +133,6 @@ Settings::Settings(Page* page)
     , m_loadDeferringEnabled(true)
     , m_tiledBackingStoreEnabled(false)
     , m_html5ParserEnabled(true)
-    , m_html5TreeBuilderEnabled(false) // Will be deleted soon, do not use.
     , m_paginateDuringLayoutEnabled(false)
     , m_dnsPrefetchingEnabled(true)
     , m_memoryInfoEnabled(false)
index 89a46e6..b523be3 100644 (file)
@@ -311,13 +311,6 @@ namespace WebCore {
         void setHTML5ParserEnabled(bool flag) { m_html5ParserEnabled = flag; }
         bool html5ParserEnabled() const { return m_html5ParserEnabled; }
 
-        // NOTE: This code will be deleted once the HTML5TreeBuilder is ready
-        // to replace LegacyHTMLTreeBuilder.  Using the HTML5DocumentParser
-        // with LegacyHTMLTreeBuilder will not be supported long-term.
-        // Setting is only for testing the new tree builder in DumpRenderTree.
-        void setHTML5TreeBuilderEnabled_DO_NOT_USE(bool flag) { m_html5TreeBuilderEnabled = flag; }
-        bool html5TreeBuilderEnabled() const { return m_html5TreeBuilderEnabled; }
-
         void setPaginateDuringLayoutEnabled(bool flag) { m_paginateDuringLayoutEnabled = flag; }
         bool paginateDuringLayoutEnabled() const { return m_paginateDuringLayoutEnabled; }
 
@@ -411,7 +404,6 @@ namespace WebCore {
         bool m_loadDeferringEnabled : 1;
         bool m_tiledBackingStoreEnabled : 1;
         bool m_html5ParserEnabled: 1;
-        bool m_html5TreeBuilderEnabled: 1; // Will be deleted soon, do not use.
         bool m_paginateDuringLayoutEnabled : 1;
         bool m_dnsPrefetchingEnabled : 1;
         bool m_memoryInfoEnabled: 1;
index 8e2feaf..393a8be 100644 (file)
@@ -1438,7 +1438,6 @@ static bool fastDocumentTeardownEnabled()
     settings->setLoadDeferringEnabled(shouldEnableLoadDeferring());
     settings->setFrameFlatteningEnabled([preferences isFrameFlatteningEnabled]);
     settings->setHTML5ParserEnabled([preferences html5ParserEnabled]);
-    settings->setHTML5TreeBuilderEnabled_DO_NOT_USE([preferences html5TreeBuilderEnabled]);
     settings->setPaginateDuringLayoutEnabled([preferences paginateDuringLayoutEnabled]);
     settings->setMemoryInfoEnabled([preferences memoryInfoEnabled]);