chrome-devtools-frontend 1.0.1153166 → 1.0.1155899
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/gni/devtools_grd_files.gni +3 -2
- package/front_end/core/common/Revealer.ts +1 -1
- package/front_end/core/host/InspectorFrontendHostAPI.ts +2 -0
- package/front_end/core/host/UserMetrics.ts +32 -12
- package/front_end/core/platform/array-utilities.ts +25 -9
- package/front_end/core/sdk/ChildTargetManager.ts +2 -1
- package/front_end/core/sdk/FilmStripModel.ts +35 -25
- package/front_end/devtools_compatibility.js +2 -0
- package/front_end/entrypoints/lighthouse_worker/LighthouseWorkerService.ts +8 -2
- package/front_end/entrypoints/worker_app/worker_app.ts +0 -1
- package/front_end/generated/InspectorBackendCommands.js +2 -1
- package/front_end/generated/protocol.ts +36 -0
- package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +90 -73
- package/front_end/models/issues_manager/IssuesManager.ts +5 -0
- package/front_end/models/issues_manager/SourceFrameIssuesManager.ts +31 -61
- package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +69 -0
- package/front_end/models/issues_manager/descriptions/stylesheetLateImport.md +4 -0
- package/front_end/models/issues_manager/descriptions/stylesheetRequestFailed.md +3 -0
- package/front_end/models/issues_manager/issues_manager.ts +2 -0
- package/front_end/models/timeline_model/TimelineModel.ts +4 -0
- package/front_end/models/trace/ModelImpl.ts +1 -0
- package/front_end/models/trace/README.md +73 -17
- package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +1 -1
- package/front_end/models/trace/handlers/RendererHandler.ts +33 -143
- package/front_end/models/trace/handlers/UserTimings.md +1 -1
- package/front_end/models/trace/types/TraceEvents.ts +3 -2
- package/front_end/panels/application/ApplicationPanelSidebar.ts +9 -6
- package/front_end/panels/application/PreloadingTreeElement.ts +25 -7
- package/front_end/panels/application/preloading/PreloadingView.ts +64 -31
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +19 -9
- package/front_end/panels/console/ConsoleViewMessage.ts +14 -2
- package/front_end/panels/elements/ElementsPanel.ts +2 -3
- package/front_end/panels/elements/components/LayoutPane.ts +256 -60
- package/front_end/panels/elements/elements-legacy.ts +0 -3
- package/front_end/panels/elements/elements-meta.ts +10 -2
- package/front_end/panels/elements/elements.ts +0 -2
- package/front_end/panels/network/NetworkDataGridNode.ts +8 -0
- package/front_end/panels/network/NetworkLogView.ts +2 -1
- package/front_end/panels/network/NetworkPanel.ts +12 -1
- package/front_end/panels/recorder/components/ExtensionView.ts +1 -1
- package/front_end/panels/sources/DebuggerPlugin.ts +7 -4
- package/front_end/panels/sources/SourcesPanel.ts +1 -1
- package/front_end/panels/sources/components/BreakpointsView.ts +406 -89
- package/front_end/panels/sources/sources-meta.ts +13 -4
- package/front_end/panels/sources/sources.ts +0 -2
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +1 -1
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +106 -95
- package/front_end/panels/timeline/TimelineFlameChartView.ts +1 -1
- package/front_end/panels/timeline/TimelinePaintProfilerView.ts +5 -0
- package/front_end/panels/timeline/TimelinePanel.ts +8 -8
- package/front_end/ui/legacy/UIUtils.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/.eslintrc.js +18 -0
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +5 -1
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +5 -2
- package/front_end/ui/legacy/components/utils/Linkifier.ts +10 -0
- package/package.json +1 -1
- package/scripts/build/generate_deprecations.py +3 -0
- package/front_end/panels/elements/LayoutSidebarPane.ts +0 -249
- package/front_end/panels/sources/BreakpointsSidebarPane.ts +0 -480
- package/front_end/ui/components/docs/layout_pane/basic.html +0 -25
- package/front_end/ui/components/docs/layout_pane/basic.ts +0 -78
@@ -8,6 +8,7 @@ import * as SDK from '../../core/sdk/sdk.js';
|
|
8
8
|
import * as UI from '../../ui/legacy/legacy.js';
|
9
9
|
|
10
10
|
import type * as Elements from './elements.js';
|
11
|
+
import type * as ElementsComponents from './components/components.js';
|
11
12
|
|
12
13
|
import * as i18n from '../../core/i18n/i18n.js';
|
13
14
|
const UIStrings = {
|
@@ -153,6 +154,7 @@ const UIStrings = {
|
|
153
154
|
const str_ = i18n.i18n.registerUIStrings('panels/elements/elements-meta.ts', UIStrings);
|
154
155
|
const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
|
155
156
|
let loadedElementsModule: (typeof Elements|undefined);
|
157
|
+
let loadedElementsComponentsModule: (typeof ElementsComponents|undefined);
|
156
158
|
|
157
159
|
async function loadElementsModule(): Promise<typeof Elements> {
|
158
160
|
if (!loadedElementsModule) {
|
@@ -160,6 +162,12 @@ async function loadElementsModule(): Promise<typeof Elements> {
|
|
160
162
|
}
|
161
163
|
return loadedElementsModule;
|
162
164
|
}
|
165
|
+
async function loadElementsComponentsModule(): Promise<typeof ElementsComponents> {
|
166
|
+
if (!loadedElementsComponentsModule) {
|
167
|
+
loadedElementsComponentsModule = await import('./components/components.js');
|
168
|
+
}
|
169
|
+
return loadedElementsComponentsModule;
|
170
|
+
}
|
163
171
|
function maybeRetrieveContextTypes<T = unknown>(getClassCallBack: (elementsModule: typeof Elements) => T[]): T[] {
|
164
172
|
if (loadedElementsModule === undefined) {
|
165
173
|
return [];
|
@@ -250,8 +258,8 @@ UI.ViewManager.registerViewExtension({
|
|
250
258
|
order: 4,
|
251
259
|
persistence: UI.ViewManager.ViewPersistence.PERMANENT,
|
252
260
|
async loadView() {
|
253
|
-
const
|
254
|
-
return
|
261
|
+
const ElementsComponents = await loadElementsComponentsModule();
|
262
|
+
return ElementsComponents.LayoutPane.LayoutPane.instance().wrapper as UI.Widget.Widget;
|
255
263
|
},
|
256
264
|
});
|
257
265
|
|
@@ -49,7 +49,6 @@ import * as ElementsTreeOutline from './ElementsTreeOutline.js';
|
|
49
49
|
import * as EventListenersWidget from './EventListenersWidget.js';
|
50
50
|
import * as InspectElementModeController from './InspectElementModeController.js';
|
51
51
|
import * as LayersWidget from './LayersWidget.js';
|
52
|
-
import * as LayoutSidebarPane from './LayoutSidebarPane.js';
|
53
52
|
import * as MarkerDecorator from './MarkerDecorator.js';
|
54
53
|
import * as MetricsSidebarPane from './MetricsSidebarPane.js';
|
55
54
|
import * as NodeStackTraceWidget from './NodeStackTraceWidget.js';
|
@@ -83,7 +82,6 @@ export {
|
|
83
82
|
EventListenersWidget,
|
84
83
|
InspectElementModeController,
|
85
84
|
LayersWidget,
|
86
|
-
LayoutSidebarPane,
|
87
85
|
MarkerDecorator,
|
88
86
|
MetricsSidebarPane,
|
89
87
|
NodeStackTraceWidget,
|
@@ -1284,6 +1284,13 @@ export class NetworkRequestNode extends NetworkNode {
|
|
1284
1284
|
}
|
1285
1285
|
}
|
1286
1286
|
|
1287
|
+
#getLinkifierMetric(): Host.UserMetrics.Action|undefined {
|
1288
|
+
if (this.requestInternal.resourceType().isStyleSheet()) {
|
1289
|
+
return Host.UserMetrics.Action.StyleSheetInitiatorLinkClicked;
|
1290
|
+
}
|
1291
|
+
return undefined;
|
1292
|
+
}
|
1293
|
+
|
1287
1294
|
private renderInitiatorCell(cell: HTMLElement): void {
|
1288
1295
|
this.initiatorCell = cell;
|
1289
1296
|
const request = this.requestInternal;
|
@@ -1301,6 +1308,7 @@ export class NetworkRequestNode extends NetworkNode {
|
|
1301
1308
|
text: uiSourceCode ? uiSourceCode.displayName() : undefined,
|
1302
1309
|
lineNumber: initiator.lineNumber,
|
1303
1310
|
columnNumber: initiator.columnNumber,
|
1311
|
+
userMetric: this.#getLinkifierMetric(),
|
1304
1312
|
} as Components.Linkifier.LinkifyURLOptions)));
|
1305
1313
|
this.appendSubtitle(cell, i18nString(UIStrings.parser));
|
1306
1314
|
break;
|
@@ -1452,7 +1452,8 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
1452
1452
|
|
1453
1453
|
private onRequestUpdated(event: Common.EventTarget.EventTargetEvent<SDK.NetworkRequest.NetworkRequest>): void {
|
1454
1454
|
const request = event.data;
|
1455
|
-
|
1455
|
+
const networkManager = SDK.NetworkManager.NetworkManager.forRequest(request);
|
1456
|
+
if (!networkManager || SDK.TargetManager.TargetManager.instance().isInScope(networkManager)) {
|
1456
1457
|
this.refreshRequest(request);
|
1457
1458
|
}
|
1458
1459
|
}
|
@@ -371,7 +371,15 @@ export class NetworkPanel extends UI.Panel.Panel implements UI.ContextMenu.Provi
|
|
371
371
|
void {
|
372
372
|
const startTime = Math.max(this.calculator.minimumBoundary(), event.data.startTime / 1000);
|
373
373
|
const endTime = Math.min(this.calculator.maximumBoundary(), event.data.endTime / 1000);
|
374
|
-
this.
|
374
|
+
if (startTime === this.calculator.minimumBoundary() && endTime === this.calculator.maximumBoundary()) {
|
375
|
+
// Reset the filters for NetworkLogView when the window is reset
|
376
|
+
// to its boundaries. This clears the filters and allows the users
|
377
|
+
// to see the incoming requests after they have updated the curtains
|
378
|
+
// to be in the edges. (ex: by double clicking on the overview grid)
|
379
|
+
this.networkLogView.setWindow(0, 0);
|
380
|
+
} else {
|
381
|
+
this.networkLogView.setWindow(startTime, endTime);
|
382
|
+
}
|
375
383
|
}
|
376
384
|
|
377
385
|
private async searchToggleClick(): Promise<void> {
|
@@ -531,6 +539,9 @@ export class NetworkPanel extends UI.Panel.Panel implements UI.ContextMenu.Provi
|
|
531
539
|
|
532
540
|
private load(): void {
|
533
541
|
if (this.filmStripRecorder && this.filmStripRecorder.isRecording()) {
|
542
|
+
if (this.pendingStopTimer) {
|
543
|
+
window.clearTimeout(this.pendingStopTimer);
|
544
|
+
}
|
534
545
|
this.pendingStopTimer = window.setTimeout(this.stopFilmStripRecording.bind(this), this.displayScreenshotDelay);
|
535
546
|
}
|
536
547
|
}
|
@@ -44,12 +44,12 @@ import type * as TextEditor from '../../ui/components/text_editor/text_editor.js
|
|
44
44
|
import * as ObjectUI from '../../ui/legacy/components/object_ui/object_ui.js';
|
45
45
|
import * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
|
46
46
|
import * as UI from '../../ui/legacy/legacy.js';
|
47
|
+
import * as SourceComponents from './components/components.js';
|
47
48
|
|
48
49
|
import {AddDebugInfoURLDialog} from './AddSourceMapURLDialog.js';
|
49
50
|
import {BreakpointEditDialog, type BreakpointEditDialogResult} from './BreakpointEditDialog.js';
|
50
51
|
import {Plugin} from './Plugin.js';
|
51
52
|
import {SourcesPanel} from './SourcesPanel.js';
|
52
|
-
import {BreakpointsSidebarController} from './BreakpointsSidebarPane.js';
|
53
53
|
|
54
54
|
const {EMPTY_BREAKPOINT_CONDITION, NEVER_PAUSE_HERE_CONDITION} = Breakpoints.BreakpointManager;
|
55
55
|
|
@@ -837,10 +837,12 @@ export class DebuggerPlugin extends Plugin {
|
|
837
837
|
dialog.detach();
|
838
838
|
editor.dispatch({effects: compartment.reconfigure([])});
|
839
839
|
if (!result.committed) {
|
840
|
-
BreakpointsSidebarController.instance().breakpointEditFinished(
|
840
|
+
SourceComponents.BreakpointsView.BreakpointsSidebarController.instance().breakpointEditFinished(
|
841
|
+
breakpoint, false);
|
841
842
|
return;
|
842
843
|
}
|
843
|
-
BreakpointsSidebarController.instance().breakpointEditFinished(
|
844
|
+
SourceComponents.BreakpointsView.BreakpointsSidebarController.instance().breakpointEditFinished(
|
845
|
+
breakpoint, oldCondition !== result.condition);
|
844
846
|
recordBreakpointWithConditionAdded(result);
|
845
847
|
if (breakpoint) {
|
846
848
|
breakpoint.setCondition(result.condition, result.isLogpoint);
|
@@ -1672,7 +1674,8 @@ export class BreakpointLocationRevealer implements Common.Revealer.Revealer {
|
|
1672
1674
|
if (debuggerPlugin) {
|
1673
1675
|
debuggerPlugin.editBreakpointLocation(breakpointLocation);
|
1674
1676
|
} else {
|
1675
|
-
BreakpointsSidebarController.instance().breakpointEditFinished(
|
1677
|
+
SourceComponents.BreakpointsView.BreakpointsSidebarController.instance().breakpointEditFinished(
|
1678
|
+
breakpointLocation.breakpoint, false);
|
1676
1679
|
}
|
1677
1680
|
}
|
1678
1681
|
}
|
@@ -261,7 +261,7 @@ export class SourcesPanel extends UI.Panel.Panel implements UI.ContextMenu.Provi
|
|
261
261
|
tabbedPane.addEventListener(
|
262
262
|
UI.TabbedPane.Events.TabSelected,
|
263
263
|
({data: {tabId}}: Common.EventTarget.EventTargetEvent<UI.TabbedPane.EventData>): void =>
|
264
|
-
Host.userMetrics.
|
264
|
+
Host.userMetrics.sourcesSidebarTabShown(tabId));
|
265
265
|
|
266
266
|
if (UI.ViewManager.ViewManager.instance().hasViewsForLocation('run-view-sidebar')) {
|
267
267
|
const navigatorSplitWidget =
|