Title: [140051] trunk/PerformanceTests
Revision
140051
Author
e...@webkit.org
Date
2013-01-17 14:53:14 -0800 (Thu, 17 Jan 2013)

Log Message

Add a version of the html-parser benchmark which uses srcdoc instead of document.write so it tests the threaded parser
https://bugs.webkit.org/show_bug.cgi?id=107158

Reviewed by Ryosuke Niwa.

Currently this test even opts-in to the threaded parser if available.
We'll remove that line when the threaded parser becomes default or goes away.

* Parser/html-parser-srcdoc.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/PerformanceTests/ChangeLog (140050 => 140051)


--- trunk/PerformanceTests/ChangeLog	2013-01-17 22:52:51 UTC (rev 140050)
+++ trunk/PerformanceTests/ChangeLog	2013-01-17 22:53:14 UTC (rev 140051)
@@ -1,3 +1,15 @@
+2013-01-17  Eric Seidel  <e...@webkit.org>
+
+        Add a version of the html-parser benchmark which uses srcdoc instead of document.write so it tests the threaded parser
+        https://bugs.webkit.org/show_bug.cgi?id=107158
+
+        Reviewed by Ryosuke Niwa.
+
+        Currently this test even opts-in to the threaded parser if available.
+        We'll remove that line when the threaded parser becomes default or goes away.
+
+        * Parser/html-parser-srcdoc.html: Added.
+
 2013-01-16  Arnaud Renevier  <a.renev...@sisa.samsung.com>
 
         inconsistency in drawImage with target rect negative dimensions.

Added: trunk/PerformanceTests/Parser/html-parser-srcdoc.html (0 => 140051)


--- trunk/PerformanceTests/Parser/html-parser-srcdoc.html	                        (rev 0)
+++ trunk/PerformanceTests/Parser/html-parser-srcdoc.html	2013-01-17 22:53:14 UTC (rev 140051)
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<body>
+<script src=""
+<script>
+// Use the threaded parser if available:
+if (window.internals && window.internals.settings.setThreadedHTMLParser)
+    window.internals.settings.setThreadedHTMLParser(true);
+
+var spec = PerfTestRunner.loadFile("resources/html5.html");
+
+var iframe = document.createElement("iframe");
+iframe.style.display = "none";  // Prevent creation of the rendering tree, so we only test HTML parsing.
+iframe.sandbox = '';  // Prevent external script loads which could cause write() to return before completing the parse.
+document.body.appendChild(iframe);
+
+PerfTestRunner.prepareToMeasureValuesAsync({done: onCompletedRun, unit: 'ms'});
+
+iframe._onload_ = function() {
+    var now = PerfTestRunner.now();
+    PerfTestRunner.measureValueAsync(now - then);
+    then = now;
+    iframe.srcdoc = spec;
+}
+var then = PerfTestRunner.now();
+iframe.srcdoc = spec;
+
+function onCompletedRun() {
+    iframe._onload_ = null;
+    // FIXME: This should probably remove the iframe, but that currently
+    // causes the threaded-parser to never send the load event for the main page.
+    // document.body.removeChild(iframe);
+}
+</script>
+</body>

Modified: trunk/PerformanceTests/Skipped (140050 => 140051)


--- trunk/PerformanceTests/Skipped	2013-01-17 22:52:51 UTC (rev 140050)
+++ trunk/PerformanceTests/Skipped	2013-01-17 22:53:14 UTC (rev 140051)
@@ -64,3 +64,8 @@
 ShadowDOM
 
 Canvas/drawimage.html
+
+# Works fine, but is mostly useful to the threaded-parsing folks, as
+# it's very similar to parser/html-parser.html just using
+# srcdoc to load instead of document.write.
+parser/html-parser-srcdoc.html
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to