chrome-devtools-frontend 1.0.1668390 → 1.0.1669021
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/.agents/skills/devtools-ci/SKILL.md +65 -0
- package/.agents/skills/gerrit-cli/SKILL.md +59 -0
- package/.agents/skills/gerrit-cli/references/commands.md +93 -0
- package/.agents/skills/gerrit-cli/references/workflows.md +56 -0
- package/.agents/skills/gerrit-cli/scripts/gerrit_client_wrapper.py +47 -0
- package/.agents/skills/gerrit-cli/scripts/import_upstream.py +230 -0
- package/docs/contributing/infrastructure.md +7 -1
- package/front_end/core/host/AidaClient.ts +66 -47
- package/front_end/core/host/GcaClient.ts +4 -6
- package/front_end/core/host/ResourceLoader.ts +4 -2
- package/front_end/core/root/Runtime.ts +0 -5
- package/front_end/core/sdk/ConsoleModel.ts +3 -2
- package/front_end/core/sdk/DebuggerModel.ts +14 -6
- package/front_end/core/sdk/SDKSettings.ts +19 -0
- package/front_end/core/sdk/sdk-meta.ts +0 -58
- package/front_end/generated/InspectorBackendCommands.ts +2 -2
- package/front_end/generated/protocol.ts +11 -3
- package/front_end/models/ai_assistance/AiUtils.ts +67 -4
- package/front_end/models/ai_assistance/StorageItem.ts +26 -5
- package/front_end/models/ai_code_completion/AiCodeCompletion.ts +2 -19
- package/front_end/models/ai_code_generation/AiCodeGeneration.ts +2 -3
- package/front_end/models/trace/handlers/RendererHandler.ts +20 -4
- package/front_end/models/trace/types/File.ts +1 -0
- package/front_end/models/workspace/UISourceCode.ts +0 -10
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +61 -182
- package/front_end/panels/ai_assistance/components/ChatInput.ts +25 -8
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +13 -69
- package/front_end/panels/ai_assistance/components/ChatView.ts +14 -8
- package/front_end/panels/ai_assistance/components/chatMessage.css +2 -20
- package/front_end/panels/application/ApplicationPanelSidebar.ts +2 -2
- package/front_end/panels/application/ApplicationPanelTreeElement.ts +41 -3
- package/front_end/panels/application/ServiceWorkerUpdateCycleView.ts +116 -79
- package/front_end/panels/application/ServiceWorkersView.ts +8 -8
- package/front_end/panels/application/application.ts +2 -0
- package/front_end/panels/application/components/AdsView.ts +10 -6
- package/front_end/panels/application/preloading/PreloadingView.ts +53 -45
- package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +111 -119
- package/front_end/panels/application/preloading/components/preloadingDetailsReportView.css +21 -23
- package/front_end/panels/application/serviceWorkerUpdateCycleView.css +105 -102
- package/front_end/panels/common/AiCodeCompletionDisclaimer.ts +107 -96
- package/front_end/panels/common/AiCodeCompletionSummaryToolbar.ts +17 -19
- package/front_end/panels/common/AiCodeCompletionTeaser.ts +6 -6
- package/front_end/panels/common/AiCodeGenerationTeaser.ts +28 -26
- package/front_end/panels/common/common.ts +1 -1
- package/front_end/panels/console/ConsoleInsightTeaser.ts +3 -6
- package/front_end/panels/console/ConsoleView.ts +6 -4
- package/front_end/panels/console/ConsoleViewMessage.ts +1 -1
- package/front_end/panels/console/console-meta.ts +28 -0
- package/front_end/panels/elements/StylesAiCodeCompletionProvider.ts +1 -1
- package/front_end/panels/elements/StylesSidebarPane.ts +3 -2
- package/front_end/panels/emulation/DeviceModeWrapper.ts +18 -4
- package/front_end/panels/explain/components/ConsoleInsight.ts +4 -6
- package/front_end/panels/explain/explain-meta.ts +7 -49
- package/front_end/panels/network/NetworkDataGridNode.ts +1 -1
- package/front_end/panels/network/NetworkLogView.ts +1 -0
- package/front_end/panels/network/OriginalResourceChunkView.ts +340 -0
- package/front_end/panels/network/ResourceChunkView.ts +72 -46
- package/front_end/panels/network/ResourceDirectSocketChunkView.ts +3 -2
- package/front_end/panels/network/ResourceWebSocketFrameView.ts +3 -3
- package/front_end/panels/network/originalResourceChunkView.css +49 -0
- package/front_end/panels/screencast/ScreencastView.ts +401 -260
- package/front_end/panels/screencast/screencastView.css +113 -100
- package/front_end/panels/sensors/LocationsSettingsTab.ts +106 -122
- package/front_end/panels/sensors/locationsSettingsTab.css +4 -4
- package/front_end/panels/settings/AISettingsTab.ts +17 -100
- package/front_end/panels/snippets/ScriptSnippetFileSystem.ts +2 -2
- package/front_end/panels/snippets/SnippetsQuickOpen.ts +4 -4
- package/front_end/panels/sources/AddSourceMapURLDialog.ts +3 -3
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +4 -3
- package/front_end/panels/sources/BreakpointEditDialog.ts +14 -14
- package/front_end/panels/sources/BreakpointsView.ts +14 -14
- package/front_end/panels/sources/CallStackSidebarPane.ts +6 -6
- package/front_end/panels/sources/CategorizedBreakpointL10n.ts +18 -18
- package/front_end/panels/sources/CoveragePlugin.ts +7 -7
- package/front_end/panels/sources/DebuggerPausedMessage.ts +23 -23
- package/front_end/panels/sources/DebuggerPlugin.ts +29 -29
- package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +2 -2
- package/front_end/panels/sources/GoToLineQuickOpen.ts +10 -10
- package/front_end/panels/sources/NavigatorView.ts +34 -27
- package/front_end/panels/sources/OutlineQuickOpen.ts +3 -3
- package/front_end/panels/sources/PersistenceActions.ts +9 -9
- package/front_end/panels/sources/ProfilePlugin.ts +1 -1
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +5 -5
- package/front_end/panels/sources/SnippetsPlugin.ts +2 -2
- package/front_end/panels/sources/SourcesNavigator.ts +20 -18
- package/front_end/panels/sources/SourcesPanel.ts +26 -25
- package/front_end/panels/sources/SourcesView.ts +5 -6
- package/front_end/panels/sources/TabbedEditorContainer.ts +3 -3
- package/front_end/panels/sources/ThreadsSidebarPane.ts +1 -1
- package/front_end/panels/sources/UISourceCodeFrame.ts +0 -2
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +7 -7
- package/front_end/panels/sources/components/HeadersView.ts +2 -2
- package/front_end/panels/sources/sources-meta.ts +109 -71
- package/front_end/panels/sources/sources.ts +0 -2
- package/front_end/panels/timeline/TimelineHistoryManager.ts +14 -3
- package/front_end/panels/timeline/TimelineLoader.ts +72 -42
- package/front_end/panels/timeline/TimelinePanel.ts +29 -4
- package/front_end/panels/timeline/timelineHistoryManager.css +4 -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 +187 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +91 -38
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Browser.d.ts +145 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Browser.js +0 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/BrowserContext.d.ts +0 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/BrowserContext.js +0 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Dialog.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Dialog.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Dialog.js +8 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Dialog.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/JSHandle.d.ts +0 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/JSHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/JSHandle.js +0 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/JSHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.d.ts +1 -3
- 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 +0 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Realm.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Realm.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Realm.js.map +1 -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 +2 -2
- 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/Browser.d.ts +5 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Browser.js +12 -0
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/HTTPResponse.js +4 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/HTTPResponse.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Browser.d.ts +5 -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 +49 -0
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/EventEmitter.d.ts +0 -6
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/EventEmitter.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/EventEmitter.js +0 -6
- package/front_end/third_party/puppeteer/package/lib/puppeteer/common/EventEmitter.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/util.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.d.ts +0 -3
- 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 +0 -3
- 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/disposable.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/util/disposable.js +2 -2
- 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 +187 -1
- package/front_end/third_party/puppeteer/package/package.json +5 -5
- package/front_end/third_party/puppeteer/package/src/api/Browser.ts +155 -2
- package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +0 -2
- package/front_end/third_party/puppeteer/package/src/api/Dialog.ts +10 -2
- package/front_end/third_party/puppeteer/package/src/api/JSHandle.ts +0 -2
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +1 -3
- package/front_end/third_party/puppeteer/package/src/api/Realm.ts +0 -1
- package/front_end/third_party/puppeteer/package/src/bidi/BidiOverCdp.ts +4 -2
- package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +17 -0
- package/front_end/third_party/puppeteer/package/src/bidi/HTTPResponse.ts +5 -4
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +66 -0
- package/front_end/third_party/puppeteer/package/src/common/EventEmitter.ts +0 -6
- package/front_end/third_party/puppeteer/package/src/generated/injected.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/injected/util.ts +4 -1
- package/front_end/third_party/puppeteer/package/src/node/ScreenRecorder.ts +0 -3
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/disposable.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +9 -7
- package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +7 -8
- package/front_end/ui/legacy/Dialog.ts +12 -2
- package/front_end/ui/legacy/TabbedPane.ts +7 -2
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +40 -24
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +1 -0
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +8 -4
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +14 -7
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +11 -1
- package/front_end/ui/visual_logging/KnownContextValues.ts +2 -0
- package/package.json +1 -1
- package/front_end/panels/sources/AiWarningInfobarPlugin.ts +0 -78
|
@@ -123,6 +123,11 @@ export declare interface AddScreenParams {
|
|
|
123
123
|
isInternal?: boolean;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
+
/**
|
|
127
|
+
* @public
|
|
128
|
+
*/
|
|
129
|
+
export declare const asyncDisposeSymbol: typeof Symbol.asyncDispose;
|
|
130
|
+
|
|
126
131
|
/**
|
|
127
132
|
* Supported autofill address field names.
|
|
128
133
|
*
|
|
@@ -567,6 +572,55 @@ export declare abstract class Browser extends EventEmitter<BrowserEvents> {
|
|
|
567
572
|
* Uninstalls an extension.
|
|
568
573
|
*/
|
|
569
574
|
abstract uninstallExtension(id: string): Promise<void>;
|
|
575
|
+
/**
|
|
576
|
+
* Installs a Progressive Web App (PWA) and returns its manifest id.
|
|
577
|
+
*
|
|
578
|
+
* @remarks
|
|
579
|
+
*
|
|
580
|
+
* Only available when connected to the browser over a pipe connection. Set
|
|
581
|
+
* `pipe: true` in {@link PuppeteerNode.launch | puppeteer.launch}; the launch
|
|
582
|
+
* option defaults to `false`. The underlying `PWA` CDP domain is not exposed
|
|
583
|
+
* over a WebSocket connection.
|
|
584
|
+
*
|
|
585
|
+
* The returned manifest id echoes {@link InstallPWAOptions.manifestId}, so it
|
|
586
|
+
* can be passed directly to {@link Browser.launchPWA},
|
|
587
|
+
* {@link Browser.getPWAState}, or {@link Browser.uninstallPWA}.
|
|
588
|
+
*/
|
|
589
|
+
abstract installPWA(options: InstallPWAOptions): Promise<string>;
|
|
590
|
+
/**
|
|
591
|
+
* Uninstalls a previously installed Progressive Web App (PWA).
|
|
592
|
+
*
|
|
593
|
+
* @remarks
|
|
594
|
+
*
|
|
595
|
+
* Only available over a pipe connection. See {@link Browser.installPWA}.
|
|
596
|
+
*/
|
|
597
|
+
abstract uninstallPWA(options: UninstallPWAOptions): Promise<void>;
|
|
598
|
+
/**
|
|
599
|
+
* Launches an installed Progressive Web App (PWA) and resolves with the
|
|
600
|
+
* {@link Page | page} backing the app window.
|
|
601
|
+
*
|
|
602
|
+
* @remarks
|
|
603
|
+
*
|
|
604
|
+
* Only available over a pipe connection. See {@link Browser.installPWA}.
|
|
605
|
+
*
|
|
606
|
+
* `PWA.launch` resolves with the id of the launched _tab_ target. Puppeteer
|
|
607
|
+
* does not expose tab targets through {@link Browser.targets}; this method
|
|
608
|
+
* instead resolves with the tab's child page target (the app's web contents).
|
|
609
|
+
* If Chromium focuses an existing app window, this returns that window's
|
|
610
|
+
* existing page.
|
|
611
|
+
*/
|
|
612
|
+
abstract launchPWA(options: LaunchPWAOptions): Promise<Page>;
|
|
613
|
+
/**
|
|
614
|
+
* Returns the OS-integration state of an installed Progressive Web App (PWA),
|
|
615
|
+
* such as its badge count and registered file handlers.
|
|
616
|
+
*
|
|
617
|
+
* @remarks
|
|
618
|
+
*
|
|
619
|
+
* Only available over a pipe connection. See {@link Browser.installPWA}.
|
|
620
|
+
* Meaningful only for an app that is currently installed; querying an
|
|
621
|
+
* unknown manifest id rejects.
|
|
622
|
+
*/
|
|
623
|
+
abstract getPWAState(options: GetPWAStateOptions): Promise<PWAState>;
|
|
570
624
|
/**
|
|
571
625
|
* Gets a list of {@link ScreenInfo | screen information objects}.
|
|
572
626
|
*/
|
|
@@ -591,6 +645,8 @@ export declare abstract class Browser extends EventEmitter<BrowserEvents> {
|
|
|
591
645
|
* Whether Puppeteer is connected to this {@link Browser | browser}.
|
|
592
646
|
*/
|
|
593
647
|
abstract get connected(): boolean;
|
|
648
|
+
[disposeSymbol](): void;
|
|
649
|
+
[asyncDisposeSymbol](): Promise<void>;
|
|
594
650
|
/**
|
|
595
651
|
* Get debug information from Puppeteer.
|
|
596
652
|
*
|
|
@@ -788,6 +844,8 @@ export declare abstract class BrowserContext extends EventEmitter<BrowserContext
|
|
|
788
844
|
* Identifier for this {@link BrowserContext | browser context}.
|
|
789
845
|
*/
|
|
790
846
|
get id(): string | undefined;
|
|
847
|
+
[disposeSymbol](): void;
|
|
848
|
+
[asyncDisposeSymbol](): Promise<void>;
|
|
791
849
|
}
|
|
792
850
|
|
|
793
851
|
/**
|
|
@@ -2067,6 +2125,11 @@ export declare interface DeviceRequestPromptDevice {
|
|
|
2067
2125
|
*/
|
|
2068
2126
|
export declare abstract class Dialog {
|
|
2069
2127
|
#private;
|
|
2128
|
+
/**
|
|
2129
|
+
* A boolean value indicating whether the dialog has been handled.
|
|
2130
|
+
*/
|
|
2131
|
+
get handled(): boolean;
|
|
2132
|
+
protected set handled(handled: boolean);
|
|
2070
2133
|
/**
|
|
2071
2134
|
* The type of the dialog.
|
|
2072
2135
|
*/
|
|
@@ -2094,6 +2157,11 @@ export declare abstract class Dialog {
|
|
|
2094
2157
|
dismiss(): Promise<void>;
|
|
2095
2158
|
}
|
|
2096
2159
|
|
|
2160
|
+
/**
|
|
2161
|
+
* @public
|
|
2162
|
+
*/
|
|
2163
|
+
export declare const disposeSymbol: typeof Symbol.dispose;
|
|
2164
|
+
|
|
2097
2165
|
/**
|
|
2098
2166
|
* @public
|
|
2099
2167
|
*/
|
|
@@ -2794,6 +2862,8 @@ export declare class EventEmitter<
|
|
|
2794
2862
|
* @returns `this` to enable you to chain method calls.
|
|
2795
2863
|
*/
|
|
2796
2864
|
removeAllListeners(type?: keyof EventsWithWildcard<Events>): this;
|
|
2865
|
+
[disposeSymbol](): void;
|
|
2866
|
+
[asyncDisposeSymbol](): Promise<void>;
|
|
2797
2867
|
}
|
|
2798
2868
|
|
|
2799
2869
|
/**
|
|
@@ -3731,6 +3801,18 @@ export declare interface GeolocationOptions {
|
|
|
3731
3801
|
accuracy?: number;
|
|
3732
3802
|
}
|
|
3733
3803
|
|
|
3804
|
+
/**
|
|
3805
|
+
* Options for {@link Browser.getPWAState}.
|
|
3806
|
+
*
|
|
3807
|
+
* @public
|
|
3808
|
+
*/
|
|
3809
|
+
export declare interface GetPWAStateOptions {
|
|
3810
|
+
/**
|
|
3811
|
+
* The id from the web app's manifest file.
|
|
3812
|
+
*/
|
|
3813
|
+
manifestId: string;
|
|
3814
|
+
}
|
|
3815
|
+
|
|
3734
3816
|
/**
|
|
3735
3817
|
* @public
|
|
3736
3818
|
*/
|
|
@@ -4157,6 +4239,37 @@ export declare type InnerParams<T extends unknown[]> = {
|
|
|
4157
4239
|
[K in keyof T]: FlattenHandle<T[K]>;
|
|
4158
4240
|
};
|
|
4159
4241
|
|
|
4242
|
+
/**
|
|
4243
|
+
* Options for {@link Browser.installPWA}.
|
|
4244
|
+
*
|
|
4245
|
+
* @public
|
|
4246
|
+
*/
|
|
4247
|
+
export declare interface InstallPWAOptions {
|
|
4248
|
+
/**
|
|
4249
|
+
* The id from the web app's manifest file, commonly the URL of the site
|
|
4250
|
+
* installing the web app. See
|
|
4251
|
+
* {@link https://web.dev/learn/pwa/web-app-manifest | Web app manifest}.
|
|
4252
|
+
*/
|
|
4253
|
+
manifestId: string;
|
|
4254
|
+
/**
|
|
4255
|
+
* The URL used to install the app, or the URL of its signed web bundle.
|
|
4256
|
+
*
|
|
4257
|
+
* This is required because the browser-scoped CDP session has no associated
|
|
4258
|
+
* page from which Chromium could derive an install URL.
|
|
4259
|
+
*/
|
|
4260
|
+
installUrlOrBundleUrl: string;
|
|
4261
|
+
/**
|
|
4262
|
+
* Whether the app should open in a standalone window or a browser tab.
|
|
4263
|
+
*
|
|
4264
|
+
* @remarks
|
|
4265
|
+
*
|
|
4266
|
+
* `PWA.install` alone leaves the app at Chromium's default display mode
|
|
4267
|
+
* (`browser`); setting this chains a `PWA.changeAppUserSettings` call to apply
|
|
4268
|
+
* the preference.
|
|
4269
|
+
*/
|
|
4270
|
+
displayMode?: PWADisplayMode;
|
|
4271
|
+
}
|
|
4272
|
+
|
|
4160
4273
|
/**
|
|
4161
4274
|
* @public
|
|
4162
4275
|
*/
|
|
@@ -4355,6 +4468,8 @@ export declare abstract class JSHandle<T = unknown> {
|
|
|
4355
4468
|
* backing this handle.
|
|
4356
4469
|
*/
|
|
4357
4470
|
abstract remoteObject(): Protocol.Runtime.RemoteObject;
|
|
4471
|
+
[disposeSymbol](): void;
|
|
4472
|
+
[asyncDisposeSymbol](): Promise<void>;
|
|
4358
4473
|
}
|
|
4359
4474
|
|
|
4360
4475
|
/**
|
|
@@ -5100,6 +5215,28 @@ export declare interface LaunchOptions extends ConnectOptions {
|
|
|
5100
5215
|
signal?: AbortSignal;
|
|
5101
5216
|
}
|
|
5102
5217
|
|
|
5218
|
+
/**
|
|
5219
|
+
* Options for {@link Browser.launchPWA}.
|
|
5220
|
+
*
|
|
5221
|
+
* @public
|
|
5222
|
+
*/
|
|
5223
|
+
export declare interface LaunchPWAOptions {
|
|
5224
|
+
/**
|
|
5225
|
+
* The id from the web app's manifest file.
|
|
5226
|
+
*/
|
|
5227
|
+
manifestId: string;
|
|
5228
|
+
/**
|
|
5229
|
+
* An optional URL within the app's scope to launch. Defaults to the app's
|
|
5230
|
+
* start URL.
|
|
5231
|
+
*/
|
|
5232
|
+
url?: string;
|
|
5233
|
+
/**
|
|
5234
|
+
* Maximum time in milliseconds to wait for the app's page target to appear.
|
|
5235
|
+
* Defaults to 30 seconds. Pass `0` to disable the timeout.
|
|
5236
|
+
*/
|
|
5237
|
+
timeout?: number;
|
|
5238
|
+
}
|
|
5239
|
+
|
|
5103
5240
|
/**
|
|
5104
5241
|
* Locators describe a strategy of locating objects and performing an action on
|
|
5105
5242
|
* them. If the action fails because the object is not ready for the action, the
|
|
@@ -5817,7 +5954,7 @@ export declare abstract class Page extends EventEmitter<PageEvents> {
|
|
|
5817
5954
|
abstract get tracing(): Tracing;
|
|
5818
5955
|
/**
|
|
5819
5956
|
* Experimental API for {@link https://github.com/webmachinelearning/webmcp| WebMCP}.
|
|
5820
|
-
* Requires Chrome
|
|
5957
|
+
* Requires Chrome 151+ with the `--enable-features=WebMCP` flag enabled.
|
|
5821
5958
|
*
|
|
5822
5959
|
* @experimental
|
|
5823
5960
|
*/
|
|
@@ -7560,6 +7697,8 @@ export declare abstract class Page extends EventEmitter<PageEvents> {
|
|
|
7560
7697
|
* @experimental
|
|
7561
7698
|
*/
|
|
7562
7699
|
abstract windowId(): Promise<WindowId>;
|
|
7700
|
+
[disposeSymbol](): void;
|
|
7701
|
+
[asyncDisposeSymbol](): Promise<void>;
|
|
7563
7702
|
/**
|
|
7564
7703
|
* Opens DevTools for the this page if not already open and returns the DevTools page.
|
|
7565
7704
|
* This method is only available in Chrome.
|
|
@@ -8188,6 +8327,12 @@ declare namespace Puppeteer_2 {
|
|
|
8188
8327
|
WorkAreaInsets,
|
|
8189
8328
|
AddScreenParams,
|
|
8190
8329
|
ExtensionInstallOptions,
|
|
8330
|
+
PWADisplayMode,
|
|
8331
|
+
InstallPWAOptions,
|
|
8332
|
+
UninstallPWAOptions,
|
|
8333
|
+
LaunchPWAOptions,
|
|
8334
|
+
GetPWAStateOptions,
|
|
8335
|
+
PWAState,
|
|
8191
8336
|
BrowserContextEvents,
|
|
8192
8337
|
CDPEvents,
|
|
8193
8338
|
CDPSessionEvents,
|
|
@@ -8371,6 +8516,8 @@ declare namespace Puppeteer_2 {
|
|
|
8371
8516
|
FileChooser,
|
|
8372
8517
|
Puppeteer,
|
|
8373
8518
|
SecurityDetails,
|
|
8519
|
+
disposeSymbol,
|
|
8520
|
+
asyncDisposeSymbol,
|
|
8374
8521
|
BrowserLauncher,
|
|
8375
8522
|
PuppeteerNode,
|
|
8376
8523
|
ScreenRecorder,
|
|
@@ -8537,6 +8684,31 @@ export declare class PuppeteerNode extends Puppeteer {
|
|
|
8537
8684
|
trimCache(): Promise<void>;
|
|
8538
8685
|
}
|
|
8539
8686
|
|
|
8687
|
+
/**
|
|
8688
|
+
* If the user prefers opening an installed web app in a standalone window or in
|
|
8689
|
+
* a browser tab.
|
|
8690
|
+
*
|
|
8691
|
+
* @public
|
|
8692
|
+
*/
|
|
8693
|
+
export declare type PWADisplayMode = 'standalone' | 'browser';
|
|
8694
|
+
|
|
8695
|
+
/**
|
|
8696
|
+
* The OS-integration state of an installed web app, returned by
|
|
8697
|
+
* {@link Browser.getPWAState}.
|
|
8698
|
+
*
|
|
8699
|
+
* @public
|
|
8700
|
+
*/
|
|
8701
|
+
export declare interface PWAState {
|
|
8702
|
+
/**
|
|
8703
|
+
* The current badge count shown on the app icon.
|
|
8704
|
+
*/
|
|
8705
|
+
badgeCount: number;
|
|
8706
|
+
/**
|
|
8707
|
+
* The file handlers registered by the app with the OS.
|
|
8708
|
+
*/
|
|
8709
|
+
fileHandlers: Protocol.PWA.FileHandler[];
|
|
8710
|
+
}
|
|
8711
|
+
|
|
8540
8712
|
/**
|
|
8541
8713
|
* @public
|
|
8542
8714
|
*/
|
|
@@ -8682,6 +8854,7 @@ export declare abstract class Realm {
|
|
|
8682
8854
|
},
|
|
8683
8855
|
...args: Params
|
|
8684
8856
|
): Promise<HandleFor<Awaited<ReturnType<Func>>>>;
|
|
8857
|
+
[disposeSymbol](): void;
|
|
8685
8858
|
}
|
|
8686
8859
|
|
|
8687
8860
|
/**
|
|
@@ -8865,6 +9038,7 @@ export declare class ScreenRecorder extends PassThrough {
|
|
|
8865
9038
|
* @public
|
|
8866
9039
|
*/
|
|
8867
9040
|
stop(): Promise<void>;
|
|
9041
|
+
[asyncDisposeSymbol](): Promise<void>;
|
|
8868
9042
|
}
|
|
8869
9043
|
|
|
8870
9044
|
/**
|
|
@@ -9338,6 +9512,18 @@ export declare interface TracingOptions {
|
|
|
9338
9512
|
categories?: string[];
|
|
9339
9513
|
}
|
|
9340
9514
|
|
|
9515
|
+
/**
|
|
9516
|
+
* Options for {@link Browser.uninstallPWA}.
|
|
9517
|
+
*
|
|
9518
|
+
* @public
|
|
9519
|
+
*/
|
|
9520
|
+
export declare interface UninstallPWAOptions {
|
|
9521
|
+
/**
|
|
9522
|
+
* The id from the web app's manifest file.
|
|
9523
|
+
*/
|
|
9524
|
+
manifestId: string;
|
|
9525
|
+
}
|
|
9526
|
+
|
|
9341
9527
|
/**
|
|
9342
9528
|
* Puppeteer will throw this error if a method is not
|
|
9343
9529
|
* supported by the currently used protocol
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "puppeteer-core",
|
|
3
|
-
"version": "25.
|
|
3
|
+
"version": "25.4.0",
|
|
4
4
|
"description": "A high-level API to control headless Chrome over the DevTools Protocol",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"puppeteer",
|
|
@@ -149,14 +149,14 @@
|
|
|
149
149
|
"license": "Apache-2.0",
|
|
150
150
|
"dependencies": {
|
|
151
151
|
"@puppeteer/browsers": "3.0.6",
|
|
152
|
-
"chromium-bidi": "
|
|
153
|
-
"devtools-protocol": "0.0.
|
|
152
|
+
"chromium-bidi": "17.0.2",
|
|
153
|
+
"devtools-protocol": "0.0.1653615",
|
|
154
154
|
"typed-query-selector": "^2.12.2",
|
|
155
155
|
"webdriver-bidi-protocol": "0.4.2",
|
|
156
|
-
"ws": "^8.21.
|
|
156
|
+
"ws": "^8.21.1"
|
|
157
157
|
},
|
|
158
158
|
"devDependencies": {
|
|
159
|
-
"@types/chrome": "0.2.
|
|
159
|
+
"@types/chrome": "0.2.2",
|
|
160
160
|
"@types/node": "^18.17.15",
|
|
161
161
|
"@types/ws": "8.18.1",
|
|
162
162
|
"mitt": "3.0.1",
|
|
@@ -334,6 +334,108 @@ export interface ExtensionInstallOptions {
|
|
|
334
334
|
enabledInIncognito: boolean;
|
|
335
335
|
}
|
|
336
336
|
|
|
337
|
+
/**
|
|
338
|
+
* If the user prefers opening an installed web app in a standalone window or in
|
|
339
|
+
* a browser tab.
|
|
340
|
+
*
|
|
341
|
+
* @public
|
|
342
|
+
*/
|
|
343
|
+
export type PWADisplayMode = 'standalone' | 'browser';
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Options for {@link Browser.installPWA}.
|
|
347
|
+
*
|
|
348
|
+
* @public
|
|
349
|
+
*/
|
|
350
|
+
export interface InstallPWAOptions {
|
|
351
|
+
/**
|
|
352
|
+
* The id from the web app's manifest file, commonly the URL of the site
|
|
353
|
+
* installing the web app. See
|
|
354
|
+
* {@link https://web.dev/learn/pwa/web-app-manifest | Web app manifest}.
|
|
355
|
+
*/
|
|
356
|
+
manifestId: string;
|
|
357
|
+
/**
|
|
358
|
+
* The URL used to install the app, or the URL of its signed web bundle.
|
|
359
|
+
*
|
|
360
|
+
* This is required because the browser-scoped CDP session has no associated
|
|
361
|
+
* page from which Chromium could derive an install URL.
|
|
362
|
+
*/
|
|
363
|
+
installUrlOrBundleUrl: string;
|
|
364
|
+
/**
|
|
365
|
+
* Whether the app should open in a standalone window or a browser tab.
|
|
366
|
+
*
|
|
367
|
+
* @remarks
|
|
368
|
+
*
|
|
369
|
+
* `PWA.install` alone leaves the app at Chromium's default display mode
|
|
370
|
+
* (`browser`); setting this chains a `PWA.changeAppUserSettings` call to apply
|
|
371
|
+
* the preference.
|
|
372
|
+
*/
|
|
373
|
+
displayMode?: PWADisplayMode;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* Options for {@link Browser.uninstallPWA}.
|
|
378
|
+
*
|
|
379
|
+
* @public
|
|
380
|
+
*/
|
|
381
|
+
export interface UninstallPWAOptions {
|
|
382
|
+
/**
|
|
383
|
+
* The id from the web app's manifest file.
|
|
384
|
+
*/
|
|
385
|
+
manifestId: string;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* Options for {@link Browser.launchPWA}.
|
|
390
|
+
*
|
|
391
|
+
* @public
|
|
392
|
+
*/
|
|
393
|
+
export interface LaunchPWAOptions {
|
|
394
|
+
/**
|
|
395
|
+
* The id from the web app's manifest file.
|
|
396
|
+
*/
|
|
397
|
+
manifestId: string;
|
|
398
|
+
/**
|
|
399
|
+
* An optional URL within the app's scope to launch. Defaults to the app's
|
|
400
|
+
* start URL.
|
|
401
|
+
*/
|
|
402
|
+
url?: string;
|
|
403
|
+
/**
|
|
404
|
+
* Maximum time in milliseconds to wait for the app's page target to appear.
|
|
405
|
+
* Defaults to 30 seconds. Pass `0` to disable the timeout.
|
|
406
|
+
*/
|
|
407
|
+
timeout?: number;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
/**
|
|
411
|
+
* Options for {@link Browser.getPWAState}.
|
|
412
|
+
*
|
|
413
|
+
* @public
|
|
414
|
+
*/
|
|
415
|
+
export interface GetPWAStateOptions {
|
|
416
|
+
/**
|
|
417
|
+
* The id from the web app's manifest file.
|
|
418
|
+
*/
|
|
419
|
+
manifestId: string;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* The OS-integration state of an installed web app, returned by
|
|
424
|
+
* {@link Browser.getPWAState}.
|
|
425
|
+
*
|
|
426
|
+
* @public
|
|
427
|
+
*/
|
|
428
|
+
export interface PWAState {
|
|
429
|
+
/**
|
|
430
|
+
* The current badge count shown on the app icon.
|
|
431
|
+
*/
|
|
432
|
+
badgeCount: number;
|
|
433
|
+
/**
|
|
434
|
+
* The file handlers registered by the app with the OS.
|
|
435
|
+
*/
|
|
436
|
+
fileHandlers: Protocol.PWA.FileHandler[];
|
|
437
|
+
}
|
|
438
|
+
|
|
337
439
|
/**
|
|
338
440
|
* {@link Browser} represents a browser instance that is either:
|
|
339
441
|
*
|
|
@@ -662,6 +764,59 @@ export abstract class Browser extends EventEmitter<BrowserEvents> {
|
|
|
662
764
|
*/
|
|
663
765
|
abstract uninstallExtension(id: string): Promise<void>;
|
|
664
766
|
|
|
767
|
+
/**
|
|
768
|
+
* Installs a Progressive Web App (PWA) and returns its manifest id.
|
|
769
|
+
*
|
|
770
|
+
* @remarks
|
|
771
|
+
*
|
|
772
|
+
* Only available when connected to the browser over a pipe connection. Set
|
|
773
|
+
* `pipe: true` in {@link PuppeteerNode.launch | puppeteer.launch}; the launch
|
|
774
|
+
* option defaults to `false`. The underlying `PWA` CDP domain is not exposed
|
|
775
|
+
* over a WebSocket connection.
|
|
776
|
+
*
|
|
777
|
+
* The returned manifest id echoes {@link InstallPWAOptions.manifestId}, so it
|
|
778
|
+
* can be passed directly to {@link Browser.launchPWA},
|
|
779
|
+
* {@link Browser.getPWAState}, or {@link Browser.uninstallPWA}.
|
|
780
|
+
*/
|
|
781
|
+
abstract installPWA(options: InstallPWAOptions): Promise<string>;
|
|
782
|
+
|
|
783
|
+
/**
|
|
784
|
+
* Uninstalls a previously installed Progressive Web App (PWA).
|
|
785
|
+
*
|
|
786
|
+
* @remarks
|
|
787
|
+
*
|
|
788
|
+
* Only available over a pipe connection. See {@link Browser.installPWA}.
|
|
789
|
+
*/
|
|
790
|
+
abstract uninstallPWA(options: UninstallPWAOptions): Promise<void>;
|
|
791
|
+
|
|
792
|
+
/**
|
|
793
|
+
* Launches an installed Progressive Web App (PWA) and resolves with the
|
|
794
|
+
* {@link Page | page} backing the app window.
|
|
795
|
+
*
|
|
796
|
+
* @remarks
|
|
797
|
+
*
|
|
798
|
+
* Only available over a pipe connection. See {@link Browser.installPWA}.
|
|
799
|
+
*
|
|
800
|
+
* `PWA.launch` resolves with the id of the launched _tab_ target. Puppeteer
|
|
801
|
+
* does not expose tab targets through {@link Browser.targets}; this method
|
|
802
|
+
* instead resolves with the tab's child page target (the app's web contents).
|
|
803
|
+
* If Chromium focuses an existing app window, this returns that window's
|
|
804
|
+
* existing page.
|
|
805
|
+
*/
|
|
806
|
+
abstract launchPWA(options: LaunchPWAOptions): Promise<Page>;
|
|
807
|
+
|
|
808
|
+
/**
|
|
809
|
+
* Returns the OS-integration state of an installed Progressive Web App (PWA),
|
|
810
|
+
* such as its badge count and registered file handlers.
|
|
811
|
+
*
|
|
812
|
+
* @remarks
|
|
813
|
+
*
|
|
814
|
+
* Only available over a pipe connection. See {@link Browser.installPWA}.
|
|
815
|
+
* Meaningful only for an app that is currently installed; querying an
|
|
816
|
+
* unknown manifest id rejects.
|
|
817
|
+
*/
|
|
818
|
+
abstract getPWAState(options: GetPWAStateOptions): Promise<PWAState>;
|
|
819
|
+
|
|
665
820
|
/**
|
|
666
821
|
* Gets a list of {@link ScreenInfo | screen information objects}.
|
|
667
822
|
*/
|
|
@@ -690,12 +845,10 @@ export abstract class Browser extends EventEmitter<BrowserEvents> {
|
|
|
690
845
|
*/
|
|
691
846
|
abstract get connected(): boolean;
|
|
692
847
|
|
|
693
|
-
/** @internal */
|
|
694
848
|
override [disposeSymbol](): void {
|
|
695
849
|
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
696
850
|
}
|
|
697
851
|
|
|
698
|
-
/** @internal */
|
|
699
852
|
override async [asyncDisposeSymbol](): Promise<void> {
|
|
700
853
|
if (this.process()) {
|
|
701
854
|
await this.close();
|
|
@@ -371,12 +371,10 @@ export abstract class BrowserContext extends EventEmitter<BrowserContextEvents>
|
|
|
371
371
|
return undefined;
|
|
372
372
|
}
|
|
373
373
|
|
|
374
|
-
/** @internal */
|
|
375
374
|
override [disposeSymbol](): void {
|
|
376
375
|
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
377
376
|
}
|
|
378
377
|
|
|
379
|
-
/** @internal */
|
|
380
378
|
override async [asyncDisposeSymbol](): Promise<void> {
|
|
381
379
|
await this.close();
|
|
382
380
|
await super[asyncDisposeSymbol]();
|
|
@@ -34,10 +34,18 @@ export abstract class Dialog {
|
|
|
34
34
|
#type: Protocol.Page.DialogType;
|
|
35
35
|
#message: string;
|
|
36
36
|
#defaultValue: string;
|
|
37
|
+
#handled = false;
|
|
38
|
+
|
|
37
39
|
/**
|
|
38
|
-
*
|
|
40
|
+
* A boolean value indicating whether the dialog has been handled.
|
|
39
41
|
*/
|
|
40
|
-
|
|
42
|
+
public get handled(): boolean {
|
|
43
|
+
return this.#handled;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
protected set handled(handled: boolean) {
|
|
47
|
+
this.#handled = handled;
|
|
48
|
+
}
|
|
41
49
|
|
|
42
50
|
/**
|
|
43
51
|
* @internal
|
|
@@ -193,12 +193,10 @@ export abstract class JSHandle<T = unknown> {
|
|
|
193
193
|
*/
|
|
194
194
|
abstract remoteObject(): Protocol.Runtime.RemoteObject;
|
|
195
195
|
|
|
196
|
-
/** @internal */
|
|
197
196
|
[disposeSymbol](): void {
|
|
198
197
|
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
199
198
|
}
|
|
200
199
|
|
|
201
|
-
/** @internal */
|
|
202
200
|
[asyncDisposeSymbol](): Promise<void> {
|
|
203
201
|
return this.dispose();
|
|
204
202
|
}
|
|
@@ -957,7 +957,7 @@ export abstract class Page extends EventEmitter<PageEvents> {
|
|
|
957
957
|
|
|
958
958
|
/**
|
|
959
959
|
* Experimental API for {@link https://github.com/webmachinelearning/webmcp| WebMCP}.
|
|
960
|
-
* Requires Chrome
|
|
960
|
+
* Requires Chrome 151+ with the `--enable-features=WebMCP` flag enabled.
|
|
961
961
|
*
|
|
962
962
|
* @experimental
|
|
963
963
|
*/
|
|
@@ -3232,12 +3232,10 @@ export abstract class Page extends EventEmitter<PageEvents> {
|
|
|
3232
3232
|
*/
|
|
3233
3233
|
abstract windowId(): Promise<WindowId>;
|
|
3234
3234
|
|
|
3235
|
-
/** @internal */
|
|
3236
3235
|
override [disposeSymbol](): void {
|
|
3237
3236
|
return void this[asyncDisposeSymbol]().catch(debugCatchError);
|
|
3238
3237
|
}
|
|
3239
3238
|
|
|
3240
|
-
/** @internal */
|
|
3241
3239
|
override async [asyncDisposeSymbol](): Promise<void> {
|
|
3242
3240
|
await this.close();
|
|
3243
3241
|
await super[asyncDisposeSymbol]();
|
|
@@ -15,8 +15,10 @@ import type {Handler} from '../common/EventEmitter.js';
|
|
|
15
15
|
|
|
16
16
|
import {BidiConnection} from './Connection.js';
|
|
17
17
|
|
|
18
|
-
const bidiServerLogger = (
|
|
19
|
-
|
|
18
|
+
const bidiServerLogger = (
|
|
19
|
+
prefix: string,
|
|
20
|
+
): ((...args: unknown[]) => void) | undefined => {
|
|
21
|
+
return debug(`bidi:${prefix}`);
|
|
20
22
|
};
|
|
21
23
|
|
|
22
24
|
/**
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
type WindowBounds,
|
|
20
20
|
type WindowId,
|
|
21
21
|
type DebugInfo,
|
|
22
|
+
type PWAState,
|
|
22
23
|
} from '../api/Browser.js';
|
|
23
24
|
import {BrowserContextEvent} from '../api/BrowserContext.js';
|
|
24
25
|
import type {Extension} from '../api/Extension.js';
|
|
@@ -297,6 +298,22 @@ export class BidiBrowser extends Browser {
|
|
|
297
298
|
await this.#browserCore.uninstallExtension(id);
|
|
298
299
|
}
|
|
299
300
|
|
|
301
|
+
override installPWA(): Promise<string> {
|
|
302
|
+
throw new UnsupportedOperation();
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
override uninstallPWA(): Promise<void> {
|
|
306
|
+
throw new UnsupportedOperation();
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
override launchPWA(): Promise<Page> {
|
|
310
|
+
throw new UnsupportedOperation();
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
override getPWAState(): Promise<PWAState> {
|
|
314
|
+
throw new UnsupportedOperation();
|
|
315
|
+
}
|
|
316
|
+
|
|
300
317
|
override screens(): Promise<ScreenInfo[]> {
|
|
301
318
|
throw new UnsupportedOperation();
|
|
302
319
|
}
|
|
@@ -102,10 +102,11 @@ export class BidiHTTPResponse extends HTTPResponse {
|
|
|
102
102
|
// https://w3c.github.io/webdriver-bidi/#type-network-Header
|
|
103
103
|
if (header.value.type === 'string') {
|
|
104
104
|
const headerName = header.name.toLowerCase();
|
|
105
|
-
|
|
106
|
-
headerName
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
const value =
|
|
106
|
+
headerName in headers
|
|
107
|
+
? `${headers[headerName]}\n${header.value.value}`
|
|
108
|
+
: header.value.value;
|
|
109
|
+
headers[headerName] = normalizeHeaderValue(headerName, value);
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
112
|
return headers;
|