| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../resources/runner.js"></script> |
| <script> |
| var spec = PerfTestRunner.loadFile("../Parser/resources/html5.html"); |
| var iframe; |
| |
| PerfTestRunner.measureTime({ |
| description: "Measures performance of traversing through a large HTML document using elem.childNodes.", |
| setup: function () { |
| if (iframe) |
| document.body.removeChild(iframe); |
| 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); |
| iframe.contentDocument.open(); |
| iframe.contentDocument.write(spec); |
| iframe.contentDocument.close(); |
| }, |
| run: function() { |
| var elements = iframe.contentDocument.getElementsByTagName('*'); |
| for (var i = 0; i < elements.length; i++) { |
| for (var j = 0; j < elements[i].childNodes.length; j++) |
| elements[i].childNodes[j]; |
| } |
| }, |
| done: function () { document.body.removeChild(iframe); }}); |
| |
| </script> |
| </body> |
| </html> |