| <!DOCTYPE html> |
| <body> |
| <script src="../resources/runner.js"></script> |
| <script> |
| |
| var segmentSize = 64; |
| var fillerSize = segmentSize - 2; |
| var totalSize = 16 * 1024 * 1024; |
| |
| var filler = ""; |
| for (var i = 0; i < fillerSize; i++) |
| filler += "A"; |
| var segment = filler + "<1"; |
| |
| var text = segment; |
| while (text.length < totalSize) |
| text = text + text; |
| text = text.substring(0, totalSize); |
| |
| var source = "<!DOCTYPE html><html><body>" + text + "</body></html>"; |
| text = null; |
| |
| var blob = new Blob([source], {type: "text/html"}); |
| source = null; |
| var blobURL = URL.createObjectURL(blob); |
| |
| var iframe = document.createElement("iframe"); |
| iframe.style.display = "none"; |
| iframe.sandbox = ""; |
| document.body.appendChild(iframe); |
| |
| PerfTestRunner.prepareToMeasureValuesAsync({done: onCompletedRun, unit: "ms"}); |
| |
| iframe.onload = function() { |
| var now = PerfTestRunner.now(); |
| if (PerfTestRunner.measureValueAsync(now - then)) |
| startNextRun(); |
| }; |
| |
| function startNextRun() { |
| iframe.onload = function() { |
| iframe.onload = function() { |
| var now = PerfTestRunner.now(); |
| if (PerfTestRunner.measureValueAsync(now - then)) |
| startNextRun(); |
| }; |
| then = PerfTestRunner.now(); |
| iframe.src = blobURL; |
| }; |
| iframe.src = "about:blank"; |
| } |
| |
| var then = PerfTestRunner.now(); |
| iframe.src = blobURL; |
| |
| function onCompletedRun() { |
| iframe.onload = null; |
| document.body.removeChild(iframe); |
| URL.revokeObjectURL(blobURL); |
| } |
| |
| </script> |
| </body> |