2008-11-04 Anders Carlsson <andersca@apple.com>
[webkit/qt.git] / LayoutTests / fast / profiler / resources / profiler-test-JS-resources.js
blob4210b46bc0e93bf49abcf99a4499468e5879e005
1 function endTest() {
2     console.profileEnd();
3     printProfilesDataWithoutTime();
5     if (window.layoutTestController)
6         layoutTestController.notifyDone();
9 function insertGivenText(text) {
10     var paragraph = document.createElement("p");
11     paragraph.appendChild(document.createTextNode(text));
12     paragraph.style.display = "none"; // Hidden since this isn't important in the test results.
14     document.getElementById("output").appendChild(paragraph);
17 function insertNewText() {
18     var paragraph = document.createElement("p");
19     paragraph.appendChild(document.createTextNode("This is inserted Text"));
20     paragraph.style.display = "none"; // Hidden since this isn't important in the test results.
22     document.getElementById("output").appendChild(paragraph);
25 function arrayOperatorFunction(arrayElement) {
26     return arrayElement + 5;
29 var anonymousFunction = function () { insertNewText(); };
31 function intermediaryFunction()
33     anonymousFunction();
36 function isEqualToFive(input)
38     return input === 5;
41 function startProfile(title)
43     console.profile(title);
46 function printHeavyProfilesDataWithoutTime()
48     var preElement = document.createElement("pre");
49     preElement.appendChild(document.createTextNode("\n"));
51     var profiles = console.profiles;
52     for (var i = 0; i < profiles.length; ++i) {
53         preElement.appendChild(document.createTextNode("Profile title: " + profiles[i].title + "\n"));
54         printProfileNodeWithoutTime(preElement, profiles[i].heavyProfile.head, 0);
55         preElement.appendChild(document.createTextNode("\n"));
56     }
58     document.getElementById("output").appendChild(preElement);
61 function printProfilesDataWithoutTime()
63     var preElement = document.createElement("pre");
64     preElement.appendChild(document.createTextNode("\n"));
66     var profiles = console.profiles;
67     for (var i = 0; i < profiles.length; ++i) {
68         preElement.appendChild(document.createTextNode("Profile title: " + profiles[i].title + "\n"));
69         printProfileNodeWithoutTime(preElement, profiles[i].treeProfile.head, 0);
70         preElement.appendChild(document.createTextNode("\n"));
71     }
73     document.getElementById("output").appendChild(preElement);
76 function printProfileNodeWithoutTime(preElement, node, indentLevel)
78     if (!node.visible)
79         return;
81     var space = "";
82     for (var i = 0; i < indentLevel; ++i)
83         space += "   "
85     ++indentLevel;
87     var strippedURL = node.url.replace(/.*\//, "");
88     if (!strippedURL)
89         strippedURL = "(no file)";
91     var line = space + node.functionName + " " + strippedURL + " (line " + node.lineNumber + ")\n";
92     preElement.appendChild(document.createTextNode(line));
94     var children = node.children;
95     for (var i = 0; i < children.length; ++i)
96         printProfileNodeWithoutTime(preElement, children[i], indentLevel);