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

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

Issue 2727233004: Timeline: fix NPE in heavy stack view when clearing Timeline (Closed)
Patch Set: Created 3 years, 9 months 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 | « third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartView.js ('k') | no next file » | 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 * @unrestricted 6 * @unrestricted
7 * @implements {UI.Searchable} 7 * @implements {UI.Searchable}
8 */ 8 */
9 Timeline.TimelineTreeView = class extends UI.VBox { 9 Timeline.TimelineTreeView = class extends UI.VBox {
10 constructor() { 10 constructor() {
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 } 233 }
234 234
235 /** 235 /**
236 * @protected 236 * @protected
237 */ 237 */
238 refreshTree() { 238 refreshTree() {
239 this._linkifier.reset(); 239 this._linkifier.reset();
240 if (this._searchableView) 240 if (this._searchableView)
241 this._searchableView.cancelSearch(); 241 this._searchableView.cancelSearch();
242 this._dataGrid.rootNode().removeChildren(); 242 this._dataGrid.rootNode().removeChildren();
243 if (!this._model) 243 if (!this._model) {
244 this._updateDetailsForSelection();
244 return; 245 return;
246 }
245 this._root = this._buildTree(); 247 this._root = this._buildTree();
246 var children = this._root.children(); 248 var children = this._root.children();
247 var maxSelfTime = 0; 249 var maxSelfTime = 0;
248 var maxTotalTime = 0; 250 var maxTotalTime = 0;
249 for (var child of children.values()) { 251 for (var child of children.values()) {
250 maxSelfTime = Math.max(maxSelfTime, child.selfTime); 252 maxSelfTime = Math.max(maxSelfTime, child.selfTime);
251 maxTotalTime = Math.max(maxTotalTime, child.totalTime); 253 maxTotalTime = Math.max(maxTotalTime, child.totalTime);
252 } 254 }
253 for (var child of children.values()) { 255 for (var child of children.values()) {
254 // Exclude the idle time off the total calculation. 256 // Exclude the idle time off the total calculation.
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after
985 987
986 _onSelectionChanged() { 988 _onSelectionChanged() {
987 this.dispatchEventToListeners(Timeline.TimelineStackView.Events.SelectionCha nged); 989 this.dispatchEventToListeners(Timeline.TimelineStackView.Events.SelectionCha nged);
988 } 990 }
989 }; 991 };
990 992
991 /** @enum {symbol} */ 993 /** @enum {symbol} */
992 Timeline.TimelineStackView.Events = { 994 Timeline.TimelineStackView.Events = {
993 SelectionChanged: Symbol('SelectionChanged') 995 SelectionChanged: Symbol('SelectionChanged')
994 }; 996 };
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartView.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698