@@ -57,6 +57,10 @@ const UIStrings = {
57
57
*@description Text for network request headers
58
58
*/
59
59
headers : 'Headers' ,
60
+ /**
61
+ *@description Text for network connection info. In case the request is not made over http.
62
+ */
63
+ connectionInfo : 'Connection Info' ,
60
64
/**
61
65
*@description Text in Network Item View of the Network panel
62
66
*/
@@ -147,11 +151,12 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
147
151
export class NetworkItemView extends UI . TabbedPane . TabbedPane {
148
152
private requestInternal : SDK . NetworkRequest . NetworkRequest ;
149
153
private readonly resourceViewTabSetting : Common . Settings . Setting < NetworkForward . UIRequestLocation . UIRequestTabs > ;
150
- private readonly headersViewComponent : NetworkComponents . RequestHeadersView . RequestHeadersView ;
154
+ private readonly headersViewComponent : NetworkComponents . RequestHeadersView . RequestHeadersView | undefined ;
151
155
private payloadView : RequestPayloadView | null ;
152
156
private readonly responseView : RequestResponseView | undefined ;
153
157
private cookiesView : RequestCookiesView | null ;
154
158
private initialTab ?: NetworkForward . UIRequestLocation . UIRequestTabs ;
159
+ private readonly firstTab : NetworkForward . UIRequestLocation . UIRequestTabs ;
155
160
156
161
constructor (
157
162
request : SDK . NetworkRequest . NetworkRequest , calculator : NetworkTimeCalculator ,
@@ -163,15 +168,22 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
163
168
keydown : 'ArrowUp|ArrowLeft|ArrowDown|ArrowRight|Enter|Space' ,
164
169
} ) } `) ;
165
170
166
- const headersTab = NetworkForward . UIRequestLocation . UIRequestTabs . HEADERS_COMPONENT ;
167
- this . resourceViewTabSetting = Common . Settings . Settings . instance ( ) . createSetting (
168
- 'resource-view-tab' , NetworkForward . UIRequestLocation . UIRequestTabs . HEADERS_COMPONENT ) ;
171
+ if ( request . resourceType ( ) === Common . ResourceType . resourceTypes . DirectSocket ) {
172
+ this . firstTab = NetworkForward . UIRequestLocation . UIRequestTabs . DIRECT_SOCKET_CONNECTION ;
173
+ this . appendTab (
174
+ NetworkForward . UIRequestLocation . UIRequestTabs . DIRECT_SOCKET_CONNECTION , i18nString ( UIStrings . connectionInfo ) ,
175
+ new NetworkComponents . DirectSocketConnectionView . DirectSocketConnectionView ( request ) ,
176
+ i18nString ( UIStrings . headers ) ) ;
177
+ } else {
178
+ this . firstTab = NetworkForward . UIRequestLocation . UIRequestTabs . HEADERS_COMPONENT ;
179
+ this . headersViewComponent = new NetworkComponents . RequestHeadersView . RequestHeadersView ( request ) ;
180
+ this . appendTab (
181
+ NetworkForward . UIRequestLocation . UIRequestTabs . HEADERS_COMPONENT , i18nString ( UIStrings . headers ) ,
182
+ LegacyWrapper . LegacyWrapper . legacyWrapper ( UI . Widget . VBox , this . headersViewComponent ) ,
183
+ i18nString ( UIStrings . headers ) ) ;
184
+ }
169
185
170
- this . headersViewComponent = new NetworkComponents . RequestHeadersView . RequestHeadersView ( request ) ;
171
- this . appendTab (
172
- headersTab , i18nString ( UIStrings . headers ) ,
173
- LegacyWrapper . LegacyWrapper . legacyWrapper ( UI . Widget . VBox , this . headersViewComponent ) ,
174
- i18nString ( UIStrings . headers ) ) ;
186
+ this . resourceViewTabSetting = Common . Settings . Settings . instance ( ) . createSetting ( 'resource-view-tab' , this . firstTab ) ;
175
187
176
188
if ( this . requestInternal . hasOverriddenHeaders ( ) ) {
177
189
const statusDot = document . createElement ( 'div' ) ;
@@ -190,6 +202,8 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
190
202
this . appendTab (
191
203
NetworkForward . UIRequestLocation . UIRequestTabs . WS_FRAMES , i18nString ( UIStrings . messages ) , frameView ,
192
204
i18nString ( UIStrings . websocketMessages ) ) ;
205
+ } else if ( request . resourceType ( ) === Common . ResourceType . resourceTypes . DirectSocket ) {
206
+ // TODO(@vkrot): add direct socket messages tab
193
207
} else if ( request . mimeType === Platform . MimeType . MimeType . EVENTSTREAM ) {
194
208
this . appendTab (
195
209
NetworkForward . UIRequestLocation . UIRequestTabs . EVENT_SOURCE , i18nString ( UIStrings . eventstream ) ,
@@ -328,7 +342,7 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
328
342
// it makes sense to retry on the next tick
329
343
window . setTimeout ( ( ) => {
330
344
if ( ! this . selectTab ( tabId ) ) {
331
- this . selectTab ( NetworkForward . UIRequestLocation . UIRequestTabs . HEADERS_COMPONENT ) ;
345
+ this . selectTab ( this . firstTab ) ;
332
346
}
333
347
} , 0 ) ;
334
348
}
@@ -352,10 +366,10 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
352
366
353
367
revealHeader ( section : NetworkForward . UIRequestLocation . UIHeaderSection , header : string | undefined ) : void {
354
368
this . selectTabInternal ( NetworkForward . UIRequestLocation . UIRequestTabs . HEADERS_COMPONENT ) ;
355
- this . headersViewComponent . revealHeader ( section , header ) ;
369
+ this . headersViewComponent ? .revealHeader ( section , header ) ;
356
370
}
357
371
358
- getHeadersViewComponent ( ) : NetworkComponents . RequestHeadersView . RequestHeadersView {
372
+ getHeadersViewComponent ( ) : NetworkComponents . RequestHeadersView . RequestHeadersView | undefined {
359
373
return this . headersViewComponent ;
360
374
}
361
375
}
0 commit comments