Replace usages of NetworkPanel.selectAndShowRequest with revealer
This CL uses Common.Revealer.reveal instead of reaching directly
into the Network panel module, thereby loosing coupling and making
a step forward towards removing the dependency on the network panel
from the application and issues panels.
Bug: chromium:1196676
Change-Id: Id4b02b43c7cefd7e4802ead878e50177eab62482
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2953267
Commit-Queue: Sigurd Schneider <[email protected]>
Reviewed-by: Tim van der Lippe <[email protected]>
diff --git a/front_end/panels/application/BUILD.gn b/front_end/panels/application/BUILD.gn
index 2e4e647..40128d6 100644
--- a/front_end/panels/application/BUILD.gn
+++ b/front_end/panels/application/BUILD.gn
@@ -51,6 +51,7 @@
"../../models/workspace:bundle",
"../../panels/mobile_throttling:bundle",
"../../panels/network:bundle",
+ "../../panels/network/forward:bundle",
"../../ui/components/data_grid:bundle",
"../../ui/components/expandable_list:bundle",
"../../ui/components/report_view:bundle",
diff --git a/front_end/panels/application/ServiceWorkersView.ts b/front_end/panels/application/ServiceWorkersView.ts
index 8b5eb30..6ba5b98 100644
--- a/front_end/panels/application/ServiceWorkersView.ts
+++ b/front_end/panels/application/ServiceWorkersView.ts
@@ -14,6 +14,7 @@
import type * as Protocol from '../../generated/protocol.js';
import * as MobileThrottling from '../mobile_throttling/mobile_throttling.js';
import * as Network from '../network/network.js';
+import * as NetworkForward from '../../panels/network/forward/forward.js';
import {ServiceWorkerUpdateCycleView} from './ServiceWorkerUpdateCycleView.js';
@@ -742,8 +743,9 @@
}
}
if (lastRequest) {
- Network.NetworkPanel.NetworkPanel.selectAndShowRequest(
- lastRequest, Network.NetworkItemView.Tabs.Timing, {clearFilter: false});
+ const requestLocation = NetworkForward.UIRequestLocation.UIRequestLocation.tab(
+ lastRequest, NetworkForward.UIRequestLocation.UIRequestTabs.Timing, {clearFilter: false});
+ Common.Revealer.reveal(requestLocation);
}
this._manager.serviceWorkerNetworkRequestsPanelStatus = {
diff --git a/front_end/panels/application/components/BUILD.gn b/front_end/panels/application/components/BUILD.gn
index 9e4f6dc..045b01d 100644
--- a/front_end/panels/application/components/BUILD.gn
+++ b/front_end/panels/application/components/BUILD.gn
@@ -22,6 +22,7 @@
"../../../core/sdk:bundle",
"../../../models/bindings:bundle",
"../../../panels/network:bundle",
+ "../../../panels/network/forward:bundle",
"../../../ui/components/data_grid:bundle",
"../../../ui/components/expandable_list:bundle",
"../../../ui/components/report_view:bundle",
diff --git a/front_end/panels/application/components/FrameDetailsView.ts b/front_end/panels/application/components/FrameDetailsView.ts
index 9304877..2d6f7f5 100644
--- a/front_end/panels/application/components/FrameDetailsView.ts
+++ b/front_end/panels/application/components/FrameDetailsView.ts
@@ -559,11 +559,11 @@
if (resource && resource.request) {
const request = resource.request;
return this.renderIconLink(
- 'network_panel_icon',
- i18nString(UIStrings.clickToRevealInNetworkPanel),
- (): Promise<void> =>
- Network.NetworkPanel.NetworkPanel.selectAndShowRequest(request, Network.NetworkItemView.Tabs.Headers),
- );
+ 'network_panel_icon', i18nString(UIStrings.clickToRevealInNetworkPanel), (): Promise<void> => {
+ const requestLocation = NetworkForward.UIRequestLocation.UIRequestLocation.tab(
+ request, NetworkForward.UIRequestLocation.UIRequestTabs.Headers);
+ return Common.Revealer.reveal(requestLocation);
+ });
}
}
return LitHtml.nothing;
diff --git a/front_end/panels/issues/AffectedResourcesView.ts b/front_end/panels/issues/AffectedResourcesView.ts
index 2918b0f..b6ec7bc 100644
--- a/front_end/panels/issues/AffectedResourcesView.ts
+++ b/front_end/panels/issues/AffectedResourcesView.ts
@@ -11,7 +11,6 @@
import * as IconButton from '../../ui/components/icon_button/icon_button.js';
import * as Components from '../../ui/legacy/components/utils/utils.js';
import * as UI from '../../ui/legacy/legacy.js';
-import * as Network from '../network/network.js';
import * as NetworkForward from '../../panels/network/forward/forward.js';
import type * as Protocol from '../../generated/protocol.js';
@@ -56,7 +55,7 @@
export interface CreateRequestCellOptions {
linkToPreflight?: boolean;
highlightHeader?: {section: NetworkForward.UIRequestLocation.UIHeaderSection, name: string};
- networkTab?: Network.NetworkItemView.Tabs;
+ networkTab?: NetworkForward.UIRequestLocation.UIRequestTabs;
additionalOnClickAction?: () => void;
}
@@ -226,8 +225,9 @@
linkedRequest, options.highlightHeader.section, options.highlightHeader.name);
Common.Revealer.reveal(requestLocation);
} else {
- Network.NetworkPanel.NetworkPanel.selectAndShowRequest(
- linkedRequest, options.networkTab ?? Network.NetworkItemView.Tabs.Headers);
+ const requestLocation = NetworkForward.UIRequestLocation.UIRequestLocation.tab(
+ linkedRequest, options.networkTab ?? NetworkForward.UIRequestLocation.UIRequestTabs.Headers);
+ Common.Revealer.reveal(requestLocation);
}
};
requestCell.classList.add('link');
diff --git a/front_end/panels/issues/BUILD.gn b/front_end/panels/issues/BUILD.gn
index e74be27..db4f169 100644
--- a/front_end/panels/issues/BUILD.gn
+++ b/front_end/panels/issues/BUILD.gn
@@ -37,6 +37,7 @@
"../../panels/console_counters:bundle",
"../../panels/elements/components:bundle",
"../../panels/network:bundle",
+ "../../panels/network/forward:bundle",
"../../ui/components/data_grid:bundle",
"../../ui/components/linkifier:bundle",
"../../ui/components/markdown_view:bundle",
diff --git a/front_end/panels/issues/IssueView.ts b/front_end/panels/issues/IssueView.ts
index 399450a..2a590cf 100644
--- a/front_end/panels/issues/IssueView.ts
+++ b/front_end/panels/issues/IssueView.ts
@@ -16,7 +16,7 @@
import * as Components from '../../ui/legacy/components/utils/utils.js';
import * as UI from '../../ui/legacy/legacy.js';
import * as ElementsComponents from '../elements/components/components.js';
-import * as Network from '../network/network.js';
+import * as NetworkForward from '../../panels/network/forward/forward.js';
import {AffectedDirectivesView} from './AffectedDirectivesView.js';
import {AffectedBlockedByResponseView} from './AffectedBlockedByResponseView.js';
@@ -92,7 +92,7 @@
const element = document.createElement('tr');
element.classList.add('affected-resource-request');
const category = this._issue.getCategory();
- const tab = issueTypeToNetworkHeaderMap.get(category) || Network.NetworkItemView.Tabs.Headers;
+ const tab = issueTypeToNetworkHeaderMap.get(category) || NetworkForward.UIRequestLocation.UIRequestTabs.Headers;
element.appendChild(this.createRequestCell(affectedRequest, {
networkTab: tab,
additionalOnClickAction() {
@@ -171,11 +171,21 @@
}
}
-const issueTypeToNetworkHeaderMap = new Map<IssuesManager.Issue.IssueCategory, Network.NetworkItemView.Tabs>([
- [IssuesManager.Issue.IssueCategory.SameSiteCookie, Network.NetworkItemView.Tabs.Cookies],
- [IssuesManager.Issue.IssueCategory.CrossOriginEmbedderPolicy, Network.NetworkItemView.Tabs.Headers],
- [IssuesManager.Issue.IssueCategory.MixedContent, Network.NetworkItemView.Tabs.Headers],
-]);
+const issueTypeToNetworkHeaderMap =
+ new Map<IssuesManager.Issue.IssueCategory, NetworkForward.UIRequestLocation.UIRequestTabs>([
+ [
+ IssuesManager.Issue.IssueCategory.SameSiteCookie,
+ NetworkForward.UIRequestLocation.UIRequestTabs.Cookies,
+ ],
+ [
+ IssuesManager.Issue.IssueCategory.CrossOriginEmbedderPolicy,
+ NetworkForward.UIRequestLocation.UIRequestTabs.Headers,
+ ],
+ [
+ IssuesManager.Issue.IssueCategory.MixedContent,
+ NetworkForward.UIRequestLocation.UIRequestTabs.Headers,
+ ],
+ ]);
class AffectedMixedContentView extends AffectedResourcesView {
_issue: AggregatedIssue;
@@ -210,8 +220,8 @@
element.classList.add('affected-resource-mixed-content');
if (mixedContent.request) {
- const networkTab =
- issueTypeToNetworkHeaderMap.get(this._issue.getCategory()) || Network.NetworkItemView.Tabs.Headers;
+ const networkTab = issueTypeToNetworkHeaderMap.get(this._issue.getCategory()) ||
+ NetworkForward.UIRequestLocation.UIRequestTabs.Headers;
element.appendChild(this.createRequestCell(mixedContent.request, {
networkTab,
additionalOnClickAction() {
diff --git a/front_end/panels/network/NetworkDataGridNode.ts b/front_end/panels/network/NetworkDataGridNode.ts
index 1e9ffb7..2beb3f2 100644
--- a/front_end/panels/network/NetworkDataGridNode.ts
+++ b/front_end/panels/network/NetworkDataGridNode.ts
@@ -47,13 +47,12 @@
import * as Bindings from '../../models/bindings/bindings.js';
import * as Logs from '../../models/logs/logs.js';
import * as Workspace from '../../models/workspace/workspace.js';
+import * as NetworkForward from '../../panels/network/forward/forward.js';
import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
import * as Components from '../../ui/legacy/components/utils/utils.js';
import * as UI from '../../ui/legacy/legacy.js';
-import {Tabs as NetworkItemViewTabs} from './NetworkItemView.js';
-
import type {NetworkTimeCalculator} from './NetworkTimeCalculator.js'; // eslint-disable-line no-unused-vars
import {NetworkRequestId} from './NetworkRequestId.js';
@@ -1187,7 +1186,7 @@
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(this.parentView() as any).dispatchEventToListeners(Events.RequestActivated, {
showPanel: true,
- tab: NetworkItemViewTabs.Headers,
+ tab: NetworkForward.UIRequestLocation.UIRequestTabs.Headers,
});
});
} else {
diff --git a/front_end/panels/network/NetworkItemView.ts b/front_end/panels/network/NetworkItemView.ts
index e897dbf..be54a7f 100644
--- a/front_end/panels/network/NetworkItemView.ts
+++ b/front_end/panels/network/NetworkItemView.ts
@@ -33,7 +33,7 @@
import * as Common from '../../core/common/common.js';
import * as i18n from '../../core/i18n/i18n.js';
import * as SDK from '../../core/sdk/sdk.js';
-import type * as NetworkForward from '../../panels/network/forward/forward.js';
+import * as NetworkForward from '../../panels/network/forward/forward.js';
import * as UI from '../../ui/legacy/legacy.js';
import * as NetworkComponents from './components/components.js';
@@ -129,55 +129,66 @@
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
export class NetworkItemView extends UI.TabbedPane.TabbedPane {
_request: SDK.NetworkRequest.NetworkRequest;
- _resourceViewTabSetting: Common.Settings.Setting<Tabs>;
+ _resourceViewTabSetting: Common.Settings.Setting<NetworkForward.UIRequestLocation.UIRequestTabs>;
_headersView: RequestHeadersView;
_responseView: RequestResponseView|undefined;
_cookiesView: RequestCookiesView|null;
- _initialTab?: Tabs;
+ _initialTab?: NetworkForward.UIRequestLocation.UIRequestTabs;
- constructor(request: SDK.NetworkRequest.NetworkRequest, calculator: NetworkTimeCalculator, initialTab?: Tabs) {
+ constructor(
+ request: SDK.NetworkRequest.NetworkRequest, calculator: NetworkTimeCalculator,
+ initialTab?: NetworkForward.UIRequestLocation.UIRequestTabs) {
super();
this._request = request;
this.element.classList.add('network-item-view');
- this._resourceViewTabSetting = Common.Settings.Settings.instance().createSetting('resourceViewTab', Tabs.Preview);
+ this._resourceViewTabSetting = Common.Settings.Settings.instance().createSetting(
+ 'resourceViewTab', NetworkForward.UIRequestLocation.UIRequestTabs.Preview);
this._headersView = new RequestHeadersView(request);
this.appendTab(
- Tabs.Headers, i18nString(UIStrings.headers), this._headersView, i18nString(UIStrings.headersAndRequestBody));
+ NetworkForward.UIRequestLocation.UIRequestTabs.Headers, i18nString(UIStrings.headers), this._headersView,
+ i18nString(UIStrings.headersAndRequestBody));
this.addEventListener(UI.TabbedPane.Events.TabSelected, this._tabSelected, this);
if (request.resourceType() === Common.ResourceType.resourceTypes.WebSocket) {
const frameView = new ResourceWebSocketFrameView(request);
- this.appendTab(Tabs.WsFrames, i18nString(UIStrings.messages), frameView, i18nString(UIStrings.websocketMessages));
+ this.appendTab(
+ NetworkForward.UIRequestLocation.UIRequestTabs.WsFrames, i18nString(UIStrings.messages), frameView,
+ i18nString(UIStrings.websocketMessages));
} else if (request.mimeType === SDK.NetworkRequest.MIME_TYPE.EVENTSTREAM) {
- this.appendTab(Tabs.EventSource, i18nString(UIStrings.eventstream), new EventSourceMessagesView(request));
+ this.appendTab(
+ NetworkForward.UIRequestLocation.UIRequestTabs.EventSource, i18nString(UIStrings.eventstream),
+ new EventSourceMessagesView(request));
} else {
this._responseView = new RequestResponseView(request);
const previewView = new RequestPreviewView(request);
- this.appendTab(Tabs.Preview, i18nString(UIStrings.preview), previewView, i18nString(UIStrings.responsePreview));
+ this.appendTab(
+ NetworkForward.UIRequestLocation.UIRequestTabs.Preview, i18nString(UIStrings.preview), previewView,
+ i18nString(UIStrings.responsePreview));
const signedExchangeInfo = request.signedExchangeInfo();
if (signedExchangeInfo && signedExchangeInfo.errors && signedExchangeInfo.errors.length) {
const icon = UI.Icon.Icon.create('smallicon-error');
UI.Tooltip.Tooltip.install(icon, i18nString(UIStrings.signedexchangeError));
- this.setTabIcon(Tabs.Preview, icon);
+ this.setTabIcon(NetworkForward.UIRequestLocation.UIRequestTabs.Preview, icon);
}
this.appendTab(
- Tabs.Response, i18nString(UIStrings.response), this._responseView, i18nString(UIStrings.rawResponseData));
+ NetworkForward.UIRequestLocation.UIRequestTabs.Response, i18nString(UIStrings.response), this._responseView,
+ i18nString(UIStrings.rawResponseData));
}
this.appendTab(
- Tabs.Initiator, i18nString(UIStrings.initiator), new RequestInitiatorView(request),
- i18nString(UIStrings.requestInitiatorCallStack));
+ NetworkForward.UIRequestLocation.UIRequestTabs.Initiator, i18nString(UIStrings.initiator),
+ new RequestInitiatorView(request), i18nString(UIStrings.requestInitiatorCallStack));
this.appendTab(
- Tabs.Timing, i18nString(UIStrings.timing), new RequestTimingView(request, calculator),
- i18nString(UIStrings.requestAndResponseTimeline));
+ NetworkForward.UIRequestLocation.UIRequestTabs.Timing, i18nString(UIStrings.timing),
+ new RequestTimingView(request, calculator), i18nString(UIStrings.requestAndResponseTimeline));
if (request.trustTokenParams()) {
this.appendTab(
- Tabs.TrustTokens, i18nString(UIStrings.trustTokens),
+ NetworkForward.UIRequestLocation.UIRequestTabs.TrustTokens, i18nString(UIStrings.trustTokens),
new NetworkComponents.RequestTrustTokensView.RequestTrustTokensView(request),
i18nString(UIStrings.trustTokenOperationDetails));
}
@@ -225,7 +236,7 @@
if (cookiesPresent && !this._cookiesView) {
this._cookiesView = new RequestCookiesView(this._request);
this.appendTab(
- Tabs.Cookies, i18nString(UIStrings.cookies), this._cookiesView,
+ NetworkForward.UIRequestLocation.UIRequestTabs.Cookies, i18nString(UIStrings.cookies), this._cookiesView,
i18nString(UIStrings.requestAndResponseCookies));
}
}
@@ -234,7 +245,8 @@
const trustTokenResult = this._request.trustTokenOperationDoneEvent();
if (trustTokenResult &&
!NetworkComponents.RequestTrustTokensView.statusConsideredSuccess(trustTokenResult.status)) {
- this.setTabIcon(Tabs.TrustTokens, UI.Icon.Icon.create('smallicon-error'));
+ this.setTabIcon(
+ NetworkForward.UIRequestLocation.UIRequestTabs.TrustTokens, UI.Icon.Icon.create('smallicon-error'));
}
}
@@ -260,28 +272,14 @@
}
async revealResponseBody(line?: number): Promise<void> {
- this._selectTab(Tabs.Response);
+ this._selectTab(NetworkForward.UIRequestLocation.UIRequestTabs.Response);
if (this._responseView && typeof line === 'number') {
await this._responseView.revealLine((line as number));
}
}
revealHeader(section: NetworkForward.UIRequestLocation.UIHeaderSection, header: string|undefined): void {
- this._selectTab(Tabs.Headers);
+ this._selectTab(NetworkForward.UIRequestLocation.UIRequestTabs.Headers);
this._headersView.revealHeader(section, header);
}
}
-
-// TODO(crbug.com/1167717): Make this a const enum again
-// eslint-disable-next-line rulesdir/const_enum
-export enum Tabs {
- Cookies = 'cookies',
- EventSource = 'eventSource',
- Headers = 'headers',
- Initiator = 'initiator',
- Preview = 'preview',
- Response = 'response',
- Timing = 'timing',
- TrustTokens = 'trustTokens',
- WsFrames = 'webSocketFrames',
-}
diff --git a/front_end/panels/network/NetworkLogView.ts b/front_end/panels/network/NetworkLogView.ts
index 08bedb8..8458ea5 100644
--- a/front_end/panels/network/NetworkLogView.ts
+++ b/front_end/panels/network/NetworkLogView.ts
@@ -45,6 +45,7 @@
import * as IssuesManager from '../../models/issues_manager/issues_manager.js';
import * as Logs from '../../models/logs/logs.js';
import * as TextUtils from '../../models/text_utils/text_utils.js';
+import type * as NetworkForward from '../../panels/network/forward/forward.js';
import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
import * as Components from '../../ui/legacy/components/utils/utils.js';
@@ -55,7 +56,6 @@
import {Events, NetworkGroupNode, NetworkRequestNode} from './NetworkDataGridNode.js'; // eslint-disable-line no-unused-vars
import {NetworkFrameGrouper} from './NetworkFrameGrouper.js';
import {NetworkLogViewColumns} from './NetworkLogViewColumns.js';
-import type {FilterOptions} from './NetworkPanel.js'; // eslint-disable-line no-unused-vars
import type {NetworkTimeCalculator} from './NetworkTimeCalculator.js';
import {NetworkTimeBoundary, NetworkTransferDurationCalculator, NetworkTransferTimeCalculator} from './NetworkTimeCalculator.js'; // eslint-disable-line no-unused-vars
import type {NetworkRequestId} from './NetworkRequestId.js';
@@ -1813,7 +1813,8 @@
}
}
- selectRequest(request: SDK.NetworkRequest.NetworkRequest, options?: FilterOptions): void {
+ selectRequest(request: SDK.NetworkRequest.NetworkRequest, options?: NetworkForward.UIRequestLocation.FilterOptions):
+ void {
const defaultOptions = {clearFilter: true};
const {clearFilter} = options || defaultOptions;
if (clearFilter) {
diff --git a/front_end/panels/network/NetworkPanel.ts b/front_end/panels/network/NetworkPanel.ts
index c893a43..a85fbb3 100644
--- a/front_end/panels/network/NetworkPanel.ts
+++ b/front_end/panels/network/NetworkPanel.ts
@@ -51,7 +51,6 @@
import {BlockedURLsPane} from './BlockedURLsPane.js';
import {Events} from './NetworkDataGridNode.js';
-import type {Tabs as NetworkItemViewTabs} from './NetworkItemView.js';
import {NetworkItemView} from './NetworkItemView.js'; // eslint-disable-line no-unused-vars
import type {FilterType} from './NetworkLogView.js';
import {NetworkLogView} from './NetworkLogView.js'; // eslint-disable-line no-unused-vars
@@ -363,7 +362,8 @@
}
static async selectAndShowRequest(
- request: SDK.NetworkRequest.NetworkRequest, tab: NetworkItemViewTabs, options?: FilterOptions): Promise<void> {
+ request: SDK.NetworkRequest.NetworkRequest, tab: NetworkForward.UIRequestLocation.UIRequestTabs,
+ options?: NetworkForward.UIRequestLocation.FilterOptions): Promise<void> {
const panel = NetworkPanel._instance();
await panel.selectAndActivateRequest(request, tab, options);
}
@@ -632,8 +632,8 @@
}
async selectAndActivateRequest(
- request: SDK.NetworkRequest.NetworkRequest, shownTab?: NetworkItemViewTabs,
- options?: FilterOptions): Promise<NetworkItemView|null> {
+ request: SDK.NetworkRequest.NetworkRequest, shownTab?: NetworkForward.UIRequestLocation.UIRequestTabs,
+ options?: NetworkForward.UIRequestLocation.FilterOptions): Promise<NetworkItemView|null> {
await UI.ViewManager.ViewManager.instance().showView('network');
this._networkLogView.selectRequest(request, options);
this._showRequestPanel(shownTab);
@@ -662,7 +662,7 @@
}): void {
const eventData = (event.data as {
showPanel: boolean,
- tab: NetworkItemViewTabs,
+ tab: NetworkForward.UIRequestLocation.UIRequestTabs,
takeFocus: (boolean | undefined),
});
if (eventData.showPanel) {
@@ -672,7 +672,7 @@
}
}
- _showRequestPanel(shownTab?: NetworkItemViewTabs, takeFocus?: boolean): void {
+ _showRequestPanel(shownTab?: NetworkForward.UIRequestLocation.UIRequestTabs, takeFocus?: boolean): void {
if (this._splitWidget.showMode() === UI.SplitWidget.ShowMode.Both && !shownTab && !takeFocus) {
// If panel is already shown, and we are not forcing a specific tab, return.
return;
@@ -707,7 +707,7 @@
this._networkItemView = null;
}
}
- _createNetworkItemView(initialTab?: NetworkItemViewTabs): NetworkItemView|undefined {
+ _createNetworkItemView(initialTab?: NetworkForward.UIRequestLocation.UIRequestTabs): NetworkItemView|undefined {
if (!this._currentRequest) {
return;
}
@@ -1019,7 +1019,8 @@
async reveal(match: Object): Promise<void> {
const location = match as NetworkForward.UIRequestLocation.UIRequestLocation;
- const view = await NetworkPanel._instance().selectAndActivateRequest(location.request);
+ const view =
+ await NetworkPanel._instance().selectAndActivateRequest(location.request, location.tab, location.filterOptions);
if (!view) {
return;
}
@@ -1061,6 +1062,3 @@
return new NetworkSearchScope();
}
}
-export interface FilterOptions {
- clearFilter: boolean;
-}
diff --git a/front_end/panels/network/forward/UIRequestLocation.ts b/front_end/panels/network/forward/UIRequestLocation.ts
index 8d87ef9..9eacc51 100644
--- a/front_end/panels/network/forward/UIRequestLocation.ts
+++ b/front_end/panels/network/forward/UIRequestLocation.ts
@@ -18,41 +18,71 @@
header: SDK.NetworkRequest.NameValue|null;
}
+// TODO(crbug.com/1167717): Make this a const enum again
+// eslint-disable-next-line rulesdir/const_enum
+export enum UIRequestTabs {
+ Cookies = 'cookies',
+ EventSource = 'eventSource',
+ Headers = 'headers',
+ Initiator = 'initiator',
+ Preview = 'preview',
+ Response = 'response',
+ Timing = 'timing',
+ TrustTokens = 'trustTokens',
+ WsFrames = 'webSocketFrames',
+}
+
+export interface FilterOptions {
+ clearFilter: boolean;
+}
+
export class UIRequestLocation {
readonly request: SDK.NetworkRequest.NetworkRequest;
readonly header: UIHeaderLocation|null;
readonly searchMatch: TextUtils.ContentProvider.SearchMatch|null;
readonly isUrlMatch: boolean;
+ readonly tab: UIRequestTabs|undefined;
+ readonly filterOptions: FilterOptions|undefined;
private constructor(
request: SDK.NetworkRequest.NetworkRequest, header: UIHeaderLocation|null,
- searchMatch: TextUtils.ContentProvider.SearchMatch|null, urlMatch: boolean) {
+ searchMatch: TextUtils.ContentProvider.SearchMatch|null, urlMatch: boolean, tab: UIRequestTabs|undefined,
+ filterOptions: FilterOptions|undefined) {
this.request = request;
this.header = header;
this.searchMatch = searchMatch;
this.isUrlMatch = urlMatch;
+ this.tab = tab;
+ this.filterOptions = filterOptions;
}
static requestHeaderMatch(request: SDK.NetworkRequest.NetworkRequest, header: SDK.NetworkRequest.NameValue|null):
UIRequestLocation {
- return new UIRequestLocation(request, {section: UIHeaderSection.Request, header}, null, false);
+ return new UIRequestLocation(
+ request, {section: UIHeaderSection.Request, header}, null, false, undefined, undefined);
}
static responseHeaderMatch(request: SDK.NetworkRequest.NetworkRequest, header: SDK.NetworkRequest.NameValue|null):
UIRequestLocation {
- return new UIRequestLocation(request, {section: UIHeaderSection.Response, header}, null, false);
+ return new UIRequestLocation(
+ request, {section: UIHeaderSection.Response, header}, null, false, undefined, undefined);
}
static bodyMatch(request: SDK.NetworkRequest.NetworkRequest, searchMatch: TextUtils.ContentProvider.SearchMatch|null):
UIRequestLocation {
- return new UIRequestLocation(request, null, searchMatch, false);
+ return new UIRequestLocation(request, null, searchMatch, false, undefined, undefined);
}
static urlMatch(request: SDK.NetworkRequest.NetworkRequest): UIRequestLocation {
- return new UIRequestLocation(request, null, null, true);
+ return new UIRequestLocation(request, null, null, true, undefined, undefined);
}
static header(request: SDK.NetworkRequest.NetworkRequest, section: UIHeaderSection, name: string): UIRequestLocation {
- return new UIRequestLocation(request, {section, header: {name, value: ''}}, null, true);
+ return new UIRequestLocation(request, {section, header: {name, value: ''}}, null, false, undefined, undefined);
+ }
+
+ static tab(request: SDK.NetworkRequest.NetworkRequest, tab: UIRequestTabs, filterOptions?: FilterOptions):
+ UIRequestLocation {
+ return new UIRequestLocation(request, null, null, false, tab, filterOptions);
}
}