Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/profiler/HeapProfileView.js

Issue 2440953003: DevTools: use semicolons after each statement. (Closed)
Patch Set: rebaseline Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @constructor 6 * @constructor
7 * @implements {WebInspector.Searchable} 7 * @implements {WebInspector.Searchable}
8 * @extends {WebInspector.ProfileView} 8 * @extends {WebInspector.ProfileView}
9 * @param {!WebInspector.SamplingHeapProfileHeader} profileHeader 9 * @param {!WebInspector.SamplingHeapProfileHeader} profileHeader
10 */ 10 */
11 WebInspector.HeapProfileView = function(profileHeader) 11 WebInspector.HeapProfileView = function(profileHeader)
12 { 12 {
13 this._profileHeader = profileHeader; 13 this._profileHeader = profileHeader;
14 this.profile = new WebInspector.SamplingHeapProfileModel(profileHeader._prof ile || profileHeader.protocolProfile()); 14 this.profile = new WebInspector.SamplingHeapProfileModel(profileHeader._prof ile || profileHeader.protocolProfile());
15 this.adjustedTotal = this.profile.total; 15 this.adjustedTotal = this.profile.total;
16 var views = [ 16 var views = [
17 WebInspector.ProfileView.ViewTypes.Flame, 17 WebInspector.ProfileView.ViewTypes.Flame,
18 WebInspector.ProfileView.ViewTypes.Heavy, 18 WebInspector.ProfileView.ViewTypes.Heavy,
19 WebInspector.ProfileView.ViewTypes.Tree 19 WebInspector.ProfileView.ViewTypes.Tree
20 ]; 20 ];
21 WebInspector.ProfileView.call(this, new WebInspector.HeapProfileView.NodeFor matter(this), views); 21 WebInspector.ProfileView.call(this, new WebInspector.HeapProfileView.NodeFor matter(this), views);
22 } 22 };
23 23
24 WebInspector.HeapProfileView.prototype = { 24 WebInspector.HeapProfileView.prototype = {
25 /** 25 /**
26 * @override 26 * @override
27 * @param {string} columnId 27 * @param {string} columnId
28 * @return {string} 28 * @return {string}
29 */ 29 */
30 columnHeader: function(columnId) 30 columnHeader: function(columnId)
31 { 31 {
32 switch (columnId) { 32 switch (columnId) {
33 case "self": return WebInspector.UIString("Self Size (bytes)"); 33 case "self": return WebInspector.UIString("Self Size (bytes)");
34 case "total": return WebInspector.UIString("Total Size (bytes)"); 34 case "total": return WebInspector.UIString("Total Size (bytes)");
35 } 35 }
36 return ""; 36 return "";
37 }, 37 },
38 38
39 /** 39 /**
40 * @override 40 * @override
41 * @return {!WebInspector.FlameChartDataProvider} 41 * @return {!WebInspector.FlameChartDataProvider}
42 */ 42 */
43 createFlameChartDataProvider: function() 43 createFlameChartDataProvider: function()
44 { 44 {
45 return new WebInspector.HeapFlameChartDataProvider(this.profile, this._p rofileHeader.target()); 45 return new WebInspector.HeapFlameChartDataProvider(this.profile, this._p rofileHeader.target());
46 }, 46 },
47 47
48 __proto__: WebInspector.ProfileView.prototype 48 __proto__: WebInspector.ProfileView.prototype
49 } 49 };
50 50
51 /** 51 /**
52 * @constructor 52 * @constructor
53 * @extends {WebInspector.ProfileType} 53 * @extends {WebInspector.ProfileType}
54 */ 54 */
55 WebInspector.SamplingHeapProfileType = function() 55 WebInspector.SamplingHeapProfileType = function()
56 { 56 {
57 WebInspector.ProfileType.call(this, WebInspector.SamplingHeapProfileType.Typ eId, WebInspector.UIString("Record Allocation Profile")); 57 WebInspector.ProfileType.call(this, WebInspector.SamplingHeapProfileType.Typ eId, WebInspector.UIString("Record Allocation Profile"));
58 this._recording = false; 58 this._recording = false;
59 WebInspector.SamplingHeapProfileType.instance = this; 59 WebInspector.SamplingHeapProfileType.instance = this;
60 } 60 };
61 61
62 WebInspector.SamplingHeapProfileType.TypeId = "SamplingHeap"; 62 WebInspector.SamplingHeapProfileType.TypeId = "SamplingHeap";
63 63
64 WebInspector.SamplingHeapProfileType.prototype = { 64 WebInspector.SamplingHeapProfileType.prototype = {
65 /** 65 /**
66 * @override 66 * @override
67 * @return {string} 67 * @return {string}
68 */ 68 */
69 typeName: function() 69 typeName: function()
70 { 70 {
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 172
173 /** 173 /**
174 * @override 174 * @override
175 */ 175 */
176 profileBeingRecordedRemoved: function() 176 profileBeingRecordedRemoved: function()
177 { 177 {
178 this.stopRecordingProfile(); 178 this.stopRecordingProfile();
179 }, 179 },
180 180
181 __proto__: WebInspector.ProfileType.prototype 181 __proto__: WebInspector.ProfileType.prototype
182 } 182 };
183 183
184 /** 184 /**
185 * @constructor 185 * @constructor
186 * @extends {WebInspector.WritableProfileHeader} 186 * @extends {WebInspector.WritableProfileHeader}
187 * @param {?WebInspector.Target} target 187 * @param {?WebInspector.Target} target
188 * @param {!WebInspector.SamplingHeapProfileType} type 188 * @param {!WebInspector.SamplingHeapProfileType} type
189 * @param {string=} title 189 * @param {string=} title
190 */ 190 */
191 WebInspector.SamplingHeapProfileHeader = function(target, type, title) 191 WebInspector.SamplingHeapProfileHeader = function(target, type, title)
192 { 192 {
193 WebInspector.WritableProfileHeader.call(this, target, type, title || WebInsp ector.UIString("Profile %d", type.nextProfileUid())); 193 WebInspector.WritableProfileHeader.call(this, target, type, title || WebInsp ector.UIString("Profile %d", type.nextProfileUid()));
194 } 194 };
195 195
196 WebInspector.SamplingHeapProfileHeader.prototype = { 196 WebInspector.SamplingHeapProfileHeader.prototype = {
197 /** 197 /**
198 * @override 198 * @override
199 * @return {!WebInspector.ProfileView} 199 * @return {!WebInspector.ProfileView}
200 */ 200 */
201 createView: function() 201 createView: function()
202 { 202 {
203 return new WebInspector.HeapProfileView(this); 203 return new WebInspector.HeapProfileView(this);
204 }, 204 },
205 205
206 /** 206 /**
207 * @return {!HeapProfilerAgent.SamplingHeapProfile} 207 * @return {!HeapProfilerAgent.SamplingHeapProfile}
208 */ 208 */
209 protocolProfile: function() 209 protocolProfile: function()
210 { 210 {
211 return this._protocolProfile; 211 return this._protocolProfile;
212 }, 212 },
213 213
214 __proto__: WebInspector.WritableProfileHeader.prototype 214 __proto__: WebInspector.WritableProfileHeader.prototype
215 } 215 };
216 216
217 /** 217 /**
218 * @constructor 218 * @constructor
219 * @extends {WebInspector.ProfileNode} 219 * @extends {WebInspector.ProfileNode}
220 * @param {!HeapProfilerAgent.SamplingHeapProfileNode} node 220 * @param {!HeapProfilerAgent.SamplingHeapProfileNode} node
221 */ 221 */
222 WebInspector.SamplingHeapProfileNode = function(node) 222 WebInspector.SamplingHeapProfileNode = function(node)
223 { 223 {
224 var callFrame = node.callFrame || /** @type {!RuntimeAgent.CallFrame} */ ({ 224 var callFrame = node.callFrame || /** @type {!RuntimeAgent.CallFrame} */ ({
225 // Backward compatibility for old CpuProfileNode format. 225 // Backward compatibility for old CpuProfileNode format.
226 functionName: node["functionName"], 226 functionName: node["functionName"],
227 scriptId: node["scriptId"], 227 scriptId: node["scriptId"],
228 url: node["url"], 228 url: node["url"],
229 lineNumber: node["lineNumber"] - 1, 229 lineNumber: node["lineNumber"] - 1,
230 columnNumber: node["columnNumber"] - 1 230 columnNumber: node["columnNumber"] - 1
231 }); 231 });
232 WebInspector.ProfileNode.call(this, callFrame); 232 WebInspector.ProfileNode.call(this, callFrame);
233 this.self = node.selfSize; 233 this.self = node.selfSize;
234 } 234 };
235 235
236 WebInspector.SamplingHeapProfileNode.prototype = { 236 WebInspector.SamplingHeapProfileNode.prototype = {
237 __proto__: WebInspector.ProfileNode.prototype 237 __proto__: WebInspector.ProfileNode.prototype
238 } 238 };
239 239
240 /** 240 /**
241 * @constructor 241 * @constructor
242 * @extends {WebInspector.ProfileTreeModel} 242 * @extends {WebInspector.ProfileTreeModel}
243 * @param {!HeapProfilerAgent.SamplingHeapProfile} profile 243 * @param {!HeapProfilerAgent.SamplingHeapProfile} profile
244 */ 244 */
245 WebInspector.SamplingHeapProfileModel = function(profile) 245 WebInspector.SamplingHeapProfileModel = function(profile)
246 { 246 {
247 WebInspector.ProfileTreeModel.call(this, this._translateProfileTree(profile. head)); 247 WebInspector.ProfileTreeModel.call(this, this._translateProfileTree(profile. head));
248 } 248 };
249 249
250 WebInspector.SamplingHeapProfileModel.prototype = { 250 WebInspector.SamplingHeapProfileModel.prototype = {
251 /** 251 /**
252 * @param {!HeapProfilerAgent.SamplingHeapProfileNode} root 252 * @param {!HeapProfilerAgent.SamplingHeapProfileNode} root
253 * @return {!WebInspector.SamplingHeapProfileNode} 253 * @return {!WebInspector.SamplingHeapProfileNode}
254 */ 254 */
255 _translateProfileTree: function(root) 255 _translateProfileTree: function(root)
256 { 256 {
257 var resultRoot = new WebInspector.SamplingHeapProfileNode(root); 257 var resultRoot = new WebInspector.SamplingHeapProfileNode(root);
258 var targetNodeStack = [resultRoot]; 258 var targetNodeStack = [resultRoot];
259 var sourceNodeStack = [root]; 259 var sourceNodeStack = [root];
260 while (sourceNodeStack.length) { 260 while (sourceNodeStack.length) {
261 var sourceNode = sourceNodeStack.pop(); 261 var sourceNode = sourceNodeStack.pop();
262 var parentNode = targetNodeStack.pop(); 262 var parentNode = targetNodeStack.pop();
263 parentNode.children = sourceNode.children.map(child => new WebInspec tor.SamplingHeapProfileNode(child)); 263 parentNode.children = sourceNode.children.map(child => new WebInspec tor.SamplingHeapProfileNode(child));
264 sourceNodeStack.push.apply(sourceNodeStack, sourceNode.children); 264 sourceNodeStack.push.apply(sourceNodeStack, sourceNode.children);
265 targetNodeStack.push.apply(targetNodeStack, parentNode.children); 265 targetNodeStack.push.apply(targetNodeStack, parentNode.children);
266 } 266 }
267 return resultRoot; 267 return resultRoot;
268 }, 268 },
269 269
270 __proto__: WebInspector.ProfileTreeModel.prototype 270 __proto__: WebInspector.ProfileTreeModel.prototype
271 } 271 };
272 272
273 /** 273 /**
274 * @constructor 274 * @constructor
275 * @implements {WebInspector.ProfileDataGridNode.Formatter} 275 * @implements {WebInspector.ProfileDataGridNode.Formatter}
276 * @param {!WebInspector.ProfileView} profileView 276 * @param {!WebInspector.ProfileView} profileView
277 */ 277 */
278 WebInspector.HeapProfileView.NodeFormatter = function(profileView) 278 WebInspector.HeapProfileView.NodeFormatter = function(profileView)
279 { 279 {
280 this._profileView = profileView; 280 this._profileView = profileView;
281 } 281 };
282 282
283 WebInspector.HeapProfileView.NodeFormatter.prototype = { 283 WebInspector.HeapProfileView.NodeFormatter.prototype = {
284 /** 284 /**
285 * @override 285 * @override
286 * @param {number} value 286 * @param {number} value
287 * @return {string} 287 * @return {string}
288 */ 288 */
289 formatValue: function(value) 289 formatValue: function(value)
290 { 290 {
291 return Number.withThousandsSeparator(value); 291 return Number.withThousandsSeparator(value);
(...skipping 12 matching lines...) Expand all
304 304
305 /** 305 /**
306 * @override 306 * @override
307 * @param {!WebInspector.ProfileDataGridNode} node 307 * @param {!WebInspector.ProfileDataGridNode} node
308 * @return {?Element} 308 * @return {?Element}
309 */ 309 */
310 linkifyNode: function(node) 310 linkifyNode: function(node)
311 { 311 {
312 return this._profileView.linkifier().maybeLinkifyConsoleCallFrame(this._ profileView.target(), node.profileNode.callFrame, "profile-node-file"); 312 return this._profileView.linkifier().maybeLinkifyConsoleCallFrame(this._ profileView.target(), node.profileNode.callFrame, "profile-node-file");
313 } 313 }
314 } 314 };
315 315
316 /** 316 /**
317 * @constructor 317 * @constructor
318 * @extends {WebInspector.ProfileFlameChartDataProvider} 318 * @extends {WebInspector.ProfileFlameChartDataProvider}
319 * @param {!WebInspector.ProfileTreeModel} profile 319 * @param {!WebInspector.ProfileTreeModel} profile
320 * @param {?WebInspector.Target} target 320 * @param {?WebInspector.Target} target
321 */ 321 */
322 WebInspector.HeapFlameChartDataProvider = function(profile, target) 322 WebInspector.HeapFlameChartDataProvider = function(profile, target)
323 { 323 {
324 WebInspector.ProfileFlameChartDataProvider.call(this, target); 324 WebInspector.ProfileFlameChartDataProvider.call(this, target);
325 this._profile = profile; 325 this._profile = profile;
326 } 326 };
327 327
328 WebInspector.HeapFlameChartDataProvider.prototype = { 328 WebInspector.HeapFlameChartDataProvider.prototype = {
329 /** 329 /**
330 * @override 330 * @override
331 * @return {number} 331 * @return {number}
332 */ 332 */
333 minimumBoundary: function() 333 minimumBoundary: function()
334 { 334 {
335 return 0; 335 return 0;
336 }, 336 },
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 pushEntryInfoRow(WebInspector.UIString("Total size"), Number.bytesToStri ng(node.total)); 430 pushEntryInfoRow(WebInspector.UIString("Total size"), Number.bytesToStri ng(node.total));
431 var linkifier = new WebInspector.Linkifier(); 431 var linkifier = new WebInspector.Linkifier();
432 var link = linkifier.maybeLinkifyConsoleCallFrame(this._target, node.cal lFrame); 432 var link = linkifier.maybeLinkifyConsoleCallFrame(this._target, node.cal lFrame);
433 if (link) 433 if (link)
434 pushEntryInfoRow(WebInspector.UIString("URL"), link.textContent); 434 pushEntryInfoRow(WebInspector.UIString("URL"), link.textContent);
435 linkifier.dispose(); 435 linkifier.dispose();
436 return WebInspector.ProfileView.buildPopoverTable(entryInfo); 436 return WebInspector.ProfileView.buildPopoverTable(entryInfo);
437 }, 437 },
438 438
439 __proto__: WebInspector.ProfileFlameChartDataProvider.prototype 439 __proto__: WebInspector.ProfileFlameChartDataProvider.prototype
440 } 440 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698