chrome-devtools-frontend 1.0.1672388 → 1.0.1674545
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/eslint.config.mjs +3 -3
- package/front_end/core/common/SettingRegistration.ts +1 -26
- package/front_end/core/common/Settings.ts +4 -53
- package/front_end/core/host/UserMetrics.ts +127 -117
- package/front_end/core/protocol_client/PuppeteerDevToolsConnection.ts +42 -9
- package/front_end/core/root/Runtime.ts +7 -2
- package/front_end/core/sdk/NetworkManager.ts +0 -35
- package/front_end/core/sdk/SourceMap.ts +1 -19
- package/front_end/core/sdk/SourceMapManager.ts +75 -48
- package/front_end/core/sdk/SourceMapScopesInfo.ts +0 -62
- package/front_end/devtools_compatibility.js +1 -1
- package/front_end/generated/InspectorBackendCommands.ts +4 -3
- package/front_end/generated/{SupportedCSSProperties.js → SupportedCSSProperties.ts} +32 -1
- package/front_end/generated/protocol-mapping.d.ts +8 -0
- package/front_end/generated/protocol-proxy-api.d.ts +6 -0
- package/front_end/generated/protocol.ts +16 -2
- package/front_end/models/ai_assistance/AiSetting.ts +66 -3
- package/front_end/models/ai_assistance/agents/PerformanceAgent.snapshot.txt +1 -1
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +4 -3
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +1 -1
- package/front_end/models/bindings/CompilerScriptMapping.ts +1 -1
- package/front_end/models/emulation/DeviceModeModel.ts +25 -34
- package/front_end/models/emulation/EmulatedDevices.ts +1 -1
- package/front_end/models/javascript_metadata/NativeFunctions.js +4 -4
- package/front_end/models/trace/ModelImpl.ts +5 -0
- package/front_end/models/trace/Processor.ts +47 -10
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +18 -19
- package/front_end/models/trace/handlers/MetaHandler.ts +46 -9
- package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +11 -0
- package/front_end/models/trace/insights/CLSCulprits.ts +1 -2
- package/front_end/models/trace/insights/CharacterSet.ts +1 -1
- package/front_end/models/trace/insights/Common.ts +21 -2
- package/front_end/models/trace/insights/DocumentLatency.ts +1 -1
- package/front_end/models/trace/insights/LCPBreakdown.ts +7 -6
- package/front_end/models/trace/insights/LCPDiscovery.ts +1 -1
- package/front_end/models/trace/insights/ModernHTTP.ts +7 -3
- package/front_end/models/trace/insights/NetworkDependencyTree.ts +1 -1
- package/front_end/models/trace/insights/RenderBlocking.ts +1 -1
- package/front_end/models/trace/insights/ThirdParties.ts +5 -2
- package/front_end/models/trace/insights/types.ts +11 -6
- package/front_end/models/trace/types/Configuration.ts +5 -0
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +11 -10
- package/front_end/panels/ai_assistance/ai_assistance-meta.ts +3 -45
- package/front_end/panels/application/BackgroundServiceView.ts +42 -40
- package/front_end/panels/application/KeyValueStorageItemsView.ts +1 -0
- package/front_end/panels/common/ExtensionServer.ts +7 -1
- package/front_end/panels/common/common.ts +0 -1
- package/front_end/panels/console/ConsoleInsightTeaser.ts +7 -6
- package/front_end/panels/console/ConsoleViewMessage.ts +1 -1
- package/front_end/panels/elements/ClassesPaneWidget.ts +2 -2
- package/front_end/panels/elements/ElementsTreeElement.ts +56 -5
- package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
- package/front_end/panels/elements/components/AdornerManager.ts +1 -0
- package/front_end/panels/emulation/AdvancedApp.ts +3 -3
- package/front_end/panels/emulation/DeviceModeToolbar.ts +2 -11
- package/front_end/panels/emulation/DeviceModeView.ts +234 -75
- package/front_end/panels/emulation/InspectedPagePlaceholder.ts +1 -1
- package/front_end/panels/emulation/deviceModeView.css +4 -21
- package/front_end/panels/emulation/emulation-meta.ts +4 -30
- package/front_end/panels/emulation/emulation.ts +0 -3
- package/front_end/panels/explain/components/ConsoleInsight.ts +11 -7
- package/front_end/panels/layers/LayersPanel.ts +2 -2
- package/front_end/panels/layers/layers-meta.ts +2 -2
- package/front_end/panels/lighthouse/LighthouseController.ts +3 -7
- package/front_end/panels/mobile_throttling/CPUThrottlingSelector.ts +313 -0
- package/front_end/panels/mobile_throttling/NetworkPanelIndicator.ts +0 -10
- package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +23 -10
- package/front_end/panels/mobile_throttling/mobile_throttling.ts +3 -0
- package/front_end/panels/network/NetworkConfigView.ts +1 -71
- package/front_end/panels/network/networkConfigView.css +1 -2
- package/front_end/panels/profiler/HeapDetachedElementsDataGrid.ts +3 -3
- package/front_end/panels/profiler/HeapDetachedElementsView.ts +5 -5
- package/front_end/panels/profiler/HeapProfileView.ts +32 -32
- package/front_end/panels/profiler/HeapProfilerPanel.ts +2 -2
- package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +33 -37
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +26 -27
- package/front_end/panels/profiler/HeapSnapshotView.ts +48 -48
- package/front_end/panels/profiler/IsolateSelector.ts +10 -10
- package/front_end/panels/profiler/ModuleUIStrings.ts +25 -25
- package/front_end/panels/profiler/ProfileLauncherView.ts +6 -6
- package/front_end/panels/profiler/ProfilesPanel.ts +6 -6
- package/front_end/panels/profiler/WritableProfileHeader.ts +6 -6
- package/front_end/panels/profiler/profiler-meta.ts +7 -7
- package/front_end/panels/recorder/RecorderPanel.ts +1 -1
- package/front_end/panels/settings/AISettingsTab.ts +27 -23
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +463 -13
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +12 -17
- package/front_end/panels/timeline/TimelinePanel.ts +22 -35
- package/front_end/panels/timeline/components/CWVMetrics.ts +16 -3
- package/front_end/panels/timeline/components/LiveMetricsView.ts +27 -6
- package/front_end/panels/timeline/components/NetworkTrackWidget.ts +1 -1
- package/front_end/panels/timeline/components/components.ts +0 -4
- package/front_end/panels/timeline/components/cwvMetrics.css +4 -0
- package/front_end/panels/timeline/components/liveMetricsView.css +7 -17
- package/front_end/panels/timeline/components/metricValueStyles.css +17 -0
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +64 -15
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +65 -16
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.d.ts +50 -7
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/BidiOverCdp.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/BidiOverCdp.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/BidiOverCdp.js +5 -5
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/BidiOverCdp.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Connection.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Connection.js +8 -6
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Dialog.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Dialog.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Dialog.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Browser.js +16 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Connection.d.ts +5 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Connection.js +11 -6
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Dialog.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Dialog.js +5 -0
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Dialog.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/NetworkManager.js +10 -0
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/NetworkManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.js +4 -3
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Debug.d.ts +27 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Debug.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Debug.js +12 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Debug.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/util.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/util.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ChromeLauncher.js +2 -0
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.js +5 -4
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +64 -15
- package/front_end/third_party/puppeteer/package/package.json +2 -2
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +50 -7
- package/front_end/third_party/puppeteer/package/src/bidi/BidiOverCdp.ts +9 -7
- package/front_end/third_party/puppeteer/package/src/bidi/Connection.ts +9 -6
- package/front_end/third_party/puppeteer/package/src/bidi/Dialog.ts +4 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +24 -1
- package/front_end/third_party/puppeteer/package/src/cdp/Connection.ts +11 -6
- package/front_end/third_party/puppeteer/package/src/cdp/Dialog.ts +7 -0
- package/front_end/third_party/puppeteer/package/src/cdp/NetworkManager.ts +11 -0
- package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +7 -3
- package/front_end/third_party/puppeteer/package/src/common/Debug.ts +30 -5
- package/front_end/third_party/puppeteer/package/src/common/util.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +2 -0
- package/front_end/third_party/puppeteer/package/src/node/ScreenRecorder.ts +6 -4
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/CONTRIBUTING.md +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/LICENSE +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/README.md +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/encode/encode.d.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/encode/encode.d.ts.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/mod.d.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/mod.d.ts.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/scopes.d.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/_dist/src/scopes.d.ts.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/deno.json +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/package.json +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +2 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js.map +1 -1
- package/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.ts +2 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/codec.js +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/codec.js.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/codec.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/mod.js +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/mod.js.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/mod.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/scopes.js +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/scopes.js.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/scopes.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/util.js +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/util.js.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/util.ts +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/vlq.js.map +0 -0
- package/front_end/third_party/source-map-scopes-codec/package/src/vlq.ts +0 -0
- package/front_end/ui/components/dialogs/ShortcutDialog.ts +2 -0
- package/front_end/ui/components/settings/SettingCheckbox.ts +4 -12
- package/front_end/ui/components/settings/settingCheckbox.css +0 -7
- package/front_end/ui/legacy/Treeoutline.ts +14 -14
- package/front_end/ui/legacy/UIUtils.ts +2 -47
- package/front_end/ui/legacy/Widget.ts +10 -2
- package/front_end/ui/legacy/components/settings_ui/SettingsUI.ts +1 -1
- package/front_end/ui/lit/Directives.ts +80 -0
- package/front_end/ui/lit/lit.ts +1 -0
- package/front_end/ui/lit/render.ts +8 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +18 -0
- package/mcp/mcp.ts +1 -0
- package/package.json +1 -1
- package/front_end/panels/common/ThrottlingUtils.ts +0 -51
- package/front_end/panels/emulation/DeviceModeWrapper.ts +0 -248
- package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +0 -235
- package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +0 -245
- package/front_end/panels/timeline/components/cpuThrottlingSelector.css +0 -30
- package/front_end/panels/timeline/components/networkThrottlingSelector.css +0 -24
- /package/front_end/core/host/{UserMetricsEnums.d.ts → UserMetricsEnums.ts} +0 -0
- /package/front_end/generated/{ARIAProperties.js → ARIAProperties.ts} +0 -0
|
@@ -2180,7 +2180,6 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
|
|
|
2180
2180
|
readonly #targetManager: TargetManager;
|
|
2181
2181
|
#userAgentOverride = '';
|
|
2182
2182
|
#userAgentMetadataOverride: Protocol.Emulation.UserAgentMetadata|null = null;
|
|
2183
|
-
#customAcceptedEncodings: Protocol.Network.ContentEncoding[]|null = null;
|
|
2184
2183
|
readonly #networkAgents = new Set<ProtocolProxyApi.NetworkApi>();
|
|
2185
2184
|
readonly #fetchAgents = new Set<ProtocolProxyApi.FetchApi>();
|
|
2186
2185
|
readonly inflightMainResourceRequests = new Map<string, NetworkRequest>();
|
|
@@ -2283,11 +2282,6 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
|
|
|
2283
2282
|
if (this.isIntercepting()) {
|
|
2284
2283
|
void fetchAgent.invoke_enable({patterns: this.#urlsForRequestInterceptor.valuesArray()});
|
|
2285
2284
|
}
|
|
2286
|
-
if (this.#customAcceptedEncodings === null) {
|
|
2287
|
-
void networkAgent.invoke_clearAcceptedEncodingsOverride();
|
|
2288
|
-
} else {
|
|
2289
|
-
void networkAgent.invoke_setAcceptedEncodings({encodings: this.#customAcceptedEncodings});
|
|
2290
|
-
}
|
|
2291
2285
|
this.#networkAgents.add(networkAgent);
|
|
2292
2286
|
this.#fetchAgents.add(fetchAgent);
|
|
2293
2287
|
}
|
|
@@ -2388,33 +2382,6 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
|
|
|
2388
2382
|
this.updateUserAgentOverride();
|
|
2389
2383
|
}
|
|
2390
2384
|
|
|
2391
|
-
setCustomAcceptedEncodingsOverride(acceptedEncodings: Protocol.Network.ContentEncoding[]): void {
|
|
2392
|
-
this.#customAcceptedEncodings = acceptedEncodings;
|
|
2393
|
-
this.updateAcceptedEncodingsOverride();
|
|
2394
|
-
this.dispatchEventToListeners(MultitargetNetworkManager.Events.ACCEPTED_ENCODINGS_CHANGED);
|
|
2395
|
-
}
|
|
2396
|
-
|
|
2397
|
-
clearCustomAcceptedEncodingsOverride(): void {
|
|
2398
|
-
this.#customAcceptedEncodings = null;
|
|
2399
|
-
this.updateAcceptedEncodingsOverride();
|
|
2400
|
-
this.dispatchEventToListeners(MultitargetNetworkManager.Events.ACCEPTED_ENCODINGS_CHANGED);
|
|
2401
|
-
}
|
|
2402
|
-
|
|
2403
|
-
isAcceptedEncodingOverrideSet(): boolean {
|
|
2404
|
-
return this.#customAcceptedEncodings !== null;
|
|
2405
|
-
}
|
|
2406
|
-
|
|
2407
|
-
private updateAcceptedEncodingsOverride(): void {
|
|
2408
|
-
const customAcceptedEncodings = this.#customAcceptedEncodings;
|
|
2409
|
-
for (const agent of this.#networkAgents) {
|
|
2410
|
-
if (customAcceptedEncodings === null) {
|
|
2411
|
-
void agent.invoke_clearAcceptedEncodingsOverride();
|
|
2412
|
-
} else {
|
|
2413
|
-
void agent.invoke_setAcceptedEncodings({encodings: customAcceptedEncodings});
|
|
2414
|
-
}
|
|
2415
|
-
}
|
|
2416
|
-
}
|
|
2417
|
-
|
|
2418
2385
|
get requestConditions(): RequestConditions {
|
|
2419
2386
|
return this.#requestConditions;
|
|
2420
2387
|
}
|
|
@@ -2516,7 +2483,6 @@ export namespace MultitargetNetworkManager {
|
|
|
2516
2483
|
CONDITIONS_CHANGED = 'ConditionsChanged',
|
|
2517
2484
|
USER_AGENT_CHANGED = 'UserAgentChanged',
|
|
2518
2485
|
INTERCEPTORS_CHANGED = 'InterceptorsChanged',
|
|
2519
|
-
ACCEPTED_ENCODINGS_CHANGED = 'AcceptedEncodingsChanged',
|
|
2520
2486
|
REQUEST_INTERCEPTED = 'RequestIntercepted',
|
|
2521
2487
|
REQUEST_FULFILLED = 'RequestFulfilled',
|
|
2522
2488
|
}
|
|
@@ -2526,7 +2492,6 @@ export namespace MultitargetNetworkManager {
|
|
|
2526
2492
|
[Events.CONDITIONS_CHANGED]: void;
|
|
2527
2493
|
[Events.USER_AGENT_CHANGED]: void;
|
|
2528
2494
|
[Events.INTERCEPTORS_CHANGED]: void;
|
|
2529
|
-
[Events.ACCEPTED_ENCODINGS_CHANGED]: void;
|
|
2530
2495
|
[Events.REQUEST_INTERCEPTED]: string;
|
|
2531
2496
|
[Events.REQUEST_FULFILLED]: Platform.DevToolsPath.UrlString;
|
|
2532
2497
|
}
|
|
@@ -231,26 +231,8 @@ export class SourceMap {
|
|
|
231
231
|
return this.#scopesFallbackPromise ?? Promise.resolve();
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
-
findEntry(lineNumber: number, columnNumber: number
|
|
234
|
+
findEntry(lineNumber: number, columnNumber: number): SourceMapEntry|null {
|
|
235
235
|
this.#ensureSourceMapProcessed();
|
|
236
|
-
if (inlineFrameIndex && this.#scopesInfo !== null) {
|
|
237
|
-
// For inlineFrameIndex != 0 we use the callsite info for the corresponding inlining site.
|
|
238
|
-
// Note that the callsite for "inlineFrameIndex" is actually in the previous frame.
|
|
239
|
-
const {inlinedFunctions} = this.#scopesInfo.findInlinedFunctions(lineNumber, columnNumber);
|
|
240
|
-
const {callsite} = inlinedFunctions[inlineFrameIndex - 1];
|
|
241
|
-
if (!callsite) {
|
|
242
|
-
console.error('Malformed source map. Expected to have a callsite info for index', inlineFrameIndex);
|
|
243
|
-
return null;
|
|
244
|
-
}
|
|
245
|
-
return {
|
|
246
|
-
lineNumber,
|
|
247
|
-
columnNumber,
|
|
248
|
-
sourceIndex: callsite.sourceIndex,
|
|
249
|
-
sourceURL: this.sourceURLs()[callsite.sourceIndex],
|
|
250
|
-
sourceLineNumber: callsite.line,
|
|
251
|
-
sourceColumnNumber: callsite.column,
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
236
|
const mappings = this.mappings();
|
|
255
237
|
const index = Platform.ArrayUtilities.upperBound(
|
|
256
238
|
mappings, undefined, (_, entry) => lineNumber - entry.lineNumber || columnNumber - entry.columnNumber);
|
|
@@ -15,9 +15,17 @@ export type SourceMapFactory<T> =
|
|
|
15
15
|
(compiledURL: Platform.DevToolsPath.UrlString, sourceMappingURL: Platform.DevToolsPath.UrlString,
|
|
16
16
|
payload: SourceMapV3, client: T) => SourceMap;
|
|
17
17
|
|
|
18
|
+
export const lazyLoadingSettingDescriptor: Common.Settings.SettingDescriptor<boolean> = {
|
|
19
|
+
name: 'source-maps-lazy-loading',
|
|
20
|
+
type: Common.Settings.SettingType.BOOLEAN,
|
|
21
|
+
defaultValue: false,
|
|
22
|
+
storageType: Common.Settings.SettingStorageType.LOCAL,
|
|
23
|
+
};
|
|
24
|
+
|
|
18
25
|
export class SourceMapManager<T extends FrameAssociated> extends Common.ObjectWrapper.ObjectWrapper<EventTypes<T>> {
|
|
19
26
|
readonly #target: Target;
|
|
20
27
|
readonly #factory: SourceMapFactory<T>;
|
|
28
|
+
readonly #lazyLoadingSetting: Common.Settings.Setting<boolean>;
|
|
21
29
|
#isEnabled = true;
|
|
22
30
|
readonly #clientData = new Map<T, ClientData>();
|
|
23
31
|
readonly #sourceMaps = new Map<SourceMap, T>();
|
|
@@ -31,6 +39,12 @@ export class SourceMapManager<T extends FrameAssociated> extends Common.ObjectWr
|
|
|
31
39
|
this.#factory = factory ??
|
|
32
40
|
((compiledURL, sourceMappingURL, payload) =>
|
|
33
41
|
new SourceMap(compiledURL, sourceMappingURL, payload, this.#target.targetManager().getConsole()));
|
|
42
|
+
const settings = target.targetManager().settings;
|
|
43
|
+
this.#lazyLoadingSetting = settings.resolve(lazyLoadingSettingDescriptor);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
isLazyLoadEnabled(): boolean {
|
|
47
|
+
return this.#lazyLoadingSetting.get();
|
|
34
48
|
}
|
|
35
49
|
|
|
36
50
|
setEnabled(isEnabled: boolean): void {
|
|
@@ -75,7 +89,7 @@ export class SourceMapManager<T extends FrameAssociated> extends Common.ObjectWr
|
|
|
75
89
|
return Promise.resolve(undefined);
|
|
76
90
|
}
|
|
77
91
|
|
|
78
|
-
return clientData.
|
|
92
|
+
return clientData.getSourceMap();
|
|
79
93
|
}
|
|
80
94
|
|
|
81
95
|
clientForSourceMap(sourceMap: SourceMap): T|undefined {
|
|
@@ -92,65 +106,78 @@ export class SourceMapManager<T extends FrameAssociated> extends Common.ObjectWr
|
|
|
92
106
|
return;
|
|
93
107
|
}
|
|
94
108
|
|
|
95
|
-
|
|
109
|
+
const clientData: ClientData = {
|
|
96
110
|
relativeSourceURL,
|
|
97
111
|
relativeSourceMapURL,
|
|
98
|
-
|
|
112
|
+
getSourceMap: () => Promise.resolve(undefined),
|
|
99
113
|
};
|
|
114
|
+
this.#clientData.set(client, clientData);
|
|
115
|
+
|
|
100
116
|
if (this.#isEnabled) {
|
|
101
117
|
// The `// #sourceURL=foo` can be a random string, but is generally an absolute path.
|
|
102
118
|
// Complete it to inspected page url for relative links.
|
|
103
119
|
const sourceURL = SourceMapManager.resolveRelativeSourceURL(this.#target, relativeSourceURL);
|
|
104
120
|
const sourceMapURL = Common.ParsedURL.ParsedURL.completeURL(sourceURL, relativeSourceMapURL);
|
|
105
121
|
if (sourceMapURL) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
122
|
+
let sourceMapPromise: Promise<SourceMap|undefined>|undefined;
|
|
123
|
+
const doLoad = (): Promise<SourceMap|undefined> => {
|
|
124
|
+
if (!sourceMapPromise) {
|
|
125
|
+
if (this.#attachingClient) {
|
|
126
|
+
// This should not happen
|
|
127
|
+
console.error('Attaching source map may cancel previously attaching source map');
|
|
128
|
+
}
|
|
129
|
+
this.#attachingClient = client;
|
|
130
|
+
this.dispatchEventToListeners(Events.SourceMapWillAttach, {client});
|
|
131
|
+
|
|
132
|
+
if (this.#attachingClient === client) {
|
|
133
|
+
this.#attachingClient = null;
|
|
134
|
+
const initiator = client.createPageResourceLoadInitiator();
|
|
135
|
+
// TODO(crbug.com/458180550): Pass PageResourceLoader via constructor.
|
|
136
|
+
// The reason we grab it here lazily from the context is that otherwise every
|
|
137
|
+
// unit test using `createTarget` would need to set up a `PageResourceLoader`, as
|
|
138
|
+
// CSSModel and DebuggerModel are autostarted by default, and they create a
|
|
139
|
+
// SourceMapManager in their respective constructors.
|
|
140
|
+
const resourceLoader = this.#target.targetManager().context.get(PageResourceLoader);
|
|
141
|
+
sourceMapPromise =
|
|
142
|
+
loadSourceMap(resourceLoader, this.#sourceMapCache, sourceMapURL, client.debugId(), initiator)
|
|
143
|
+
.then(
|
|
144
|
+
payload => {
|
|
145
|
+
const sourceMap = this.#factory(sourceURL, sourceMapURL, payload, client);
|
|
146
|
+
if (this.#clientData.get(client) === clientData) {
|
|
147
|
+
clientData.sourceMap = sourceMap;
|
|
148
|
+
this.#sourceMaps.set(sourceMap, client);
|
|
149
|
+
this.dispatchEventToListeners(Events.SourceMapAttached, {client, sourceMap});
|
|
150
|
+
}
|
|
151
|
+
return sourceMap;
|
|
152
|
+
},
|
|
153
|
+
() => {
|
|
154
|
+
if (this.#clientData.get(client) === clientData) {
|
|
155
|
+
this.dispatchEventToListeners(Events.SourceMapFailedToAttach, {client});
|
|
156
|
+
}
|
|
157
|
+
return undefined;
|
|
158
|
+
});
|
|
159
|
+
} else {
|
|
160
|
+
// Assume cancelAttachSourceMap was called.
|
|
161
|
+
if (this.#attachingClient) {
|
|
162
|
+
// This should not happen
|
|
163
|
+
console.error('Cancelling source map attach because another source map is attaching');
|
|
164
|
+
}
|
|
165
|
+
this.#clientData.delete(client);
|
|
166
|
+
this.dispatchEventToListeners(Events.SourceMapFailedToAttach, {client});
|
|
167
|
+
sourceMapPromise = Promise.resolve(undefined);
|
|
168
|
+
}
|
|
145
169
|
}
|
|
146
|
-
|
|
147
|
-
|
|
170
|
+
return sourceMapPromise;
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
if (this.isLazyLoadEnabled()) {
|
|
174
|
+
clientData.getSourceMap = doLoad;
|
|
175
|
+
} else {
|
|
176
|
+
const promise = doLoad();
|
|
177
|
+
clientData.getSourceMap = () => promise;
|
|
148
178
|
}
|
|
149
179
|
}
|
|
150
180
|
}
|
|
151
|
-
if (clientData) {
|
|
152
|
-
this.#clientData.set(client, clientData);
|
|
153
|
-
}
|
|
154
181
|
}
|
|
155
182
|
|
|
156
183
|
cancelAttachSourceMap(client: T): void {
|
|
@@ -231,7 +258,7 @@ interface ClientData {
|
|
|
231
258
|
// be valid URLs and will be checked and resolved once `attachSourceMap` is called.
|
|
232
259
|
relativeSourceMapURL: string;
|
|
233
260
|
sourceMap?: SourceMap;
|
|
234
|
-
|
|
261
|
+
getSourceMap: () => Promise<SourceMap|undefined>;
|
|
235
262
|
}
|
|
236
263
|
|
|
237
264
|
export enum Events {
|
|
@@ -267,46 +267,6 @@ export class SourceMapScopesInfo {
|
|
|
267
267
|
return false;
|
|
268
268
|
}
|
|
269
269
|
|
|
270
|
-
/**
|
|
271
|
-
* Given a generated position, returns the original name of the surrounding function as well as
|
|
272
|
-
* all the original function names that got inlined into the surrounding generated function and their
|
|
273
|
-
* respective callsites in the original code (ordered from inner to outer).
|
|
274
|
-
*
|
|
275
|
-
* @returns a list with inlined functions. Every entry in the list has a callsite in the orignal code,
|
|
276
|
-
* except the last function (since the last function didn't get inlined).
|
|
277
|
-
*/
|
|
278
|
-
findInlinedFunctions(generatedLine: number, generatedColumn: number): InlineInfo {
|
|
279
|
-
const rangeChain = this.#findGeneratedRangeChain(generatedLine, generatedColumn);
|
|
280
|
-
const result: InlineInfo = {
|
|
281
|
-
inlinedFunctions: [],
|
|
282
|
-
originalFunctionName: '',
|
|
283
|
-
};
|
|
284
|
-
|
|
285
|
-
// Walk the generated ranges from the innermost containing range outwards as long as we don't
|
|
286
|
-
// encounter a range that is a scope in the generated code and a function scope originally.
|
|
287
|
-
for (let i = rangeChain.length - 1; i >= 0; --i) {
|
|
288
|
-
const range = rangeChain[i];
|
|
289
|
-
|
|
290
|
-
if (range.callSite) {
|
|
291
|
-
// Record the name and call-site if the range corresponds to an inlined function.
|
|
292
|
-
result.inlinedFunctions.push({
|
|
293
|
-
name: range.originalScope?.name ?? '',
|
|
294
|
-
callsite: {...range.callSite, sourceURL: this.#sourceMap.sourceURLForSourceIndex(range.callSite.sourceIndex)},
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
if (range.isStackFrame) {
|
|
298
|
-
// We arrived at an actual generated JS function, don't go further.
|
|
299
|
-
// The corresponding original scope could not actually be a function
|
|
300
|
-
// (e.g. a block scope transpiled down to a JS function), but we'll
|
|
301
|
-
// filter that out later.
|
|
302
|
-
result.originalFunctionName = range.originalScope?.name ?? '';
|
|
303
|
-
break;
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
return result;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
270
|
/**
|
|
311
271
|
* Given a generated position, this returns all the surrounding generated ranges from outer
|
|
312
272
|
* to inner.
|
|
@@ -608,28 +568,6 @@ export interface TranslatedFrame {
|
|
|
608
568
|
url?: Platform.DevToolsPath.UrlString;
|
|
609
569
|
}
|
|
610
570
|
|
|
611
|
-
/**
|
|
612
|
-
* Represents the inlining information for a given generated position.
|
|
613
|
-
*
|
|
614
|
-
* It contains a list of all the inlined original functions at the generated position
|
|
615
|
-
* as well as the original function name of the generated position's surrounding
|
|
616
|
-
* function.
|
|
617
|
-
*
|
|
618
|
-
* The inlined functions are sorted from inner to outer (or top to bottom on the stack).
|
|
619
|
-
*/
|
|
620
|
-
export interface InlineInfo {
|
|
621
|
-
inlinedFunctions: Array<{
|
|
622
|
-
name: string,
|
|
623
|
-
callsite: {
|
|
624
|
-
line: number,
|
|
625
|
-
column: number,
|
|
626
|
-
sourceIndex: number,
|
|
627
|
-
sourceURL?: Platform.DevToolsPath.UrlString,
|
|
628
|
-
},
|
|
629
|
-
}>;
|
|
630
|
-
originalFunctionName: string;
|
|
631
|
-
}
|
|
632
|
-
|
|
633
571
|
export function contains(
|
|
634
572
|
range: Pick<ScopesCodec.GeneratedRange, 'start'|'end'>, line: number, column: number): boolean {
|
|
635
573
|
if (range.start.line > line || (range.start.line === line && range.start.column > column)) {
|
|
@@ -1290,7 +1290,7 @@
|
|
|
1290
1290
|
MAX_VALUE: 16,
|
|
1291
1291
|
},
|
|
1292
1292
|
};
|
|
1293
|
-
// LINT.ThenChange(/front_end/core/host/UserMetricsEnums.
|
|
1293
|
+
// LINT.ThenChange(/front_end/core/host/UserMetricsEnums.ts)
|
|
1294
1294
|
|
|
1295
1295
|
// InspectorFrontendHostImpl --------------------------------------------------
|
|
1296
1296
|
|
|
@@ -435,6 +435,7 @@ inspectorBackend.registerCommand("DOM.getContainerForNode", [{"name": "nodeId",
|
|
|
435
435
|
inspectorBackend.registerCommand("DOM.getQueryingDescendantsForContainer", [{"name": "nodeId", "type": "number", "optional": false, "description": "Id of the container node to find querying descendants from.", "typeRef": "DOM.NodeId"}], ["nodeIds"], "Returns the descendants of a container query container that have container queries against this container.");
|
|
436
436
|
inspectorBackend.registerCommand("DOM.getAnchorElement", [{"name": "nodeId", "type": "number", "optional": false, "description": "Id of the positioned element from which to find the anchor.", "typeRef": "DOM.NodeId"}, {"name": "anchorSpecifier", "type": "string", "optional": true, "description": "An optional anchor specifier, as defined in https://www.w3.org/TR/css-anchor-position-1/#anchor-specifier. If not provided, it will return the implicit anchor element for the given positioned element.", "typeRef": null}], ["nodeId"], "Returns the target anchor element of the given anchor query according to https://www.w3.org/TR/css-anchor-position-1/#target.");
|
|
437
437
|
inspectorBackend.registerCommand("DOM.forceShowPopover", [{"name": "nodeId", "type": "number", "optional": false, "description": "Id of the popover HTMLElement", "typeRef": "DOM.NodeId"}, {"name": "enable", "type": "boolean", "optional": false, "description": "If true, opens the popover and keeps it open. If false, closes the popover if it was previously force-opened.", "typeRef": null}, {"name": "invokerNodeId", "type": "number", "optional": true, "description": "Optional ID of the element invoking this popover, used to establish the implicit anchor. If not provided, it will fall back to the first invoker in the document, preferring elements with a popovertarget attribute over those with a commandfor attribute. Note that if there are multiple invokers, this is just an estimate.", "typeRef": "DOM.BackendNodeId"}], ["nodeIds"], "When enabling, this API force-opens the popover identified by nodeId and keeps it open until disabled.");
|
|
438
|
+
inspectorBackend.registerCommand("DOM.forceShowInterest", [{"name": "nodeId", "type": "number", "optional": false, "description": "Id of the interest invoker HTMLElement.", "typeRef": "DOM.NodeId"}, {"name": "enable", "type": "boolean", "optional": false, "description": "If true, opens and holds interest. If false, releases forced interest.", "typeRef": null}], [], "When enabling, this API forces an element to gain interest in its target, keeping interest active until disabled.");
|
|
438
439
|
inspectorBackend.registerType("DOM.BackendNode", [{"name": "nodeType", "type": "number", "optional": false, "description": "`Node`'s nodeType.", "typeRef": null}, {"name": "nodeName", "type": "string", "optional": false, "description": "`Node`'s nodeName.", "typeRef": null}, {"name": "backendNodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.BackendNodeId"}]);
|
|
439
440
|
inspectorBackend.registerType("DOM.Node", [{"name": "nodeId", "type": "number", "optional": false, "description": "Node identifier that is passed into the rest of the DOM messages as the `nodeId`. Backend will only push node with given `id` once. It is aware of all requested nodes and will only fire DOM events for nodes known to the client.", "typeRef": "DOM.NodeId"}, {"name": "parentId", "type": "number", "optional": true, "description": "The id of the parent node if any.", "typeRef": "DOM.NodeId"}, {"name": "backendNodeId", "type": "number", "optional": false, "description": "The BackendNodeId for this node.", "typeRef": "DOM.BackendNodeId"}, {"name": "nodeType", "type": "number", "optional": false, "description": "`Node`'s nodeType.", "typeRef": null}, {"name": "nodeName", "type": "string", "optional": false, "description": "`Node`'s nodeName.", "typeRef": null}, {"name": "localName", "type": "string", "optional": false, "description": "`Node`'s localName.", "typeRef": null}, {"name": "nodeValue", "type": "string", "optional": false, "description": "`Node`'s nodeValue.", "typeRef": null}, {"name": "childNodeCount", "type": "number", "optional": true, "description": "Child count for `Container` nodes.", "typeRef": null}, {"name": "children", "type": "array", "optional": true, "description": "Child nodes of this node when requested with children.", "typeRef": "DOM.Node"}, {"name": "attributes", "type": "array", "optional": true, "description": "Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.", "typeRef": "string"}, {"name": "documentURL", "type": "string", "optional": true, "description": "Document URL that `Document` or `FrameOwner` node points to.", "typeRef": null}, {"name": "baseURL", "type": "string", "optional": true, "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.", "typeRef": null}, {"name": "publicId", "type": "string", "optional": true, "description": "`DocumentType`'s publicId.", "typeRef": null}, {"name": "systemId", "type": "string", "optional": true, "description": "`DocumentType`'s systemId.", "typeRef": null}, {"name": "internalSubset", "type": "string", "optional": true, "description": "`DocumentType`'s internalSubset.", "typeRef": null}, {"name": "xmlVersion", "type": "string", "optional": true, "description": "`Document`'s XML version in case of XML documents.", "typeRef": null}, {"name": "name", "type": "string", "optional": true, "description": "`Attr`'s name.", "typeRef": null}, {"name": "value", "type": "string", "optional": true, "description": "`Attr`'s value.", "typeRef": null}, {"name": "pseudoType", "type": "string", "optional": true, "description": "Pseudo element type for this node.", "typeRef": "DOM.PseudoType"}, {"name": "pseudoIdentifier", "type": "string", "optional": true, "description": "Pseudo element identifier for this node. Only present if there is a valid pseudoType.", "typeRef": null}, {"name": "shadowRootType", "type": "string", "optional": true, "description": "Shadow root type.", "typeRef": "DOM.ShadowRootType"}, {"name": "frameId", "type": "string", "optional": true, "description": "Frame ID for frame owner elements.", "typeRef": "Page.FrameId"}, {"name": "contentDocument", "type": "object", "optional": true, "description": "Content document for frame owner elements.", "typeRef": "DOM.Node"}, {"name": "shadowRoots", "type": "array", "optional": true, "description": "Shadow root list for given element host.", "typeRef": "DOM.Node"}, {"name": "templateContent", "type": "object", "optional": true, "description": "Content document fragment for template elements.", "typeRef": "DOM.Node"}, {"name": "pseudoElements", "type": "array", "optional": true, "description": "Pseudo elements associated with this node.", "typeRef": "DOM.Node"}, {"name": "importedDocument", "type": "object", "optional": true, "description": "Deprecated, as the HTML Imports API has been removed (crbug.com/937746). This property used to return the imported document for the HTMLImport links. The property is always undefined now.", "typeRef": "DOM.Node"}, {"name": "distributedNodes", "type": "array", "optional": true, "description": "Distributed nodes for given insertion point.", "typeRef": "DOM.BackendNode"}, {"name": "isSVG", "type": "boolean", "optional": true, "description": "Whether the node is SVG.", "typeRef": null}, {"name": "compatibilityMode", "type": "string", "optional": true, "description": "", "typeRef": "DOM.CompatibilityMode"}, {"name": "assignedSlot", "type": "object", "optional": true, "description": "", "typeRef": "DOM.BackendNode"}, {"name": "isScrollable", "type": "boolean", "optional": true, "description": "", "typeRef": null}, {"name": "affectedByStartingStyles", "type": "boolean", "optional": true, "description": "", "typeRef": null}, {"name": "adoptedStyleSheets", "type": "array", "optional": true, "description": "", "typeRef": "DOM.StyleSheetId"}, {"name": "adProvenance", "type": "object", "optional": true, "description": "", "typeRef": "Network.AdProvenance"}]);
|
|
440
441
|
inspectorBackend.registerType("DOM.DetachedElementInfo", [{"name": "treeNode", "type": "object", "optional": false, "description": "", "typeRef": "DOM.Node"}, {"name": "retainedNodeIds", "type": "array", "optional": false, "description": "", "typeRef": "DOM.NodeId"}]);
|
|
@@ -1178,7 +1179,7 @@ inspectorBackend.registerType("Page.InstallabilityErrorArgument", [{"name": "nam
|
|
|
1178
1179
|
inspectorBackend.registerType("Page.InstallabilityError", [{"name": "errorId", "type": "string", "optional": false, "description": "The error id (e.g. 'manifest-missing-suitable-icon').", "typeRef": null}, {"name": "errorArguments", "type": "array", "optional": false, "description": "The list of error arguments (e.g. {name:'minimum-icon-size-in-pixels', value:'64'}).", "typeRef": "Page.InstallabilityErrorArgument"}]);
|
|
1179
1180
|
inspectorBackend.registerType("Page.CompilationCacheParams", [{"name": "url", "type": "string", "optional": false, "description": "The URL of the script to produce a compilation cache entry for.", "typeRef": null}, {"name": "eager", "type": "boolean", "optional": true, "description": "A hint to the backend whether eager compilation is recommended. (the actual compilation mode used is upon backend discretion).", "typeRef": null}]);
|
|
1180
1181
|
inspectorBackend.registerType("Page.FileFilter", [{"name": "name", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "accepts", "type": "array", "optional": true, "description": "", "typeRef": "string"}]);
|
|
1181
|
-
inspectorBackend.registerType("Page.FileHandler", [{"name": "action", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "name", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "
|
|
1182
|
+
inspectorBackend.registerType("Page.FileHandler", [{"name": "action", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "name", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "accepts", "type": "array", "optional": true, "description": "Mimic a map, name is the key, accepts is the value.", "typeRef": "Page.FileFilter"}, {"name": "launchType", "type": "string", "optional": false, "description": "Won't repeat the enums, using string for easy comparison. Same as the other enums below.", "typeRef": null}]);
|
|
1182
1183
|
inspectorBackend.registerType("Page.ImageResource", [{"name": "url", "type": "string", "optional": false, "description": "The src field in the definition, but changing to url in favor of consistency.", "typeRef": null}, {"name": "sizes", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "type", "type": "string", "optional": true, "description": "", "typeRef": null}]);
|
|
1183
1184
|
inspectorBackend.registerType("Page.LaunchHandler", [{"name": "clientMode", "type": "string", "optional": false, "description": "", "typeRef": null}]);
|
|
1184
1185
|
inspectorBackend.registerType("Page.ProtocolHandler", [{"name": "protocol", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "url", "type": "string", "optional": false, "description": "", "typeRef": null}]);
|
|
@@ -1482,7 +1483,7 @@ inspectorBackend.registerCommand("WebAuthn.setUserVerified", [{"name": "authenti
|
|
|
1482
1483
|
inspectorBackend.registerCommand("WebAuthn.setAutomaticPresenceSimulation", [{"name": "authenticatorId", "type": "string", "optional": false, "description": "", "typeRef": "WebAuthn.AuthenticatorId"}, {"name": "enabled", "type": "boolean", "optional": false, "description": "", "typeRef": null}], [], "Sets whether tests of user presence will succeed immediately (if true) or fail to resolve (if false) for an authenticator. The default is true.");
|
|
1483
1484
|
inspectorBackend.registerCommand("WebAuthn.setCredentialProperties", [{"name": "authenticatorId", "type": "string", "optional": false, "description": "", "typeRef": "WebAuthn.AuthenticatorId"}, {"name": "credentialId", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "backupEligibility", "type": "boolean", "optional": true, "description": "", "typeRef": null}, {"name": "backupState", "type": "boolean", "optional": true, "description": "", "typeRef": null}, {"name": "activeCmtgKeyIndex", "type": "number", "optional": true, "description": "", "typeRef": null}, {"name": "generateCmtgKeyOnNextOperation", "type": "boolean", "optional": true, "description": "", "typeRef": null}, {"name": "signCount", "type": "number", "optional": true, "description": "Must be equal to or greater than -1. If -1, the signature counter is removed from the credential, and every assertion operation will report a value of 0. See https://w3c.github.io/webauthn/#signature-counter", "typeRef": null}], [], "Allows setting credential properties. https://w3c.github.io/webauthn/#sctn-automation-set-credential-properties");
|
|
1484
1485
|
inspectorBackend.registerType("WebAuthn.VirtualAuthenticatorOptions", [{"name": "protocol", "type": "string", "optional": false, "description": "", "typeRef": "WebAuthn.AuthenticatorProtocol"}, {"name": "ctap2Version", "type": "string", "optional": true, "description": "Defaults to ctap2_0. Ignored if |protocol| == u2f.", "typeRef": "WebAuthn.Ctap2Version"}, {"name": "transport", "type": "string", "optional": false, "description": "", "typeRef": "WebAuthn.AuthenticatorTransport"}, {"name": "hasResidentKey", "type": "boolean", "optional": true, "description": "Defaults to false.", "typeRef": null}, {"name": "hasUserVerification", "type": "boolean", "optional": true, "description": "Defaults to false.", "typeRef": null}, {"name": "hasLargeBlob", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the largeBlob extension. https://w3c.github.io/webauthn#largeBlob Defaults to false.", "typeRef": null}, {"name": "hasCredBlob", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the credBlob extension. https://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html#sctn-credBlob-extension Defaults to false.", "typeRef": null}, {"name": "hasMinPinLength", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the minPinLength extension. https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#sctn-minpinlength-extension Defaults to false.", "typeRef": null}, {"name": "hasPrf", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the prf extension. https://w3c.github.io/webauthn/#prf-extension Defaults to false.", "typeRef": null}, {"name": "hasHmacSecret", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the hmac-secret extension. https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#sctn-hmac-secret-extension Defaults to false.", "typeRef": null}, {"name": "hasHmacSecretMc", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the hmac-secret-mc extension. https://fidoalliance.org/specs/fido-v2.2-rd-20241003/fido-client-to-authenticator-protocol-v2.2-rd-20241003.html#sctn-hmac-secret-make-cred-extension Defaults to false.", "typeRef": null}, {"name": "hasCmtgKey", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the cmtgKey (Credential Manager Trust Group Key) extension. https://github.com/w3c/webauthn/pull/2377 Defaults to false.", "typeRef": null}, {"name": "automaticPresenceSimulation", "type": "boolean", "optional": true, "description": "If set to true, tests of user presence will succeed immediately. Otherwise, they will not be resolved. Defaults to true.", "typeRef": null}, {"name": "isUserVerified", "type": "boolean", "optional": true, "description": "Sets whether User Verification succeeds or fails for an authenticator. Defaults to false.", "typeRef": null}, {"name": "defaultBackupEligibility", "type": "boolean", "optional": true, "description": "Credentials created by this authenticator will have the backup eligibility (BE) flag set to this value. Defaults to false. https://w3c.github.io/webauthn/#sctn-credential-backup", "typeRef": null}, {"name": "defaultBackupState", "type": "boolean", "optional": true, "description": "Credentials created by this authenticator will have the backup state (BS) flag set to this value. Defaults to false. https://w3c.github.io/webauthn/#sctn-credential-backup", "typeRef": null}]);
|
|
1485
|
-
inspectorBackend.registerType("WebAuthn.Credential", [{"name": "credentialId", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "isResidentCredential", "type": "boolean", "optional": false, "description": "", "typeRef": null}, {"name": "rpId", "type": "string", "optional": true, "description": "Relying Party ID the credential is scoped to. Must be set when adding a credential.", "typeRef": null}, {"name": "privateKey", "type": "string", "optional": false, "description": "The ECDSA P-256 private key in PKCS#8 format.", "typeRef": null}, {"name": "userHandle", "type": "string", "optional": true, "description": "An opaque byte sequence with a maximum size of 64 bytes mapping the credential to a specific user.", "typeRef": null}, {"name": "signCount", "type": "number", "optional":
|
|
1486
|
+
inspectorBackend.registerType("WebAuthn.Credential", [{"name": "credentialId", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "isResidentCredential", "type": "boolean", "optional": false, "description": "", "typeRef": null}, {"name": "rpId", "type": "string", "optional": true, "description": "Relying Party ID the credential is scoped to. Must be set when adding a credential.", "typeRef": null}, {"name": "privateKey", "type": "string", "optional": false, "description": "The ECDSA P-256 private key in PKCS#8 format.", "typeRef": null}, {"name": "userHandle", "type": "string", "optional": true, "description": "An opaque byte sequence with a maximum size of 64 bytes mapping the credential to a specific user.", "typeRef": null}, {"name": "signCount", "type": "number", "optional": false, "description": "Signature counter. Must be equal to or greater than -1. If -1, the credential won't have an associated signature counter, and every assertion operation will report a value of 0. See https://w3c.github.io/webauthn/#signature-counter", "typeRef": null}, {"name": "largeBlob", "type": "string", "optional": true, "description": "The large blob associated with the credential. See https://w3c.github.io/webauthn/#sctn-large-blob-extension", "typeRef": null}, {"name": "backupEligibility", "type": "boolean", "optional": true, "description": "Assertions returned by this credential will have the backup eligibility (BE) flag set to this value. Defaults to the authenticator's defaultBackupEligibility value.", "typeRef": null}, {"name": "backupState", "type": "boolean", "optional": true, "description": "Assertions returned by this credential will have the backup state (BS) flag set to this value. Defaults to the authenticator's defaultBackupState value.", "typeRef": null}, {"name": "userName", "type": "string", "optional": true, "description": "The credential's user.name property. Equivalent to empty if not set. https://w3c.github.io/webauthn/#dom-publickeycredentialentity-name", "typeRef": null}, {"name": "userDisplayName", "type": "string", "optional": true, "description": "The credential's user.displayName property. Equivalent to empty if not set. https://w3c.github.io/webauthn/#dom-publickeycredentialuserentity-displayname", "typeRef": null}, {"name": "cmtgKeys", "type": "array", "optional": true, "description": "The CMTG keys associated with the credential.", "typeRef": "binary"}, {"name": "activeCmtgKeyIndex", "type": "number", "optional": true, "description": "The 0-based index of the active key in cmtgKeys.", "typeRef": null}, {"name": "generateCmtgKeyOnNextOperation", "type": "boolean", "optional": true, "description": "If true, the authenticator will generate a new CMTG key on the next operation.", "typeRef": null}]);
|
|
1486
1487
|
|
|
1487
1488
|
// WebMCP.
|
|
1488
1489
|
inspectorBackend.registerEnum("WebMCP.InvocationStatus", {Completed: "Completed", Canceled: "Canceled", Error: "Error"});
|
|
@@ -1513,7 +1514,7 @@ inspectorBackend.registerEnum("Debugger.ContinueToLocationRequestTargetCallFrame
|
|
|
1513
1514
|
inspectorBackend.registerCommand("Debugger.continueToLocation", [{"name": "location", "type": "object", "optional": false, "description": "Location to continue to.", "typeRef": "Debugger.Location"}, {"name": "targetCallFrames", "type": "string", "optional": true, "description": "", "typeRef": "Debugger.ContinueToLocationRequestTargetCallFrames"}], [], "Continues execution until specific location is reached.");
|
|
1514
1515
|
inspectorBackend.registerCommand("Debugger.disable", [], [], "Disables debugger for given page.");
|
|
1515
1516
|
inspectorBackend.registerCommand("Debugger.enable", [{"name": "maxScriptsCacheSize", "type": "number", "optional": true, "description": "The maximum size in bytes of collected scripts (not referenced by other heap objects) the debugger can hold. Puts no limit if parameter is omitted.", "typeRef": null}], ["debuggerId"], "Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received.");
|
|
1516
|
-
inspectorBackend.registerCommand("Debugger.evaluateOnCallFrame", [{"name": "callFrameId", "type": "string", "optional": false, "description": "Call frame identifier to evaluate on.", "typeRef": "Debugger.CallFrameId"}, {"name": "expression", "type": "string", "optional": false, "description": "Expression to evaluate.", "typeRef": null}, {"name": "objectGroup", "type": "string", "optional": true, "description": "String object group name to put result into (allows rapid releasing resulting object handles using `releaseObjectGroup`).", "typeRef": null}, {"name": "includeCommandLineAPI", "type": "boolean", "optional": true, "description": "Specifies whether command line API should be available to the evaluated expression, defaults to false.", "typeRef": null}, {"name": "silent", "type": "boolean", "optional": true, "description": "In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides `setPauseOnException` state.", "typeRef": null}, {"name": "returnByValue", "type": "boolean", "optional": true, "description": "Whether the result is expected to be a JSON object that should be sent by value.", "typeRef": null}, {"name": "generatePreview", "type": "boolean", "optional": true, "description": "Whether preview should be generated for the result.", "typeRef": null}, {"name": "throwOnSideEffect", "type": "boolean", "optional": true, "description": "Whether to throw an exception if side effect cannot be ruled out during evaluation.", "typeRef": null}, {"name": "timeout", "type": "number", "optional": true, "description": "Terminate execution after timing out (number of milliseconds).", "typeRef": "Runtime.TimeDelta"}], ["result", "exceptionDetails"], "Evaluates expression on a given call frame.");
|
|
1517
|
+
inspectorBackend.registerCommand("Debugger.evaluateOnCallFrame", [{"name": "callFrameId", "type": "string", "optional": false, "description": "Call frame identifier to evaluate on.", "typeRef": "Debugger.CallFrameId"}, {"name": "expression", "type": "string", "optional": false, "description": "Expression to evaluate.", "typeRef": null}, {"name": "objectGroup", "type": "string", "optional": true, "description": "String object group name to put result into (allows rapid releasing resulting object handles using `releaseObjectGroup`).", "typeRef": null}, {"name": "includeCommandLineAPI", "type": "boolean", "optional": true, "description": "Specifies whether command line API should be available to the evaluated expression, defaults to false.", "typeRef": null}, {"name": "silent", "type": "boolean", "optional": true, "description": "In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides `setPauseOnException` state.", "typeRef": null}, {"name": "returnByValue", "type": "boolean", "optional": true, "description": "Whether the result is expected to be a JSON object that should be sent by value.", "typeRef": null}, {"name": "generatePreview", "type": "boolean", "optional": true, "description": "Whether preview should be generated for the result.", "typeRef": null}, {"name": "throwOnSideEffect", "type": "boolean", "optional": true, "description": "Whether to throw an exception if side effect cannot be ruled out during evaluation.", "typeRef": null}, {"name": "timeout", "type": "number", "optional": true, "description": "Terminate execution after timing out (number of milliseconds).", "typeRef": "Runtime.TimeDelta"}, {"name": "scopeNumber", "type": "number", "optional": true, "description": "Specifies the scope number to evaluate the expression in (default: 0, innermost scope).", "typeRef": null}], ["result", "exceptionDetails"], "Evaluates expression on a given call frame.");
|
|
1517
1518
|
inspectorBackend.registerCommand("Debugger.getPossibleBreakpoints", [{"name": "start", "type": "object", "optional": false, "description": "Start of range to search possible breakpoint locations in.", "typeRef": "Debugger.Location"}, {"name": "end", "type": "object", "optional": true, "description": "End of range to search possible breakpoint locations in (excluding). When not specified, end of scripts is used as end of range.", "typeRef": "Debugger.Location"}, {"name": "restrictToFunction", "type": "boolean", "optional": true, "description": "Only consider locations which are in the same (non-nested) function as start.", "typeRef": null}], ["locations"], "Returns possible locations for breakpoint. scriptId in start and end range locations should be the same.");
|
|
1518
1519
|
inspectorBackend.registerCommand("Debugger.getScriptSource", [{"name": "scriptId", "type": "string", "optional": false, "description": "Id of the script to get source for.", "typeRef": "Runtime.ScriptId"}], ["scriptSource", "bytecode"], "Returns source for the script with given id.");
|
|
1519
1520
|
inspectorBackend.registerCommand("Debugger.disassembleWasmModule", [{"name": "scriptId", "type": "string", "optional": false, "description": "Id of the script to disassemble", "typeRef": "Runtime.ScriptId"}], ["streamId", "totalNumberOfLines", "functionBodyOffsets", "chunk"], "");
|
|
@@ -668,6 +668,7 @@ export const generatedProperties = [
|
|
|
668
668
|
"math-shift",
|
|
669
669
|
"math-style",
|
|
670
670
|
"max-block-size",
|
|
671
|
+
"max-content-sizing",
|
|
671
672
|
"max-height",
|
|
672
673
|
"max-inline-size",
|
|
673
674
|
"max-lines",
|
|
@@ -826,6 +827,7 @@ export const generatedProperties = [
|
|
|
826
827
|
"text-box-trim",
|
|
827
828
|
"text-combine-upright",
|
|
828
829
|
"text-decoration-color",
|
|
830
|
+
"text-decoration-inset",
|
|
829
831
|
"text-decoration-line",
|
|
830
832
|
"text-decoration-skip-ink",
|
|
831
833
|
"text-decoration-skip-spaces",
|
|
@@ -3915,6 +3917,15 @@ export const generatedProperties = [
|
|
|
3915
3917
|
],
|
|
3916
3918
|
"name": "max-block-size"
|
|
3917
3919
|
},
|
|
3920
|
+
{
|
|
3921
|
+
"keywords": [
|
|
3922
|
+
"auto",
|
|
3923
|
+
"shrink-to-fit"
|
|
3924
|
+
],
|
|
3925
|
+
"name": "max-content-sizing",
|
|
3926
|
+
"runtime_flag": "CssMaxContentSizing",
|
|
3927
|
+
"runtime_flag_status": "test"
|
|
3928
|
+
},
|
|
3918
3929
|
{
|
|
3919
3930
|
"keywords": [
|
|
3920
3931
|
"none"
|
|
@@ -4981,7 +4992,7 @@ export const generatedProperties = [
|
|
|
4981
4992
|
],
|
|
4982
4993
|
"name": "scroll-axis-lock",
|
|
4983
4994
|
"runtime_flag": "ScrollAxisLock",
|
|
4984
|
-
"runtime_flag_status": "
|
|
4995
|
+
"runtime_flag_status": "stable"
|
|
4985
4996
|
},
|
|
4986
4997
|
{
|
|
4987
4998
|
"keywords": [
|
|
@@ -5479,6 +5490,15 @@ export const generatedProperties = [
|
|
|
5479
5490
|
],
|
|
5480
5491
|
"name": "text-decoration-color"
|
|
5481
5492
|
},
|
|
5493
|
+
{
|
|
5494
|
+
"inherited": false,
|
|
5495
|
+
"keywords": [
|
|
5496
|
+
"auto"
|
|
5497
|
+
],
|
|
5498
|
+
"name": "text-decoration-inset",
|
|
5499
|
+
"runtime_flag": "CSSTextDecorationInset",
|
|
5500
|
+
"runtime_flag_status": "experimental"
|
|
5501
|
+
},
|
|
5482
5502
|
{
|
|
5483
5503
|
"keywords": [
|
|
5484
5504
|
"none",
|
|
@@ -8046,6 +8066,12 @@ export const generatedPropertyValues = {
|
|
|
8046
8066
|
"none"
|
|
8047
8067
|
]
|
|
8048
8068
|
},
|
|
8069
|
+
"max-content-sizing": {
|
|
8070
|
+
"values": [
|
|
8071
|
+
"auto",
|
|
8072
|
+
"shrink-to-fit"
|
|
8073
|
+
]
|
|
8074
|
+
},
|
|
8049
8075
|
"max-height": {
|
|
8050
8076
|
"values": [
|
|
8051
8077
|
"none"
|
|
@@ -8831,6 +8857,11 @@ export const generatedPropertyValues = {
|
|
|
8831
8857
|
"currentcolor"
|
|
8832
8858
|
]
|
|
8833
8859
|
},
|
|
8860
|
+
"text-decoration-inset": {
|
|
8861
|
+
"values": [
|
|
8862
|
+
"auto"
|
|
8863
|
+
]
|
|
8864
|
+
},
|
|
8834
8865
|
"text-decoration-line": {
|
|
8835
8866
|
"values": [
|
|
8836
8867
|
"none",
|
|
@@ -2273,6 +2273,14 @@ export namespace ProtocolMapping {
|
|
|
2273
2273
|
paramsType: [Protocol.DOM.ForceShowPopoverRequest];
|
|
2274
2274
|
returnType: Protocol.DOM.ForceShowPopoverResponse;
|
|
2275
2275
|
};
|
|
2276
|
+
/**
|
|
2277
|
+
* When enabling, this API forces an element to gain interest in its target,
|
|
2278
|
+
* keeping interest active until disabled.
|
|
2279
|
+
*/
|
|
2280
|
+
'DOM.forceShowInterest': {
|
|
2281
|
+
paramsType: [Protocol.DOM.ForceShowInterestRequest];
|
|
2282
|
+
returnType: void;
|
|
2283
|
+
};
|
|
2276
2284
|
/**
|
|
2277
2285
|
* Returns event listeners of the given object.
|
|
2278
2286
|
*/
|
|
@@ -1369,6 +1369,12 @@ declare namespace ProtocolProxyApi {
|
|
|
1369
1369
|
*/
|
|
1370
1370
|
invoke_forceShowPopover(params: Protocol.DOM.ForceShowPopoverRequest): Promise<Protocol.DOM.ForceShowPopoverResponse>;
|
|
1371
1371
|
|
|
1372
|
+
/**
|
|
1373
|
+
* When enabling, this API forces an element to gain interest in its target,
|
|
1374
|
+
* keeping interest active until disabled.
|
|
1375
|
+
*/
|
|
1376
|
+
invoke_forceShowInterest(params: Protocol.DOM.ForceShowInterestRequest): Promise<Protocol.ProtocolResponseWithError>;
|
|
1377
|
+
|
|
1372
1378
|
}
|
|
1373
1379
|
export interface DOMDispatcher {
|
|
1374
1380
|
/**
|
|
@@ -5897,6 +5897,17 @@ export namespace DOM {
|
|
|
5897
5897
|
nodeIds: NodeId[];
|
|
5898
5898
|
}
|
|
5899
5899
|
|
|
5900
|
+
export interface ForceShowInterestRequest {
|
|
5901
|
+
/**
|
|
5902
|
+
* Id of the interest invoker HTMLElement.
|
|
5903
|
+
*/
|
|
5904
|
+
nodeId: NodeId;
|
|
5905
|
+
/**
|
|
5906
|
+
* If true, opens and holds interest. If false, releases forced interest.
|
|
5907
|
+
*/
|
|
5908
|
+
enable: boolean;
|
|
5909
|
+
}
|
|
5910
|
+
|
|
5900
5911
|
/**
|
|
5901
5912
|
* Fired when `Element`'s attribute is modified.
|
|
5902
5913
|
*/
|
|
@@ -15215,7 +15226,6 @@ export namespace Page {
|
|
|
15215
15226
|
export interface FileHandler {
|
|
15216
15227
|
action: string;
|
|
15217
15228
|
name: string;
|
|
15218
|
-
icons?: ImageResource[];
|
|
15219
15229
|
/**
|
|
15220
15230
|
* Mimic a map, name is the key, accepts is the value.
|
|
15221
15231
|
*/
|
|
@@ -20172,7 +20182,7 @@ export namespace WebAuthn {
|
|
|
20172
20182
|
* every assertion operation will report a value of 0.
|
|
20173
20183
|
* See https://w3c.github.io/webauthn/#signature-counter
|
|
20174
20184
|
*/
|
|
20175
|
-
signCount
|
|
20185
|
+
signCount: integer;
|
|
20176
20186
|
/**
|
|
20177
20187
|
* The large blob associated with the credential.
|
|
20178
20188
|
* See https://w3c.github.io/webauthn/#sctn-large-blob-extension
|
|
@@ -20816,6 +20826,10 @@ export namespace Debugger {
|
|
|
20816
20826
|
* Terminate execution after timing out (number of milliseconds).
|
|
20817
20827
|
*/
|
|
20818
20828
|
timeout?: Runtime.TimeDelta;
|
|
20829
|
+
/**
|
|
20830
|
+
* Specifies the scope number to evaluate the expression in (default: 0, innermost scope).
|
|
20831
|
+
*/
|
|
20832
|
+
scopeNumber?: integer;
|
|
20819
20833
|
}
|
|
20820
20834
|
|
|
20821
20835
|
export interface EvaluateOnCallFrameResponse extends ProtocolResponseWithError {
|