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

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

Issue 2621783002: DevTools: Fix timeline tree grouping for v8 native urls for Domain/Subdomain (Closed)
Patch Set: Created 3 years, 11 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/LayoutTests/inspector/tracing/timeline-misc/timeline-aggregated-details-expected.txt ('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 * @unrestricted 5 * @unrestricted
6 */ 6 */
7 Timeline.TimelineTreeView = class extends UI.VBox { 7 Timeline.TimelineTreeView = class extends UI.VBox {
8 constructor() { 8 constructor() {
9 super(); 9 super();
10 this.element.classList.add('timeline-tree-view'); 10 this.element.classList.add('timeline-tree-view');
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 switch (this._groupBySetting.get()) { 499 switch (this._groupBySetting.get()) {
500 case Timeline.AggregatedTimelineTreeView.GroupBy.Category: 500 case Timeline.AggregatedTimelineTreeView.GroupBy.Category:
501 var category = categories[node.id] || categories['other']; 501 var category = categories[node.id] || categories['other'];
502 return {name: category.title, color: category.color}; 502 return {name: category.title, color: category.color};
503 503
504 case Timeline.AggregatedTimelineTreeView.GroupBy.Domain: 504 case Timeline.AggregatedTimelineTreeView.GroupBy.Domain:
505 case Timeline.AggregatedTimelineTreeView.GroupBy.Subdomain: 505 case Timeline.AggregatedTimelineTreeView.GroupBy.Subdomain:
506 var name = node.id; 506 var name = node.id;
507 if (Timeline.AggregatedTimelineTreeView._isExtensionInternalURL(name)) 507 if (Timeline.AggregatedTimelineTreeView._isExtensionInternalURL(name))
508 name = Common.UIString('[Chrome extensions overhead]'); 508 name = Common.UIString('[Chrome extensions overhead]');
509 else if (Timeline.AggregatedTimelineTreeView._isV8NativeURL(name))
510 name = Common.UIString('[V8 Runtime]');
509 else if (name.startsWith('chrome-extension')) 511 else if (name.startsWith('chrome-extension'))
510 name = this._executionContextNamesByOrigin.get(name) || name; 512 name = this._executionContextNamesByOrigin.get(name) || name;
511 return {name: name || Common.UIString('unattributed'), color: color}; 513 return {name: name || Common.UIString('unattributed'), color: color};
512 514
513 case Timeline.AggregatedTimelineTreeView.GroupBy.EventName: 515 case Timeline.AggregatedTimelineTreeView.GroupBy.EventName:
514 var name = node.event.name === TimelineModel.TimelineModel.RecordType.JS Frame ? 516 var name = node.event.name === TimelineModel.TimelineModel.RecordType.JS Frame ?
515 Common.UIString('JavaScript') : 517 Common.UIString('JavaScript') :
516 Timeline.TimelineUIUtils.eventTitle(node.event); 518 Timeline.TimelineUIUtils.eventTitle(node.event);
517 return { 519 return {
518 name: name, 520 name: name,
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 630
629 /** 631 /**
630 * @param {boolean} groupSubdomains 632 * @param {boolean} groupSubdomains
631 * @param {!SDK.TracingModel.Event} event 633 * @param {!SDK.TracingModel.Event} event
632 * @return {string} 634 * @return {string}
633 */ 635 */
634 function groupByDomain(groupSubdomains, event) { 636 function groupByDomain(groupSubdomains, event) {
635 var url = TimelineModel.TimelineProfileTree.eventURL(event) || ''; 637 var url = TimelineModel.TimelineProfileTree.eventURL(event) || '';
636 if (Timeline.AggregatedTimelineTreeView._isExtensionInternalURL(url)) 638 if (Timeline.AggregatedTimelineTreeView._isExtensionInternalURL(url))
637 return Timeline.AggregatedTimelineTreeView._extensionInternalPrefix; 639 return Timeline.AggregatedTimelineTreeView._extensionInternalPrefix;
640 if (Timeline.AggregatedTimelineTreeView._isV8NativeURL(url))
641 return Timeline.AggregatedTimelineTreeView._V8NativePrefix;
638 var parsedURL = url.asParsedURL(); 642 var parsedURL = url.asParsedURL();
639 if (!parsedURL) 643 if (!parsedURL)
640 return ''; 644 return '';
641 if (parsedURL.scheme === 'chrome-extension') 645 if (parsedURL.scheme === 'chrome-extension')
642 return parsedURL.scheme + '://' + parsedURL.host; 646 return parsedURL.scheme + '://' + parsedURL.host;
643 if (!groupSubdomains) 647 if (!groupSubdomains)
644 return parsedURL.host; 648 return parsedURL.host;
645 if (/^[.0-9]+$/.test(parsedURL.host)) 649 if (/^[.0-9]+$/.test(parsedURL.host))
646 return parsedURL.host; 650 return parsedURL.host;
647 var domainMatch = /([^.]*\.)?[^.]*$/.exec(parsedURL.host); 651 var domainMatch = /([^.]*\.)?[^.]*$/.exec(parsedURL.host);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 contextMenu.appendApplicableItems(frame.ownerNode); 688 contextMenu.appendApplicableItems(frame.ownerNode);
685 } 689 }
686 690
687 /** 691 /**
688 * @param {string} url 692 * @param {string} url
689 * @return {boolean} 693 * @return {boolean}
690 */ 694 */
691 static _isExtensionInternalURL(url) { 695 static _isExtensionInternalURL(url) {
692 return url.startsWith(Timeline.AggregatedTimelineTreeView._extensionInternal Prefix); 696 return url.startsWith(Timeline.AggregatedTimelineTreeView._extensionInternal Prefix);
693 } 697 }
698
699 /**
700 * @param {string} url
701 * @return {boolean}
702 */
703 static _isV8NativeURL(url) {
704 return url.startsWith(Timeline.AggregatedTimelineTreeView._V8NativePrefix);
705 }
694 }; 706 };
695 707
696 Timeline.AggregatedTimelineTreeView._extensionInternalPrefix = 'extensions::'; 708 Timeline.AggregatedTimelineTreeView._extensionInternalPrefix = 'extensions::';
709 Timeline.AggregatedTimelineTreeView._V8NativePrefix = 'native ';
caseq 2017/01/09 20:35:24 _v8NativePreifix
697 710
698 /** 711 /**
699 * @enum {string} 712 * @enum {string}
700 */ 713 */
701 Timeline.AggregatedTimelineTreeView.GroupBy = { 714 Timeline.AggregatedTimelineTreeView.GroupBy = {
702 None: 'None', 715 None: 'None',
703 EventName: 'EventName', 716 EventName: 'EventName',
704 Category: 'Category', 717 Category: 'Category',
705 Domain: 'Domain', 718 Domain: 'Domain',
706 Subdomain: 'Subdomain', 719 Subdomain: 'Subdomain',
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
937 950
938 _onSelectionChanged() { 951 _onSelectionChanged() {
939 this.dispatchEventToListeners(Timeline.TimelineStackView.Events.SelectionCha nged); 952 this.dispatchEventToListeners(Timeline.TimelineStackView.Events.SelectionCha nged);
940 } 953 }
941 }; 954 };
942 955
943 /** @enum {symbol} */ 956 /** @enum {symbol} */
944 Timeline.TimelineStackView.Events = { 957 Timeline.TimelineStackView.Events = {
945 SelectionChanged: Symbol('SelectionChanged') 958 SelectionChanged: Symbol('SelectionChanged')
946 }; 959 };
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/inspector/tracing/timeline-misc/timeline-aggregated-details-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698