OLD | NEW |
| (Empty) |
1 var initialize_CanvasWebGLProfilerTest = function() { | |
2 | |
3 InspectorTest.enableCanvasAgent = function(callback) | |
4 { | |
5 function canvasAgentEnabled(error) | |
6 { | |
7 if (!error) | |
8 InspectorTest.safeWrap(callback)(); | |
9 else { | |
10 InspectorTest.addResult("FAILED to enable CanvasAgent: " + error); | |
11 InspectorTest.completeTest(); | |
12 } | |
13 } | |
14 try { | |
15 InspectorTest.CanvasAgent.enable(canvasAgentEnabled); | |
16 } catch (e) { | |
17 InspectorTest.addResult("Exception while enabling CanvasAgent: " + e); | |
18 InspectorTest.completeTest(); | |
19 } | |
20 }; | |
21 | |
22 InspectorTest.disableCanvasAgent = function(callback) | |
23 { | |
24 function canvasAgentDisabled(error) | |
25 { | |
26 if (!error) | |
27 InspectorTest.safeWrap(callback)(); | |
28 else { | |
29 InspectorTest.addResult("FAILED to disable CanvasAgent: " + error); | |
30 InspectorTest.completeTest(); | |
31 } | |
32 } | |
33 try { | |
34 InspectorTest.CanvasAgent.disable(canvasAgentDisabled); | |
35 } catch (e) { | |
36 InspectorTest.addResult("Exception while disabling CanvasAgent: " + e); | |
37 InspectorTest.completeTest(); | |
38 } | |
39 }; | |
40 | |
41 InspectorTest.callArgumentDescription = function(callArg) | |
42 { | |
43 return callArg.enumName || callArg.description; | |
44 }; | |
45 | |
46 InspectorTest.dumpTraceLogCall = function(call, indent, filter) | |
47 { | |
48 indent = indent || ""; | |
49 function show(name) | |
50 { | |
51 return !filter || filter[name]; | |
52 } | |
53 function formatSourceURL(url) | |
54 { | |
55 return url ? "\"" + url.replace(/^.*\/([^\/]+)\/?$/, "$1") + "\"" : "nul
l"; | |
56 } | |
57 var args = (call.arguments || []).map(InspectorTest.callArgumentDescription)
; | |
58 var properties = [ | |
59 "{Call}", | |
60 (show("functionName") && call.functionName) ? "functionName:\"" + call.f
unctionName + "\"" : "", | |
61 (show("arguments") && call.arguments) ? "arguments:[" + args.join(",") +
"]" : "", | |
62 (show("result") && call.result) ? "result:" + InspectorTest.callArgument
Description(call.result) : "", | |
63 (show("property") && call.property) ? "property:\"" + call.property + "\
"" : "", | |
64 (show("value") && call.value) ? "value:" + InspectorTest.callArgumentDes
cription(call.value) : "", | |
65 (show("isDrawingCall") && call.isDrawingCall) ? "isDrawingCall:true" : "
", | |
66 (show("isFrameEndCall") && call.isFrameEndCall) ? "isFrameEndCall:true"
: "", | |
67 show("sourceURL") ? "sourceURL:" + formatSourceURL(call.sourceURL) : "", | |
68 show("lineNumber") ? "lineNumber:" + call.lineNumber : "", | |
69 show("columnNumber") ? "columnNumber:" + call.columnNumber : "" | |
70 ]; | |
71 InspectorTest.addResult(indent + properties.filter(Boolean).join(" ")); | |
72 }; | |
73 | |
74 InspectorTest.dumpTraceLog = function(traceLog, indent, filter) | |
75 { | |
76 indent = indent || ""; | |
77 function show(name) | |
78 { | |
79 return !filter || filter[name]; | |
80 } | |
81 var calls = traceLog.calls; | |
82 var properties = [ | |
83 "{TraceLog}", | |
84 show("alive") ? "alive:" + !!traceLog.alive : "", | |
85 show("startOffset") ? "startOffset:" + (traceLog.startOffset || 0) : "", | |
86 show("totalAvailableCalls") ? "#calls:" + traceLog.totalAvailableCalls :
"" | |
87 ]; | |
88 InspectorTest.addResult(indent + properties.filter(Boolean).join(" ")); | |
89 for (var i = 0, n = calls.length; i < n; ++i) | |
90 InspectorTest.dumpTraceLogCall(calls[i], indent + " ", filter); | |
91 }; | |
92 | |
93 InspectorTest.sortResourceStateDescriptors = function(descriptors) | |
94 { | |
95 function comparator(d1, d2) | |
96 { | |
97 return String.naturalOrderComparator(d1.name, d2.name); | |
98 } | |
99 descriptors.sort(comparator); | |
100 }; | |
101 | |
102 InspectorTest.dumpResourceStateDescriptor = function(descriptor, indent) | |
103 { | |
104 indent = indent || ""; | |
105 if (descriptor.values) { | |
106 var name = descriptor.name; | |
107 if (descriptor.isArray) | |
108 name += "[" + descriptor.values.length + "]"; | |
109 InspectorTest.addResult(indent + name); | |
110 var descriptors = descriptor.values; | |
111 InspectorTest.sortResourceStateDescriptors(descriptors); | |
112 for (var i = 0, n = descriptors.length; i < n; ++i) | |
113 InspectorTest.dumpResourceStateDescriptor(descriptors[i], indent + "
"); | |
114 } else | |
115 InspectorTest.addResult(indent + descriptor.name + ": " + InspectorTest.
callArgumentDescription(descriptor.value)); | |
116 }; | |
117 | |
118 InspectorTest.dumpResourceState = function(resourceState, indent) | |
119 { | |
120 indent = indent || ""; | |
121 var descriptors = resourceState.descriptors || []; | |
122 var properties = [ | |
123 "{ResourceState}", | |
124 "length(imageURL):" + (resourceState.imageURL || "").length | |
125 ]; | |
126 InspectorTest.addResult(indent + properties.filter(Boolean).join(" ")); | |
127 InspectorTest.sortResourceStateDescriptors(descriptors); | |
128 for (var i = 0, n = descriptors.length; i < n; ++i) | |
129 InspectorTest.dumpResourceStateDescriptor(descriptors[i], indent + " ")
; | |
130 }; | |
131 | |
132 InspectorTest.findResourceStateDescriptor = function(resourceState, name) | |
133 { | |
134 var descriptors = resourceState.descriptors || []; | |
135 for (var i = 0, n = descriptors.length; i < n; ++i) { | |
136 if (descriptors[i].name === name) | |
137 return descriptors[i]; | |
138 } | |
139 return null; | |
140 }; | |
141 | |
142 InspectorTest.collectResourceIdsFromTraceLog = function(traceLog) | |
143 { | |
144 var resourceIds = {}; | |
145 | |
146 function examineCallArguments(callArgs) | |
147 { | |
148 if (!callArgs) | |
149 return; | |
150 for (var i = 0, n = callArgs.length; i < n; ++i) { | |
151 var callArg = callArgs[i]; | |
152 if (!callArg) | |
153 continue; | |
154 if (callArg.resourceId) | |
155 resourceIds[callArg.description] = callArg.resourceId; | |
156 } | |
157 } | |
158 | |
159 for (var i = 0; i < traceLog.calls.length; ++i) { | |
160 var call = traceLog.calls[i]; | |
161 examineCallArguments(call.arguments); | |
162 examineCallArguments([call.result, call.value]); | |
163 } | |
164 examineCallArguments(traceLog.contexts); | |
165 return resourceIds; | |
166 }; | |
167 | |
168 }; | |
169 | |
170 function createWebGLContext(opt_canvas) | |
171 { | |
172 if (window.testRunner) | |
173 testRunner.overridePreference("WebKitWebGLEnabled", "1"); | |
174 | |
175 var canvas = opt_canvas || document.createElement("canvas"); | |
176 var contextIds = ["experimental-webgl", "webkit-3d", "3d"]; | |
177 for (var i = 0, contextId; contextId = contextIds[i]; ++i) { | |
178 var gl = canvas.getContext(contextId); | |
179 if (gl) | |
180 return gl; | |
181 } | |
182 return null; | |
183 } | |
184 | |
185 function createCanvas2DContext(opt_canvas) | |
186 { | |
187 var canvas = opt_canvas || document.createElement("canvas"); | |
188 return canvas.getContext("2d"); | |
189 } | |
OLD | NEW |