| <html> |
| <head> |
| <style type="text/css"> |
| span { |
| color:red; |
| width: 100px; |
| height: 20px; |
| } |
| div { |
| color:blue; |
| width: 50px; |
| height: 10px; |
| } |
| </style> |
| <script src="../../LayoutTests/http/tests/inspector/inspector-test.js"></script> |
| <script src="performance-test.js"></script> |
| <script> |
| |
| function test() |
| { |
| function performanceTest(timer) |
| { |
| var testName = /([^\/]+)\.html$/.exec(WebInspector.inspectedPageURL)[1]; |
| var takeTimerCookie = timer.start("take"); |
| MemoryAgent.getProcessMemoryDistribution(dump); |
| |
| function dump(e, data) |
| { |
| timer.finish(takeTimerCookie); |
| function reportSize(data) |
| { |
| timer.reportSize(data.name, data.size); |
| if (data.children) { |
| for (var i = 0; i < data.children.length; ++i) |
| reportSize(data.children[i]); |
| } |
| } |
| reportSize(data); |
| var knownSize = 0; |
| for (var i = 0; i < data.children.length; ++i) |
| knownSize += data.children[i].size; |
| timer.reportSize("Unknown", data.size - knownSize); |
| timer.done(testName); |
| } |
| } |
| |
| InspectorTest.runPerformanceTest(performanceTest, 2000); |
| } |
| |
| function createDOMTree(elementsCount) |
| { |
| var root = document.getElementById("testTreeRoot"); |
| |
| for (var i = 0; i < elementsCount; ++i) { |
| var span = document.createElement("span"); |
| span.id = "span_" + i; |
| span.style.width = "10px"; |
| root.appendChild(span); |
| } |
| |
| for (var i = 0; i < elementsCount; ++i) |
| root.appendChild(document.createElement("div")); |
| |
| for (var i = 0; i < elementsCount; ++i) |
| root.appendChild(document.createElement("a")); |
| } |
| |
| setTimeout(createDOMTree.bind(null,1000), 0); |
| |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <div id="testTreeRoot"> |
| </div> |
| </body> |
| </html> |