File tree Expand file tree Collapse file tree 3 files changed +59
-1
lines changed
front_end/panels/timeline Expand file tree Collapse file tree 3 files changed +59
-1
lines changed Original file line number Diff line number Diff line change @@ -97,7 +97,7 @@ export class ThirdPartyTreeViewWidget extends TimelineTreeView.TimelineTreeView
9797 {
9898 id : 'site' ,
9999 title : i18nString ( UIStrings . firstOrThirdPartyName ) ,
100- width : '80px ' ,
100+ width : '100px ' ,
101101 fixedWidth : true ,
102102 sortable : true ,
103103 } ,
@@ -197,6 +197,24 @@ export class ThirdPartyTreeViewWidget extends TimelineTreeView.TimelineTreeView
197197 }
198198 return { transferSize : summary . transferSize , mainThreadTime : summary . mainThreadTime } ;
199199 }
200+
201+ nodeIsFirstParty ( node : Trace . Extras . TraceTree . Node ) : boolean {
202+ const mapper = this . entityMapper ( ) ;
203+ if ( ! mapper ) {
204+ return false ;
205+ }
206+ const firstParty = mapper . firstPartyEntity ( ) ;
207+ return firstParty === mapper . entityForEvent ( node . event ) ;
208+ }
209+
210+ nodeIsExtension ( node : Trace . Extras . TraceTree . Node ) : boolean {
211+ const mapper = this . entityMapper ( ) ;
212+ if ( ! mapper ) {
213+ return false ;
214+ }
215+ const entity = mapper . entityForEvent ( node . event ) ;
216+ return Boolean ( entity ) && entity ?. category === 'Chrome Extension' ;
217+ }
200218}
201219
202220export class ThirdPartyTreeView extends UI . Widget . WidgetElement < UI . Widget . Widget > {
Original file line number Diff line number Diff line change @@ -698,6 +698,23 @@ export class GridNode extends DataGrid.SortableDataGrid.SortableDataGridNode<Gri
698698 if ( info . icon ) {
699699 iconContainer . insertBefore ( info . icon , icon ) ;
700700 }
701+
702+ // Include badges with the name, if relevant.
703+ if ( columnId === 'site' && ( this . treeView as ThirdPartyTreeViewWidget ) ) {
704+ const thirdPartyTree = ( this . treeView as ThirdPartyTreeViewWidget ) ;
705+ let badgeText = '' ;
706+
707+ if ( thirdPartyTree . nodeIsFirstParty ( this . profileNode ) ) {
708+ badgeText = '1st party' ;
709+ } else if ( thirdPartyTree . nodeIsExtension ( this . profileNode ) ) {
710+ badgeText = 'Extension' ;
711+ }
712+
713+ if ( badgeText ) {
714+ const badge = container . createChild ( 'div' , 'entity-badge' ) ;
715+ badge . createChild ( 'div' , 'entity-badge-name' ) . textContent = badgeText ;
716+ }
717+ }
701718 } else if ( event ) {
702719 name . textContent = TimelineUIUtils . eventTitle ( event ) ;
703720 const parsedTrace = this . treeView . parsedTrace ( ) ;
Original file line number Diff line number Diff line change 9696 padding : var (--sys-size-4 ) var (--sys-size-8 ) var (--sys-size-4 );
9797 gap : var (--sys-size-5 );
9898}
99+
100+ .name-container {
101+ display : flex;
102+ align-items : center;
103+ }
104+
105+ .entity-badge {
106+ margin-left : var (--sys-size-4 );
107+ }
108+
109+ .entity-badge-name {
110+ font-weight : var (--ref-typeface-weight-bold );
111+ padding-left : var (--sys-size-3 );
112+ padding-right : var (--sys-size-3 );
113+ background-color : var (--sys-color-tonal-container );
114+ border-radius : var (--sys-shape-corner-extra-small );
115+ }
116+
117+ .activity-name {
118+ text-overflow : ellipsis;
119+ overflow : inherit;
120+ max-width : 60% ;
121+ }
You can’t perform that action at this time.
0 commit comments