mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-07 04:26:32 +08:00
This reverts commit b017d9f3b4.
Reason for revert: causing upstream autoroller failures: https://chromium-review.googlesource.com/c/chromium/src/+/3222419/
Original change's description:
> Migrate to private class fields in panels/network
>
> R=szuend@chromium.org
>
> Bug: 1222126
> Change-Id: I511bcc470a5c597181247e798ec5eb165bb5c50e
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3219233
> Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
> Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
> Reviewed-by: Simon Zünd <szuend@chromium.org>
Bug: 1222126
Change-Id: I16027b1251fed30df188edafcd155f5b4eaadcf0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3222659
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
65 lines
2.3 KiB
TypeScript
65 lines
2.3 KiB
TypeScript
// Copyright 2017 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import * as Common from '../../core/common/common.js';
|
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
import type * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
|
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
|
|
import {NetworkGroupNode} from './NetworkDataGridNode.js';
|
|
import type {GroupLookupInterface, NetworkLogView} from './NetworkLogView.js';
|
|
|
|
export class NetworkFrameGrouper implements GroupLookupInterface {
|
|
private parentView: NetworkLogView;
|
|
private readonly activeGroups: Map<SDK.ResourceTreeModel.ResourceTreeFrame, FrameGroupNode>;
|
|
|
|
constructor(parentView: NetworkLogView) {
|
|
this.parentView = parentView;
|
|
this.activeGroups = new Map();
|
|
}
|
|
|
|
groupNodeForRequest(request: SDK.NetworkRequest.NetworkRequest): NetworkGroupNode|null {
|
|
const frame = SDK.ResourceTreeModel.ResourceTreeModel.frameForRequest(request);
|
|
if (!frame || frame.isTopFrame()) {
|
|
return null;
|
|
}
|
|
let groupNode = this.activeGroups.get(frame);
|
|
if (groupNode) {
|
|
return groupNode;
|
|
}
|
|
groupNode = new FrameGroupNode(this.parentView, frame);
|
|
this.activeGroups.set(frame, groupNode);
|
|
return groupNode;
|
|
}
|
|
|
|
reset(): void {
|
|
this.activeGroups.clear();
|
|
}
|
|
}
|
|
|
|
export class FrameGroupNode extends NetworkGroupNode {
|
|
private readonly frame: SDK.ResourceTreeModel.ResourceTreeFrame;
|
|
|
|
constructor(parentView: NetworkLogView, frame: SDK.ResourceTreeModel.ResourceTreeFrame) {
|
|
super(parentView);
|
|
this.frame = frame;
|
|
}
|
|
|
|
displayName(): string {
|
|
return new Common.ParsedURL.ParsedURL(this.frame.url).domain() || this.frame.name || '<iframe>';
|
|
}
|
|
|
|
renderCell(cell: HTMLElement, columnId: string): void {
|
|
super.renderCell(cell, columnId);
|
|
const columnIndex = (this.dataGrid as DataGrid.DataGrid.DataGridImpl<unknown>).indexOfVisibleColumn(columnId);
|
|
if (columnIndex === 0) {
|
|
const name = this.displayName();
|
|
cell.appendChild(UI.Icon.Icon.create('largeicon-navigator-frame', 'network-frame-group-icon'));
|
|
UI.UIUtils.createTextChild(cell, name);
|
|
UI.Tooltip.Tooltip.install(cell, name);
|
|
this.setCellAccessibleName(cell.textContent || '', cell, columnId);
|
|
}
|
|
}
|
|
}
|