chrome-devtools-frontend 1.0.1534717 → 1.0.1536371
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/docs/contributing/images/issues-nearestslo.png +0 -0
- package/docs/contributing/issues.md +32 -58
- package/eslint.config.mjs +1 -0
- package/front_end/core/common/Console.ts +1 -8
- package/front_end/core/common/ParsedURL.ts +10 -20
- package/front_end/core/common/SegmentedRange.ts +1 -2
- package/front_end/core/common/StringOutputStream.ts +1 -4
- package/front_end/core/host/InspectorFrontendHost.ts +6 -0
- package/front_end/core/host/UserMetrics.ts +5 -1
- package/front_end/core/i18n/i18nImpl.ts +0 -24
- package/front_end/core/protocol_client/CDPConnection.ts +53 -5
- package/front_end/core/protocol_client/protocol_client.ts +2 -0
- package/front_end/core/sdk/AnimationModel.ts +1 -2
- package/front_end/core/sdk/CSSMatchedStyles.ts +2 -2
- package/front_end/core/sdk/CSSModel.ts +1 -1
- package/front_end/core/sdk/CSSProperty.ts +3 -6
- package/front_end/core/sdk/CSSStyleDeclaration.ts +4 -4
- package/front_end/core/sdk/DebuggerModel.ts +1 -2
- package/front_end/core/sdk/EnhancedTracesParser.ts +4 -0
- package/front_end/core/sdk/SourceMap.ts +2 -3
- package/front_end/devtools_compatibility.js +32 -24
- package/front_end/entrypoints/node_app/NodeConnectionsPanel.ts +2 -1
- package/front_end/generated/InspectorBackendCommands.js +1 -2
- package/front_end/generated/SupportedCSSProperties.js +57 -0
- package/front_end/generated/protocol.ts +0 -27
- package/front_end/panels/accessibility/AccessibilityNodeView.ts +18 -17
- package/front_end/panels/accessibility/AccessibilitySidebarView.ts +9 -12
- package/front_end/panels/ai_assistance/PatchWidget.ts +39 -40
- package/front_end/panels/ai_assistance/components/ChatView.ts +5 -4
- package/front_end/panels/ai_assistance/components/ExploreWidget.ts +0 -2
- package/front_end/panels/application/AppManifestView.ts +7 -6
- package/front_end/panels/application/ApplicationPanelSidebar.ts +4 -4
- package/front_end/panels/application/OpenedWindowDetailsView.ts +6 -6
- package/front_end/panels/application/StorageView.ts +9 -8
- package/front_end/panels/application/components/BackForwardCacheView.ts +333 -314
- package/front_end/panels/application/components/ProtocolHandlersView.ts +3 -2
- package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +2 -1
- package/front_end/panels/autofill/AutofillView.ts +2 -3
- package/front_end/panels/browser_debugger/ObjectEventListenersSidebarPane.ts +8 -8
- package/front_end/panels/changes/CombinedDiffView.ts +13 -14
- package/front_end/panels/common/BadgeNotification.ts +2 -1
- package/front_end/panels/common/GdpSignUpDialog.ts +2 -1
- package/front_end/panels/console/ConsoleInsightTeaser.ts +13 -2
- package/front_end/panels/console/ConsolePinPane.ts +12 -7
- package/front_end/panels/console/ConsoleView.ts +1 -0
- package/front_end/panels/console/consoleView.css +0 -1
- package/front_end/panels/developer_resources/DeveloperResourcesView.ts +9 -9
- package/front_end/panels/elements/ComputedStyleWidget.ts +7 -7
- package/front_end/panels/elements/ElementsTreeOutline.ts +1 -1
- package/front_end/panels/elements/EventListenersWidget.ts +9 -9
- package/front_end/panels/elements/NodeStackTraceWidget.ts +6 -6
- package/front_end/panels/elements/PlatformFontsWidget.ts +5 -5
- package/front_end/panels/elements/PropertiesWidget.ts +8 -8
- package/front_end/panels/layer_viewer/Layers3DView.ts +2 -1
- package/front_end/panels/layer_viewer/PaintProfilerView.ts +3 -3
- package/front_end/panels/network/RequestCookiesView.ts +2 -1
- package/front_end/panels/network/RequestTimingView.ts +2 -1
- package/front_end/panels/network/components/DirectSocketConnectionView.ts +4 -6
- package/front_end/panels/recorder/RecorderController.ts +34 -23
- package/front_end/panels/recorder/components/CreateRecordingView.ts +249 -240
- package/front_end/panels/security/CookieControlsView.ts +74 -67
- package/front_end/panels/security/CookieReportView.ts +18 -16
- package/front_end/panels/security/IPProtectionView.ts +1 -2
- package/front_end/panels/security/SecurityPanel.ts +19 -19
- package/front_end/panels/settings/AISettingsTab.ts +2 -1
- package/front_end/panels/settings/KeybindsSettingsTab.ts +6 -0
- package/front_end/panels/settings/components/SyncSection.ts +2 -1
- package/front_end/panels/sources/DebuggerPausedMessage.ts +4 -3
- package/front_end/panels/sources/ResourceOriginPlugin.ts +3 -2
- package/front_end/panels/sources/SourcesNavigator.ts +2 -1
- package/front_end/panels/sources/TabbedEditorContainer.ts +3 -2
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +9 -9
- package/front_end/panels/timeline/TimelineSelectorStatsView.ts +36 -36
- package/front_end/panels/timeline/TimelineUIUtils.ts +3 -2
- package/front_end/panels/timeline/components/DetailsView.ts +5 -4
- package/front_end/panels/timeline/components/FieldSettingsDialog.ts +2 -1
- package/front_end/panels/timeline/components/LiveMetricsView.ts +5 -4
- package/front_end/panels/timeline/components/MetricCompareStrings.ts +25 -24
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +1 -2
- package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +2 -1
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/components/docs/tooltip/basic.ts +1 -1
- package/front_end/ui/components/tooltips/Tooltip.ts +32 -17
- package/front_end/ui/i18n/i18n.ts +31 -0
- package/front_end/ui/legacy/SoftDropDown.ts +1 -12
- package/front_end/ui/legacy/ViewManager.ts +2 -4
- package/front_end/ui/legacy/Widget.ts +33 -17
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +2 -1
- package/front_end/ui/legacy/legacy.ts +0 -2
- package/front_end/ui/visual_logging/KnownContextValues.ts +5 -0
- package/mcp/mcp.ts +1 -0
- package/package.json +1 -1
- package/front_end/ui/components/docs/recorder_create_recording_view/basic.html +0 -20
- package/front_end/ui/components/docs/recorder_create_recording_view/basic.ts +0 -27
- package/front_end/ui/legacy/ThrottledWidget.ts +0 -48
|
@@ -397,7 +397,7 @@ export interface EventTypes {
|
|
|
397
397
|
[Events.WINDOW_CHANGED]: void;
|
|
398
398
|
}
|
|
399
399
|
|
|
400
|
-
export class PaintProfilerCommandLogView extends UI.
|
|
400
|
+
export class PaintProfilerCommandLogView extends UI.Widget.VBox {
|
|
401
401
|
private readonly treeOutline: UI.TreeOutline.TreeOutlineInShadow;
|
|
402
402
|
private log: SDK.PaintProfiler.PaintProfilerLogItem[];
|
|
403
403
|
private readonly treeItemCache: Map<SDK.PaintProfiler.PaintProfilerLogItem, LogTreeElement>;
|
|
@@ -435,10 +435,10 @@ export class PaintProfilerCommandLogView extends UI.ThrottledWidget.ThrottledWid
|
|
|
435
435
|
|
|
436
436
|
updateWindow(selectionWindow: {left: number, right: number}|null): void {
|
|
437
437
|
this.selectionWindow = selectionWindow;
|
|
438
|
-
this.
|
|
438
|
+
this.requestUpdate();
|
|
439
439
|
}
|
|
440
440
|
|
|
441
|
-
override
|
|
441
|
+
override performUpdate(): Promise<void> {
|
|
442
442
|
if (!this.selectionWindow || !this.log.length) {
|
|
443
443
|
this.treeOutline.removeChildren();
|
|
444
444
|
return Promise.resolve();
|
|
@@ -8,6 +8,7 @@ import * as i18n from '../../core/i18n/i18n.js';
|
|
|
8
8
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
9
9
|
import * as Protocol from '../../generated/protocol.js';
|
|
10
10
|
import * as IconButton from '../../ui/components/icon_button/icon_button.js';
|
|
11
|
+
import * as uiI18n from '../../ui/i18n/i18n.js';
|
|
11
12
|
import * as CookieTable from '../../ui/legacy/components/cookie_table/cookie_table.js';
|
|
12
13
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
13
14
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
@@ -120,7 +121,7 @@ export class RequestCookiesView extends UI.Widget.Widget {
|
|
|
120
121
|
this.siteHasCookieInOtherPartition =
|
|
121
122
|
this.element.createChild('div', 'cookies-panel-item site-has-cookies-in-other-partition');
|
|
122
123
|
this.siteHasCookieInOtherPartition.appendChild(
|
|
123
|
-
|
|
124
|
+
uiI18n.getFormatLocalizedString(str_, UIStrings.siteHasCookieInOtherPartition, {
|
|
124
125
|
PH1: UI.XLink.XLink.create(
|
|
125
126
|
'https://developer.chrome.com/en/docs/privacy-sandbox/chips/', i18nString(UIStrings.learnMore), undefined,
|
|
126
127
|
undefined, 'learn-more'),
|
|
@@ -11,6 +11,7 @@ import * as SDK from '../../core/sdk/sdk.js';
|
|
|
11
11
|
import * as Protocol from '../../generated/protocol.js';
|
|
12
12
|
import * as Logs from '../../models/logs/logs.js';
|
|
13
13
|
import * as NetworkTimeCalculator from '../../models/network_time_calculator/network_time_calculator.js';
|
|
14
|
+
import * as uiI18n from '../../ui/i18n/i18n.js';
|
|
14
15
|
import * as ObjectUI from '../../ui/legacy/components/object_ui/object_ui.js';
|
|
15
16
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
16
17
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
@@ -412,7 +413,7 @@ export class RequestTimingView extends UI.Widget.VBox {
|
|
|
412
413
|
'https://web.dev/custom-metrics/#server-timing-api', i18nString(UIStrings.theServerTimingApi), undefined,
|
|
413
414
|
undefined, 'server-timing-api');
|
|
414
415
|
information.appendChild(
|
|
415
|
-
|
|
416
|
+
uiI18n.getFormatLocalizedString(str_, UIStrings.duringDevelopmentYouCanUseSToAdd, {PH1: link}));
|
|
416
417
|
|
|
417
418
|
return tableElement;
|
|
418
419
|
}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
/* eslint-disable @devtools/no-lit-render-outside-of-view */
|
|
6
|
-
|
|
7
5
|
import * as Common from '../../../core/common/common.js';
|
|
8
6
|
import * as Host from '../../../core/host/host.js';
|
|
9
7
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
@@ -112,9 +110,9 @@ export interface ViewInput {
|
|
|
112
110
|
onCopyRow: () => void;
|
|
113
111
|
}
|
|
114
112
|
|
|
115
|
-
export type View = (input: ViewInput, target: HTMLElement) => void;
|
|
113
|
+
export type View = (input: ViewInput, output: undefined, target: HTMLElement) => void;
|
|
116
114
|
|
|
117
|
-
export const DEFAULT_VIEW: View = (input, target) => {
|
|
115
|
+
export const DEFAULT_VIEW: View = (input, _output, target) => {
|
|
118
116
|
function isCategoryOpen(name: string): boolean {
|
|
119
117
|
return input.openCategories.includes(name);
|
|
120
118
|
}
|
|
@@ -203,7 +201,7 @@ export const DEFAULT_VIEW: View = (input, target) => {
|
|
|
203
201
|
${renderCategory(CATEGORY_NAME_GENERAL, i18nString(UIStrings.general), generalContent)}
|
|
204
202
|
${renderCategory(CATEGORY_NAME_OPTIONS, i18nString(UIStrings.options), optionsContent)}
|
|
205
203
|
${socketInfo.openInfo ? renderCategory(CATEGORY_NAME_OPEN_INFO, i18nString(UIStrings.openInfo), openInfoContent) : Lit.nothing}
|
|
206
|
-
`, target
|
|
204
|
+
`, target);
|
|
207
205
|
// clang-format on
|
|
208
206
|
};
|
|
209
207
|
|
|
@@ -278,7 +276,7 @@ export class DirectSocketConnectionView extends UI.Widget.Widget {
|
|
|
278
276
|
Host.userMetrics.actionTaken(Host.UserMetrics.Action.NetworkPanelCopyValue);
|
|
279
277
|
}
|
|
280
278
|
};
|
|
281
|
-
this.#view(viewInput, this.contentElement);
|
|
279
|
+
this.#view(viewInput, undefined, this.contentElement);
|
|
282
280
|
}
|
|
283
281
|
|
|
284
282
|
#setIsOpen(categoryName: string, open: boolean): void {
|
|
@@ -233,6 +233,7 @@ export class RecorderController extends LitElement {
|
|
|
233
233
|
'disable-self-xss-warning', false, Common.Settings.SettingStorageType.SYNCED);
|
|
234
234
|
|
|
235
235
|
#recordingView?: Components.RecordingView.RecordingView;
|
|
236
|
+
#createRecordingView?: Components.CreateRecordingView.CreateRecordingView;
|
|
236
237
|
|
|
237
238
|
constructor() {
|
|
238
239
|
super();
|
|
@@ -804,7 +805,9 @@ export class RecorderController extends LitElement {
|
|
|
804
805
|
this.#clearError();
|
|
805
806
|
}
|
|
806
807
|
|
|
807
|
-
async #onRecordingStarted(
|
|
808
|
+
async #onRecordingStarted(
|
|
809
|
+
data: {name: string, selectorTypesToRecord: Models.Schema.SelectorType[], selectorAttribute?: string}):
|
|
810
|
+
Promise<void> {
|
|
808
811
|
// Recording is not available in device mode.
|
|
809
812
|
await this.#disableDeviceModeIfEnabled();
|
|
810
813
|
|
|
@@ -815,10 +818,10 @@ export class RecorderController extends LitElement {
|
|
|
815
818
|
// -- Recording logic starts here --
|
|
816
819
|
Host.userMetrics.recordingToggled(Host.UserMetrics.RecordingToggled.RECORDING_STARTED);
|
|
817
820
|
this.currentRecordingSession = new Models.RecordingSession.RecordingSession(this.#getMainTarget(), {
|
|
818
|
-
title:
|
|
819
|
-
selectorAttribute:
|
|
820
|
-
selectorTypesToRecord:
|
|
821
|
-
|
|
821
|
+
title: data.name,
|
|
822
|
+
selectorAttribute: data.selectorAttribute,
|
|
823
|
+
selectorTypesToRecord: data.selectorTypesToRecord.length ? data.selectorTypesToRecord :
|
|
824
|
+
Object.values(Models.Schema.SelectorType),
|
|
822
825
|
});
|
|
823
826
|
this.#setCurrentRecording(await this.#storage.saveRecording(this.currentRecordingSession.cloneUserFlow()));
|
|
824
827
|
|
|
@@ -901,7 +904,7 @@ export class RecorderController extends LitElement {
|
|
|
901
904
|
this.dispatchEvent(new Events.RecordingStateChangedEvent(this.currentRecording.flow));
|
|
902
905
|
}
|
|
903
906
|
|
|
904
|
-
async
|
|
907
|
+
async onRecordingCancelled(): Promise<void> {
|
|
905
908
|
if (this.previousPage) {
|
|
906
909
|
this.#setCurrentPage(this.previousPage);
|
|
907
910
|
}
|
|
@@ -1060,15 +1063,17 @@ export class RecorderController extends LitElement {
|
|
|
1060
1063
|
|
|
1061
1064
|
case Actions.RecorderActions.START_RECORDING:
|
|
1062
1065
|
if (this.currentPage !== Pages.CREATE_RECORDING_PAGE && !this.isRecording) {
|
|
1063
|
-
this.#shortcutHelper.handleShortcut(this.#onRecordingStarted.bind(
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1066
|
+
this.#shortcutHelper.handleShortcut(this.#onRecordingStarted.bind(this, {
|
|
1067
|
+
name: this.#recorderSettings.defaultTitle,
|
|
1068
|
+
selectorTypesToRecord: this.#recorderSettings.defaultSelectors,
|
|
1069
|
+
selectorAttribute: this.#recorderSettings.selectorAttribute ? this.#recorderSettings.selectorAttribute :
|
|
1070
|
+
undefined,
|
|
1071
|
+
}));
|
|
1068
1072
|
} else if (this.currentPage === Pages.CREATE_RECORDING_PAGE) {
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1073
|
+
if (this.#createRecordingView) {
|
|
1074
|
+
this.#shortcutHelper.handleShortcut(() => {
|
|
1075
|
+
this.#createRecordingView?.triggerFormSubmission();
|
|
1076
|
+
});
|
|
1072
1077
|
}
|
|
1073
1078
|
} else if (this.isRecording) {
|
|
1074
1079
|
void this.#onRecordingFinished();
|
|
@@ -1233,15 +1238,21 @@ export class RecorderController extends LitElement {
|
|
|
1233
1238
|
#renderCreateRecordingPage(): Lit.TemplateResult {
|
|
1234
1239
|
// clang-format off
|
|
1235
1240
|
return html`
|
|
1236
|
-
<devtools-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1241
|
+
<devtools-widget
|
|
1242
|
+
class="recording-view"
|
|
1243
|
+
.widgetConfig=${UI.Widget.widgetConfig(Components.CreateRecordingView.CreateRecordingView, {
|
|
1244
|
+
recorderSettings: this.#recorderSettings,
|
|
1245
|
+
defaultRecordingName: this.#recorderSettings.defaultTitle,
|
|
1246
|
+
onRecordingStarted: this.#onRecordingStarted.bind(this),
|
|
1247
|
+
onRecordingCancelled: this.onRecordingCancelled.bind(this),
|
|
1248
|
+
})}
|
|
1249
|
+
${UI.Widget.widgetRef(
|
|
1250
|
+
Components.CreateRecordingView.CreateRecordingView,
|
|
1251
|
+
widget => {
|
|
1252
|
+
this.#createRecordingView = widget;
|
|
1253
|
+
},
|
|
1254
|
+
)}
|
|
1255
|
+
></devtools-widget>
|
|
1245
1256
|
`;
|
|
1246
1257
|
// clang-format on
|
|
1247
1258
|
}
|