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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/timeline/TimelineTreeView.js

Issue 1470783003: Timeline: do not show percent columns in Events tree view (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/devtools/front_end/timeline/timelinePanel.css » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 * @extends {WebInspector.VBox} 7 * @extends {WebInspector.VBox}
8 * @param {!WebInspector.TimelineModel} model 8 * @param {!WebInspector.TimelineModel} model
9 */ 9 */
10 WebInspector.TimelineTreeView = function(model) 10 WebInspector.TimelineTreeView = function(model)
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 * @param {number} endTime 58 * @param {number} endTime
59 */ 59 */
60 setRange: function(startTime, endTime) 60 setRange: function(startTime, endTime)
61 { 61 {
62 this._startTime = startTime; 62 this._startTime = startTime;
63 this._endTime = endTime; 63 this._endTime = endTime;
64 this._refreshTree(); 64 this._refreshTree();
65 }, 65 },
66 66
67 /** 67 /**
68 * @return {boolean}
69 */
70 _exposePercentages: function()
71 {
72 return false;
73 },
74
75 /**
68 * @param {!Element} parent 76 * @param {!Element} parent
69 */ 77 */
70 _populateToolbar: function(parent) { }, 78 _populateToolbar: function(parent) { },
71 79
72 /** 80 /**
73 * @param {!ConsoleAgent.CallFrame} frame 81 * @param {!ConsoleAgent.CallFrame} frame
74 * @return {!Element} 82 * @return {!Element}
75 */ 83 */
76 linkifyLocation: function(frame) 84 linkifyLocation: function(frame)
77 { 85 {
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 }, 334 },
327 335
328 /** 336 /**
329 * @param {string} columnIdentifier 337 * @param {string} columnIdentifier
330 * @return {?Element} 338 * @return {?Element}
331 */ 339 */
332 _createValueCell: function(columnIdentifier) 340 _createValueCell: function(columnIdentifier)
333 { 341 {
334 if (columnIdentifier !== "self" && columnIdentifier !== "total" && colum nIdentifier !== "startTime") 342 if (columnIdentifier !== "self" && columnIdentifier !== "total" && colum nIdentifier !== "startTime")
335 return null; 343 return null;
336 /**
337 * @param {number} time
338 * @return {string}
339 */
340 function formatMilliseconds(time)
341 {
342 return WebInspector.UIString("%.1f\u2009ms", time);
343 }
344 /**
345 * @param {number} value
346 * @return {string}
347 */
348 function formatPercent(value)
349 {
350 return WebInspector.UIString("%.1f\u2009%%", value);
351 }
352 344
345 var showPercents = false;
353 var value; 346 var value;
354 var percentText;
355 var maxTime; 347 var maxTime;
356 switch (columnIdentifier) { 348 switch (columnIdentifier) {
357 case "startTime": 349 case "startTime":
358 value = this._profileNode.event.startTime - this._treeView._model.mi nimumRecordTime(); 350 value = this._profileNode.event.startTime - this._treeView._model.mi nimumRecordTime();
359 break; 351 break;
360 case "self": 352 case "self":
361 value = this._profileNode.selfTime; 353 value = this._profileNode.selfTime;
362 percentText = formatPercent(this._profileNode.selfTime / this._grand TotalTime * 100);
363 maxTime = this._maxSelfTime; 354 maxTime = this._maxSelfTime;
355 showPercents = true;
364 break; 356 break;
365 case "total": 357 case "total":
366 value = this._profileNode.totalTime; 358 value = this._profileNode.totalTime;
367 percentText = formatPercent(this._profileNode.totalTime / this._gran dTotalTime * 100);
368 maxTime = this._maxTotalTime; 359 maxTime = this._maxTotalTime;
360 showPercents = true;
369 break; 361 break;
370 default: 362 default:
371 return null; 363 return null;
372 } 364 }
373 var cell = this.createTD(columnIdentifier); 365 var cell = this.createTD(columnIdentifier);
374 cell.className = "numeric-column"; 366 cell.className = "numeric-column";
375 var textDiv = cell.createChild("div"); 367 var textDiv = cell.createChild("div");
376 textDiv.createChild("span").textContent = formatMilliseconds(value); 368 textDiv.createChild("span").textContent = WebInspector.UIString("%.1f\u2 009ms", value);
377 if (percentText) { 369
378 textDiv.createChild("span", "percent-column").textContent = percentT ext; 370 if (showPercents && this._treeView._exposePercentages())
379 textDiv.classList.add("profile-multiple-values"); 371 textDiv.createChild("span", "percent-column").textContent = WebInspe ctor.UIString("%.1f\u2009%%", value / this._grandTotalTime * 100);
372 if (maxTime) {
373 textDiv.classList.add("background-percent-bar");
374 cell.createChild("div", "background-bar-container").createChild("div ", "background-bar").style.width = (value * 100 / maxTime).toFixed(1) + "%";
380 } 375 }
381 if (maxTime)
382 cell.createChild("div", "background-bar-container").createChild("div ", "background-bar").style.width = (value * 100 / maxTime).toFixed(1) + "%";
383 return cell; 376 return cell;
384 }, 377 },
385 378
386 /** 379 /**
387 * @override 380 * @override
388 */ 381 */
389 populate: function() 382 populate: function()
390 { 383 {
391 if (this._populated) 384 if (this._populated)
392 return; 385 return;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 this._groupByCombobox.select(option); 458 this._groupByCombobox.select(option);
466 } 459 }
467 addGroupingOption.call(this, WebInspector.UIString("No Grouping"), WebIn spector.AggregatedTimelineTreeView.GroupBy.None); 460 addGroupingOption.call(this, WebInspector.UIString("No Grouping"), WebIn spector.AggregatedTimelineTreeView.GroupBy.None);
468 addGroupingOption.call(this, WebInspector.UIString("Group by Category"), WebInspector.AggregatedTimelineTreeView.GroupBy.Category); 461 addGroupingOption.call(this, WebInspector.UIString("Group by Category"), WebInspector.AggregatedTimelineTreeView.GroupBy.Category);
469 addGroupingOption.call(this, WebInspector.UIString("Group by Domain"), W ebInspector.AggregatedTimelineTreeView.GroupBy.Domain); 462 addGroupingOption.call(this, WebInspector.UIString("Group by Domain"), W ebInspector.AggregatedTimelineTreeView.GroupBy.Domain);
470 addGroupingOption.call(this, WebInspector.UIString("Group by Subdomain") , WebInspector.AggregatedTimelineTreeView.GroupBy.Subdomain); 463 addGroupingOption.call(this, WebInspector.UIString("Group by Subdomain") , WebInspector.AggregatedTimelineTreeView.GroupBy.Subdomain);
471 addGroupingOption.call(this, WebInspector.UIString("Group by URL"), WebI nspector.AggregatedTimelineTreeView.GroupBy.URL); 464 addGroupingOption.call(this, WebInspector.UIString("Group by URL"), WebI nspector.AggregatedTimelineTreeView.GroupBy.URL);
472 panelToolbar.appendToolbarItem(this._groupByCombobox); 465 panelToolbar.appendToolbarItem(this._groupByCombobox);
473 }, 466 },
474 467
468 /**
469 * @override
470 * @return {boolean}
471 */
472 _exposePercentages: function()
473 {
474 return true;
475 },
476
475 _onGroupByChanged: function() 477 _onGroupByChanged: function()
476 { 478 {
477 this._groupBySetting.set(this._groupByCombobox.selectedOption().value); 479 this._groupBySetting.set(this._groupByCombobox.selectedOption().value);
478 this._refreshTree(); 480 this._refreshTree();
479 }, 481 },
480 482
481 /** 483 /**
482 * @param {function(!WebInspector.TimelineModel.ProfileTreeNode):string} nod eToGroupId 484 * @param {function(!WebInspector.TimelineModel.ProfileTreeNode):string} nod eToGroupId
483 * @param {!WebInspector.TimelineModel.ProfileTreeNode} node 485 * @param {!WebInspector.TimelineModel.ProfileTreeNode} node
484 * @return {!WebInspector.TimelineModel.ProfileTreeNode} 486 * @return {!WebInspector.TimelineModel.ProfileTreeNode}
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 * @this {WebInspector.EventsTimelineTreeView} 796 * @this {WebInspector.EventsTimelineTreeView}
795 */ 797 */
796 function showDetails(fragment) 798 function showDetails(fragment)
797 { 799 {
798 this._detailsView.element.appendChild(fragment); 800 this._detailsView.element.appendChild(fragment);
799 } 801 }
800 }, 802 },
801 803
802 __proto__: WebInspector.TimelineTreeView.prototype 804 __proto__: WebInspector.TimelineTreeView.prototype
803 } 805 }
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/devtools/front_end/timeline/timelinePanel.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698