Title: [143804] trunk
Revision
143804
Author
[email protected]
Date
2013-02-22 14:57:14 -0800 (Fri, 22 Feb 2013)

Log Message

Teach the html5lib tests how to test the threaded HTML parser
https://bugs.webkit.org/show_bug.cgi?id=110643

Reviewed by Adam Barth.

Source/WebCore:

This adds a way to force data: url parsing to go through
the threaded parser, to enable us to test the threaded parser
using the html5lib test harness.

* html/parser/HTMLParserOptions.cpp:
(WebCore::HTMLParserOptions::HTMLParserOptions):
* page/Settings.in:

LayoutTests:

* TestExpectations:
* html5lib/resources/runner.js:
(window.onload):
* html5lib/run-template-expected.txt:
* html5lib/run-test10-expected.txt:
* html5lib/run-test11-expected.txt:
* html5lib/run-test12-expected.txt:
* html5lib/run-test14-expected.txt:
* html5lib/run-test15-expected.txt:
* html5lib/run-test16-expected.txt:
* html5lib/run-test17-expected.txt:
* html5lib/run-test19-expected.txt:
* html5lib/run-test2-expected.txt:
* html5lib/run-test20-expected.txt:
* html5lib/run-test21-expected.txt:
* html5lib/run-test22-expected.txt:
* html5lib/run-test23-expected.txt:
* html5lib/run-test24-expected.txt:
* html5lib/run-test25-expected.txt:
* html5lib/run-test26-expected.txt:
* html5lib/run-test3-expected.txt:
* html5lib/run-test4-expected.txt:
* html5lib/run-test5-expected.txt:
* html5lib/run-test6-expected.txt:
* html5lib/run-test8-expected.txt:
* html5lib/run-test9-expected.txt:
* html5lib/runner-expected.txt:
* platform/chromium/html5lib/run-test1-expected.txt:
* platform/chromium/html5lib/run-test18-expected.txt:
* platform/chromium/html5lib/run-test7-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (143803 => 143804)


--- trunk/LayoutTests/ChangeLog	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/ChangeLog	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1,3 +1,41 @@
+2013-02-22  Eric Seidel  <[email protected]>
+
+        Teach the html5lib tests how to test the threaded HTML parser
+        https://bugs.webkit.org/show_bug.cgi?id=110643
+
+        Reviewed by Adam Barth.
+
+        * TestExpectations:
+        * html5lib/resources/runner.js:
+        (window.onload):
+        * html5lib/run-template-expected.txt:
+        * html5lib/run-test10-expected.txt:
+        * html5lib/run-test11-expected.txt:
+        * html5lib/run-test12-expected.txt:
+        * html5lib/run-test14-expected.txt:
+        * html5lib/run-test15-expected.txt:
+        * html5lib/run-test16-expected.txt:
+        * html5lib/run-test17-expected.txt:
+        * html5lib/run-test19-expected.txt:
+        * html5lib/run-test2-expected.txt:
+        * html5lib/run-test20-expected.txt:
+        * html5lib/run-test21-expected.txt:
+        * html5lib/run-test22-expected.txt:
+        * html5lib/run-test23-expected.txt:
+        * html5lib/run-test24-expected.txt:
+        * html5lib/run-test25-expected.txt:
+        * html5lib/run-test26-expected.txt:
+        * html5lib/run-test3-expected.txt:
+        * html5lib/run-test4-expected.txt:
+        * html5lib/run-test5-expected.txt:
+        * html5lib/run-test6-expected.txt:
+        * html5lib/run-test8-expected.txt:
+        * html5lib/run-test9-expected.txt:
+        * html5lib/runner-expected.txt:
+        * platform/chromium/html5lib/run-test1-expected.txt:
+        * platform/chromium/html5lib/run-test18-expected.txt:
+        * platform/chromium/html5lib/run-test7-expected.txt:
+
 2013-02-22  Adam Barth  <[email protected]>
 
         fast/parser/parser-yield-timing.html doesn't integrate with js-test-pre correctly

Modified: trunk/LayoutTests/TestExpectations (143803 => 143804)


--- trunk/LayoutTests/TestExpectations	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/TestExpectations	2013-02-22 22:57:14 UTC (rev 143804)
@@ -4,3 +4,9 @@
 
 # pending functional patch and per-port verification
 webkit.org/b/109954 css3/line-break [ Skip ]
+
+# This runs all subtests through both the document.write
+# parser and the (threaded) data: url parser.  The data: url
+# harness is much slower, and the test should be broken
+# up into smaller tests.
+webkit.org/b/110642 html5lib/runner.html [ Slow ]

Modified: trunk/LayoutTests/html5lib/resources/runner.js (143803 => 143804)


--- trunk/LayoutTests/html5lib/resources/runner.js	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/resources/runner.js	2013-02-22 22:57:14 UTC (rev 143804)
@@ -53,13 +53,27 @@
 window._onload_ = function()
 {
     stat.data = ""
+    saved_test_files = window.test_files.slice();
+    have_tested_threaded_parser = false;
     run();
 }
 
 function run()
 {
     var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
-    if (file = test_files.shift())
+    file = test_files.shift()
+    if (!file && !have_tested_threaded_parser) {
+        var log_element = document.createElement('p');
+        log_element.appendChild(document.createTextNode("Switching to data: url parser (threaded if available) and re-running..."));
+        document.body.appendChild(log_element);
+        if (window.internals && internals.settings.setUseThreadedHTMLParserForDataURLs)
+            internals.settings.setUseThreadedHTMLParserForDataURLs(true);
+        write = false;
+        test_files = saved_test_files.slice();
+        file = test_files.shift()
+        have_tested_threaded_parser = true;
+    }
+    if (file)
     {
         stat.data = "" " + file;
         test_number = 1;

Modified: trunk/LayoutTests/html5lib/run-template-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-template-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-template-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/template.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/template.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test10-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test10-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test10-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests10.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests10.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test11-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test11-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test11-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1,4 +1,11 @@
 CONSOLE MESSAGE: Warning: Problem parsing viewBox=""
 CONSOLE MESSAGE: Warning: Problem parsing viewBox=""
 CONSOLE MESSAGE: Warning: Problem parsing viewBox=""
+CONSOLE MESSAGE: line 1: Warning: Problem parsing viewBox=""
+CONSOLE MESSAGE: line 1: Warning: Problem parsing viewBox=""
+CONSOLE MESSAGE: line 1: Warning: Problem parsing viewBox=""
 resources/tests11.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests11.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test12-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test12-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test12-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests12.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests12.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test14-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test14-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test14-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests14.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests14.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test15-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test15-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test15-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests15.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests15.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test16-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test16-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test16-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests16.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests16.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test17-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test17-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test17-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests17.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests17.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test19-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test19-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test19-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests19.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests19.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test2-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test2-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test2-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests2.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests2.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test20-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test20-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test20-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests20.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests20.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test21-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test21-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test21-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests21.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests21.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test22-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test22-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test22-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/test22.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/test22.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test23-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test23-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test23-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests23.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests23.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test24-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test24-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test24-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests24.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests24.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test25-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test25-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test25-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests25.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests25.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test26-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test26-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test26-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests26.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests26.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test3-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test3-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test3-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests3.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests3.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test4-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test4-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test4-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests4.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests4.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test5-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test5-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test5-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests5.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests5.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test6-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test6-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test6-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests6.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests6.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test8-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test8-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test8-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests8.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests8.dat: PASS

Modified: trunk/LayoutTests/html5lib/run-test9-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/run-test9-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/run-test9-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1 +1,5 @@
 resources/tests9.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests9.dat: PASS

Modified: trunk/LayoutTests/html5lib/runner-expected.txt (143803 => 143804)


--- trunk/LayoutTests/html5lib/runner-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/html5lib/runner-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -7,6 +7,15 @@
 
 CONSOLE MESSAGE: line 2: PASS
 CONSOLE MESSAGE: line 2: FOO<span>BAR</span>BAZ
+ALERT: Invalid test: #errors
+#document-fragment
+html
+#document
+| <head>
+| <body>
+
+CONSOLE MESSAGE: line 3: PASS
+CONSOLE MESSAGE: line 3: FOO<span>BAR</span>BAZ
 resources/adoption01.dat:
 14
 
@@ -105,3 +114,104 @@
 resources/webkit01.dat: PASS
 
 resources/webkit02.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/adoption01.dat:
+14
+
+Test 14 of 17 in resources/adoption01.dat failed. Input:
+<div><a><b><div><div><div><div><div><div><div><div><div><div></a>
+Got:
+| <html>
+|   <head>
+|   <body>
+|     <div>
+|       <a>
+|         <b>
+|       <b>
+|         <div>
+|           <a>
+|           <div>
+|             <a>
+|             <div>
+|               <a>
+|               <div>
+|                 <a>
+|                 <div>
+|                   <a>
+|                   <div>
+|                     <a>
+|                     <div>
+|                       <a>
+|                       <div>
+|                         <a>
+|                           <div>
+|                             <div>
+Expected:
+| <html>
+|   <head>
+|   <body>
+|     <div>
+|       <a>
+|         <b>
+|       <b>
+|         <div>
+|           <a>
+|           <div>
+|             <a>
+|             <div>
+|               <a>
+|               <div>
+|                 <a>
+|                 <div>
+|                   <a>
+|                   <div>
+|                     <a>
+|                     <div>
+|                       <a>
+|                       <div>
+|                         <a>
+|                         <div>
+|                           <div>
+resources/adoption02.dat: PASS
+
+resources/comments01.dat: PASS
+
+resources/doctype01.dat: PASS
+
+resources/domjs-unsafe.dat: PASS
+
+resources/entities01.dat: PASS
+
+resources/entities02.dat: PASS
+
+resources/html5test-com.dat: PASS
+
+resources/inbody01.dat: PASS
+
+resources/isindex.dat: PASS
+
+resources/pending-spec-changes-plain-text-unsafe.dat: PASS
+
+resources/pending-spec-changes.dat: PASS
+
+resources/plain-text-unsafe.dat: PASS
+
+resources/scriptdata01.dat: PASS
+
+resources/scripted/adoption01.dat: PASS
+
+resources/scripted/ark.dat: PASS
+
+resources/scripted/webkit01.dat: PASS
+
+resources/tables01.dat: PASS
+
+resources/tests_innerHTML_1.dat: PASS
+
+resources/tricky01.dat: PASS
+
+resources/webkit01.dat: PASS
+
+resources/webkit02.dat: PASS

Modified: trunk/LayoutTests/platform/chromium/html5lib/run-test1-expected.txt (143803 => 143804)


--- trunk/LayoutTests/platform/chromium/html5lib/run-test1-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/platform/chromium/html5lib/run-test1-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1,2 +1,7 @@
 CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Unexpected token <
+CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Unexpected token <
 resources/tests1.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests1.dat: PASS

Modified: trunk/LayoutTests/platform/chromium/html5lib/run-test18-expected.txt (143803 => 143804)


--- trunk/LayoutTests/platform/chromium/html5lib/run-test18-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/platform/chromium/html5lib/run-test18-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -2,4 +2,12 @@
 CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Unexpected token <
 CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Unexpected token <
 CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Unexpected token <
+CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Unexpected token <
+CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Unexpected token <
+CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Unexpected token <
+CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Unexpected token <
 resources/tests18.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests18.dat: PASS

Modified: trunk/LayoutTests/platform/chromium/html5lib/run-test7-expected.txt (143803 => 143804)


--- trunk/LayoutTests/platform/chromium/html5lib/run-test7-expected.txt	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/LayoutTests/platform/chromium/html5lib/run-test7-expected.txt	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1,2 +1,7 @@
 CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Unexpected token <
+CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Unexpected token <
 resources/tests7.dat: PASS
+
+Switching to data: url parser (threaded if available) and re-running...
+
+resources/tests7.dat: PASS

Modified: trunk/Source/WebCore/ChangeLog (143803 => 143804)


--- trunk/Source/WebCore/ChangeLog	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/Source/WebCore/ChangeLog	2013-02-22 22:57:14 UTC (rev 143804)
@@ -1,3 +1,18 @@
+2013-02-22  Eric Seidel  <[email protected]>
+
+        Teach the html5lib tests how to test the threaded HTML parser
+        https://bugs.webkit.org/show_bug.cgi?id=110643
+
+        Reviewed by Adam Barth.
+
+        This adds a way to force data: url parsing to go through
+        the threaded parser, to enable us to test the threaded parser
+        using the html5lib test harness.
+
+        * html/parser/HTMLParserOptions.cpp:
+        (WebCore::HTMLParserOptions::HTMLParserOptions):
+        * page/Settings.in:
+
 2013-02-21  Ojan Vafai  <[email protected]>
 
         Increase the max preferred width of tables to 1000000

Modified: trunk/Source/WebCore/html/parser/HTMLParserOptions.cpp (143803 => 143804)


--- trunk/Source/WebCore/html/parser/HTMLParserOptions.cpp	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/Source/WebCore/html/parser/HTMLParserOptions.cpp	2013-02-22 22:57:14 UTC (rev 143804)
@@ -43,7 +43,8 @@
 #if ENABLE(THREADED_HTML_PARSER)
     // We force the main-thread parser for about:blank, _javascript_: and data: urls for compatibility
     // with historical synchronous loading/parsing behavior of those schemes.
-    useThreading = settings && settings->threadedHTMLParser() && !document->url().isBlankURL() && !document->url().protocolIsData();
+    useThreading = settings && settings->threadedHTMLParser() && !document->url().isBlankURL()
+        && (settings->useThreadedHTMLParserForDataURLs() || !document->url().protocolIsData());
 #else
     useThreading = false;
 #endif

Modified: trunk/Source/WebCore/page/Settings.in (143803 => 143804)


--- trunk/Source/WebCore/page/Settings.in	2013-02-22 22:42:58 UTC (rev 143803)
+++ trunk/Source/WebCore/page/Settings.in	2013-02-22 22:57:14 UTC (rev 143804)
@@ -170,6 +170,7 @@
 DOMPasteAllowed initial=false
 
 threadedHTMLParser initial=false, conditional=THREADED_HTML_PARSER
+useThreadedHTMLParserForDataURLs initial=false, conditional=THREADED_HTML_PARSER
 
 # When enabled, window.blur() does not change focus, and
 # window.focus() only changes focus when invoked from the context that
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to