chrome-devtools-frontend 1.0.1538523 → 1.0.1539972
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 +1 -1
- package/front_end/core/common/Debouncer.ts +2 -2
- package/front_end/core/common/Gzip.ts +1 -1
- package/front_end/core/common/Throttler.ts +3 -3
- package/front_end/core/host/GdpClient.ts +4 -0
- package/front_end/core/protocol_client/CDPConnection.ts +12 -10
- package/front_end/core/protocol_client/DevToolsCDPConnection.ts +181 -0
- package/front_end/core/protocol_client/InspectorBackend.ts +55 -249
- package/front_end/core/protocol_client/protocol_client.ts +2 -2
- package/front_end/core/sdk/ChildTargetManager.ts +5 -41
- package/front_end/core/sdk/Connections.ts +9 -58
- package/front_end/core/sdk/DOMModel.ts +1 -0
- package/front_end/core/sdk/DebuggerModel.ts +3 -16
- package/front_end/core/sdk/RehydratingConnection.ts +1 -1
- package/front_end/core/sdk/RemoteObject.ts +4 -0
- package/front_end/core/sdk/Target.ts +3 -6
- package/front_end/core/sdk/TargetManager.ts +1 -2
- package/front_end/entrypoints/lighthouse_worker/LighthouseWorkerService.ts +13 -26
- package/front_end/entrypoints/node_app/{NodeConnectionsPanel.ts → app/NodeConnectionsPanel.ts} +8 -8
- package/front_end/entrypoints/node_app/{NodeMain.ts → app/NodeMain.ts} +12 -11
- package/front_end/entrypoints/node_app/app/app.ts +6 -0
- package/front_end/entrypoints/node_app/node_app.ts +4 -2
- package/front_end/generated/Deprecation.ts +8 -0
- package/front_end/generated/{InspectorBackendCommands.js → InspectorBackendCommands.ts} +18 -36
- package/front_end/generated/SupportedCSSProperties.js +50 -9
- package/front_end/generated/protocol.ts +2 -2
- package/front_end/models/ai_assistance/EvaluateAction.ts +88 -5
- package/front_end/models/ai_assistance/injected.ts +15 -2
- package/front_end/models/live-metrics/web-vitals-injected/README.md +1 -1
- package/front_end/models/trace/Styles.ts +1 -1
- package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +18 -3
- package/front_end/models/trace/types/TraceEvents.ts +19 -0
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +49 -26
- package/front_end/panels/ai_assistance/PatchWidget.ts +22 -12
- package/front_end/panels/ai_assistance/aiAssistancePanel.css +1 -1
- package/front_end/panels/ai_assistance/ai_assistance.ts +1 -0
- package/front_end/panels/ai_assistance/components/ChatView.ts +2 -135
- package/front_end/panels/ai_assistance/components/DisabledWidget.ts +170 -0
- package/front_end/panels/ai_assistance/components/ExploreWidget.ts +4 -4
- package/front_end/panels/ai_assistance/components/chatView.css +0 -31
- package/front_end/panels/ai_assistance/components/disabledWidget.css +45 -0
- package/front_end/panels/animation/AnimationTimeline.ts +1 -1
- package/front_end/panels/application/components/FrameDetailsView.ts +1 -1
- package/front_end/panels/common/AiCodeCompletionDisclaimer.ts +4 -4
- package/front_end/panels/common/AiCodeCompletionSummaryToolbar.ts +2 -2
- package/front_end/panels/console/ConsoleViewMessage.ts +1 -1
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +3 -3
- package/front_end/panels/elements/ElementsTreeElement.ts +123 -95
- package/front_end/panels/elements/ElementsTreeOutline.ts +2 -2
- package/front_end/panels/elements/NodeStackTraceWidget.ts +8 -2
- package/front_end/panels/elements/PropertiesWidget.ts +3 -2
- package/front_end/panels/event_listeners/EventListenersView.ts +9 -5
- package/front_end/panels/explain/components/ConsoleInsight.ts +2 -3
- package/front_end/panels/lighthouse/LighthouseProtocolService.ts +57 -33
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +2 -2
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +1 -1
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +12 -5
- package/front_end/panels/network/RequestInitiatorView.ts +1 -1
- package/front_end/panels/network/RequestPayloadView.ts +2 -1
- package/front_end/panels/network/RequestTimingView.ts +4 -2
- package/front_end/panels/network/components/EditableSpan.ts +1 -1
- package/front_end/panels/network/components/RequestHeadersView.ts +24 -17
- package/front_end/panels/protocol_monitor/JSONEditor.ts +2 -2
- package/front_end/panels/recorder/RecorderController.ts +6 -7
- package/front_end/panels/recorder/components/StepView.ts +1 -1
- package/front_end/panels/recorder/models/RecordingPlayer.ts +7 -6
- package/front_end/panels/settings/components/SyncSection.ts +1 -1
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +4 -4
- package/front_end/panels/sources/BreakpointsView.ts +3 -3
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +4 -3
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +3 -2
- package/front_end/panels/timeline/TimelineFlameChartView.ts +10 -10
- package/front_end/panels/timeline/TimelinePanel.ts +3 -3
- package/front_end/panels/timeline/TimelineUIUtils.ts +21 -24
- package/front_end/panels/timeline/components/FieldSettingsDialog.ts +9 -5
- package/front_end/panels/timeline/components/LiveMetricsView.ts +20 -9
- package/front_end/panels/timeline/components/MetricCard.ts +4 -2
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +3 -2
- package/front_end/panels/utils/utils.ts +4 -2
- package/front_end/services/puppeteer/PuppeteerConnection.ts +57 -53
- 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/cjs/puppeteer/api/Browser.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js +4 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js +4 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Connection.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Connection.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +29 -9
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js +11 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +9 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +21 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +4 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpSession.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpSession.js +2 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpSession.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.d.ts +6 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.js +11 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.js +5 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +6 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js +29 -27
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js +4 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +7 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +10 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +14 -3
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +97 -43
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js +4 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BidiOverCdp.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BidiOverCdp.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BidiOverCdp.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.js +4 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Connection.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Connection.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +29 -9
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js +11 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +9 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +21 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js +4 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpSession.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpSession.js +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpSession.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.d.ts +6 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.js +11 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.js +5 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +6 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js +30 -28
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js +4 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +10 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +14 -3
- package/front_end/third_party/puppeteer/package/package.json +3 -3
- package/front_end/third_party/puppeteer/package/src/api/Browser.ts +4 -2
- package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +3 -1
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +6 -0
- package/front_end/third_party/puppeteer/package/src/bidi/BidiOverCdp.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/bidi/BrowserConnector.ts +8 -1
- package/front_end/third_party/puppeteer/package/src/bidi/BrowserContext.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/Connection.ts +4 -1
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +38 -10
- package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +13 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +8 -2
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +32 -0
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +4 -0
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/cdp/CdpSession.ts +2 -1
- package/front_end/third_party/puppeteer/package/src/cdp/Connection.ts +15 -1
- package/front_end/third_party/puppeteer/package/src/cdp/ExtensionTransport.ts +5 -1
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +8 -0
- package/front_end/third_party/puppeteer/package/src/cdp/TargetManager.ts +36 -43
- package/front_end/third_party/puppeteer/package/src/common/CallbackRegistry.ts +7 -5
- package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +8 -0
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +22 -1
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/components/dialogs/ButtonDialog.ts +15 -5
- package/front_end/ui/components/expandable_list/ExpandableList.ts +1 -1
- package/front_end/ui/components/helpers/helpers.ts +0 -2
- package/front_end/ui/components/menus/Menu.ts +5 -3
- package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -1
- package/front_end/ui/components/survey_link/SurveyLink.docs.ts +22 -0
- package/front_end/ui/components/switch/Switch.docs.ts +38 -0
- package/front_end/ui/components/tooltips/Tooltip.ts +69 -45
- package/front_end/ui/components/tree_outline/TreeOutline.ts +1 -2
- package/front_end/ui/legacy/SelectMenu.docs.ts +14 -0
- package/front_end/ui/legacy/Slider.docs.ts +49 -0
- package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +3 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +453 -347
- package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +77 -5
- package/front_end/ui/legacy/components/utils/Linkifier.ts +62 -3
- package/front_end/ui/visual_logging/KnownContextValues.ts +8 -0
- package/package.json +1 -1
- package/front_end/core/protocol_client/NodeURL.ts +0 -42
- package/front_end/third_party/puppeteer/package/src/templates/version.ts.tmpl +0 -4
- package/front_end/ui/components/docs/color_swatch/basic.html +0 -32
- package/front_end/ui/components/docs/color_swatch/basic.ts +0 -38
- package/front_end/ui/components/docs/color_swatch/change-color.html +0 -24
- package/front_end/ui/components/docs/color_swatch/change-color.ts +0 -28
- package/front_end/ui/components/docs/combo_box/basic.html +0 -20
- package/front_end/ui/components/docs/combo_box/basic.ts +0 -49
- package/front_end/ui/components/docs/computed_style_property/basic.html +0 -25
- package/front_end/ui/components/docs/computed_style_property/basic.ts +0 -19
- package/front_end/ui/components/docs/computed_style_property/traceable.html +0 -25
- package/front_end/ui/components/docs/computed_style_property/traceable.ts +0 -16
- package/front_end/ui/components/docs/computed_style_trace/basic.html +0 -25
- package/front_end/ui/components/docs/computed_style_trace/basic.ts +0 -24
- package/front_end/ui/components/docs/console_insight/basic.html +0 -28
- package/front_end/ui/components/docs/console_insight/basic.ts +0 -103
- package/front_end/ui/components/docs/console_insight/error.html +0 -28
- package/front_end/ui/components/docs/console_insight/error.ts +0 -33
- package/front_end/ui/components/docs/console_insight/loading.html +0 -28
- package/front_end/ui/components/docs/console_insight/loading.ts +0 -47
- package/front_end/ui/components/docs/elements_breadcrumbs/basic.html +0 -43
- package/front_end/ui/components/docs/elements_breadcrumbs/basic.ts +0 -54
- package/front_end/ui/components/docs/elements_breadcrumbs/helpers.ts +0 -29
- package/front_end/ui/components/docs/elements_breadcrumbs/scroll-to-active-element.html +0 -38
- package/front_end/ui/components/docs/elements_breadcrumbs/scroll-to-active-element.ts +0 -90
- package/front_end/ui/components/docs/elements_breadcrumbs/scroll.html +0 -29
- package/front_end/ui/components/docs/elements_breadcrumbs/scroll.ts +0 -62
- package/front_end/ui/components/docs/icon_button/basic.html +0 -34
- package/front_end/ui/components/docs/icon_button/basic.ts +0 -67
- package/front_end/ui/components/docs/issue_counter/basic.html +0 -35
- package/front_end/ui/components/docs/issue_counter/basic.ts +0 -34
- package/front_end/ui/components/docs/issue_link_icon/basic.html +0 -31
- package/front_end/ui/components/docs/issue_link_icon/basic.ts +0 -26
- package/front_end/ui/components/docs/legacy_color_invert/basic.html +0 -77
- package/front_end/ui/components/docs/legacy_color_invert/basic.ts +0 -98
- package/front_end/ui/components/docs/linear_memory_inspector/basic.html +0 -26
- package/front_end/ui/components/docs/linear_memory_inspector/basic.ts +0 -44
- package/front_end/ui/components/docs/menu/basic.html +0 -28
- package/front_end/ui/components/docs/menu/basic.ts +0 -66
- package/front_end/ui/components/docs/recorder_control_button/basic.html +0 -20
- package/front_end/ui/components/docs/recorder_control_button/basic.ts +0 -15
- package/front_end/ui/components/docs/recorder_recording_list_view/basic.html +0 -20
- package/front_end/ui/components/docs/recorder_recording_list_view/basic.ts +0 -26
- package/front_end/ui/components/docs/recorder_select_button/basic.html +0 -20
- package/front_end/ui/components/docs/recorder_select_button/basic.ts +0 -81
- package/front_end/ui/components/docs/recorder_split_view/basic.html +0 -17
- package/front_end/ui/components/docs/recorder_split_view/basic.ts +0 -22
- package/front_end/ui/components/docs/request_link_icon/basic.html +0 -31
- package/front_end/ui/components/docs/request_link_icon/basic.ts +0 -21
- package/front_end/ui/components/docs/slider/basic.ts +0 -62
- package/front_end/ui/components/docs/style_property_editor/flex.html +0 -21
- package/front_end/ui/components/docs/style_property_editor/flex.ts +0 -52
- package/front_end/ui/components/docs/style_property_editor/grid.html +0 -22
- package/front_end/ui/components/docs/style_property_editor/grid.ts +0 -50
- package/front_end/ui/components/docs/style_property_editor/masonry.html +0 -21
- package/front_end/ui/components/docs/style_property_editor/masonry.ts +0 -50
- package/front_end/ui/components/docs/survey_link/basic.html +0 -20
- package/front_end/ui/components/docs/survey_link/basic.ts +0 -28
- package/front_end/ui/components/docs/switch/basic.ts +0 -51
- package/front_end/ui/components/docs/tree_outline/basic.html +0 -33
- package/front_end/ui/components/docs/tree_outline/basic.ts +0 -38
- package/front_end/ui/components/docs/tree_outline/custom-renderers.html +0 -32
- package/front_end/ui/components/docs/tree_outline/custom-renderers.ts +0 -61
- package/front_end/ui/components/docs/tree_outline/lazy-children.html +0 -32
- package/front_end/ui/components/docs/tree_outline/lazy-children.ts +0 -91
- package/front_end/ui/components/docs/tree_outline/sample-data.ts +0 -67
- package/front_end/ui/components/helpers/directives.ts +0 -38
- /package/front_end/entrypoints/node_app/{nodeConnectionsPanel.css → app/nodeConnectionsPanel.css} +0 -0
package/eslint.config.mjs
CHANGED
|
@@ -30,7 +30,7 @@ export default defineConfig([
|
|
|
30
30
|
// All of these scripts are auto-generated so don't lint them.
|
|
31
31
|
'front_end/generated/ARIAProperties.js',
|
|
32
32
|
'front_end/generated/Deprecation.ts',
|
|
33
|
-
'front_end/generated/InspectorBackendCommands.
|
|
33
|
+
'front_end/generated/InspectorBackendCommands.ts',
|
|
34
34
|
'front_end/generated/protocol-mapping.d.ts',
|
|
35
35
|
'front_end/generated/protocol-proxy-api.d.ts',
|
|
36
36
|
'front_end/generated/protocol.ts',
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
* Debounce utility function, ensures that the function passed in is only called once the function stops being called and the delay has expired.
|
|
7
7
|
*/
|
|
8
8
|
export const debounce = function(func: (...args: any[]) => void, delay: number): (...args: any[]) => void {
|
|
9
|
-
let timer
|
|
9
|
+
let timer: ReturnType<typeof setTimeout>;
|
|
10
10
|
const debounced = (...args: any[]): void => {
|
|
11
11
|
clearTimeout(timer);
|
|
12
|
-
timer =
|
|
12
|
+
timer = setTimeout(() => func(...args), delay);
|
|
13
13
|
};
|
|
14
14
|
return debounced;
|
|
15
15
|
};
|
|
@@ -54,7 +54,7 @@ async function gzipCodec(
|
|
|
54
54
|
codecStream: CompressionStream|DecompressionStream): Promise<ArrayBuffer> {
|
|
55
55
|
const readable = new ReadableStream({
|
|
56
56
|
start(controller) {
|
|
57
|
-
controller.enqueue(buffer);
|
|
57
|
+
controller.enqueue(buffer instanceof ArrayBuffer ? new Uint8Array(buffer) : buffer);
|
|
58
58
|
controller.close();
|
|
59
59
|
}
|
|
60
60
|
});
|
|
@@ -9,7 +9,7 @@ export class Throttler {
|
|
|
9
9
|
#process: (() => (void|Promise<unknown>))|null;
|
|
10
10
|
#lastCompleteTime: number;
|
|
11
11
|
#scheduler = Promise.withResolvers<unknown>();
|
|
12
|
-
#processTimeout?:
|
|
12
|
+
#processTimeout?: ReturnType<typeof setTimeout>;
|
|
13
13
|
|
|
14
14
|
constructor(timeout: number) {
|
|
15
15
|
this.#timeout = timeout;
|
|
@@ -78,11 +78,11 @@ export class Throttler {
|
|
|
78
78
|
clearTimeout(this.#processTimeout);
|
|
79
79
|
|
|
80
80
|
const timeout = this.#asSoonAsPossible ? 0 : this.#timeout;
|
|
81
|
-
this.#processTimeout =
|
|
81
|
+
this.#processTimeout = setTimeout(this.#onTimeout.bind(this), timeout);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
#getTime(): number {
|
|
85
|
-
return
|
|
85
|
+
return performance.now();
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
|
@@ -85,6 +85,7 @@ function normalizeBadgeName(name: string): string {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
export const GOOGLE_DEVELOPER_PROGRAM_PROFILE_LINK = 'https://developers.google.com/profile/u/me';
|
|
88
|
+
const ORIGIN_APPLICATION_NAME = 'APPLICATION_CHROME_DEVTOOLS';
|
|
88
89
|
|
|
89
90
|
async function makeHttpRequest<R>(request: DispatchHttpRequestRequest): Promise<R> {
|
|
90
91
|
if (!isGdpProfilesAvailable()) {
|
|
@@ -208,6 +209,9 @@ export class GdpClient {
|
|
|
208
209
|
body: JSON.stringify({
|
|
209
210
|
user,
|
|
210
211
|
newsletter_email: emailPreference,
|
|
212
|
+
creation_origin: {
|
|
213
|
+
origin_application: ORIGIN_APPLICATION_NAME,
|
|
214
|
+
}
|
|
211
215
|
}),
|
|
212
216
|
});
|
|
213
217
|
this.#clearCache();
|
|
@@ -4,26 +4,28 @@
|
|
|
4
4
|
|
|
5
5
|
import type {ProtocolMapping} from '../../generated/protocol-mapping.js';
|
|
6
6
|
|
|
7
|
+
export type Command = keyof ProtocolMapping.Commands;
|
|
7
8
|
export type CommandParams<T extends keyof ProtocolMapping.Commands> = ProtocolMapping.Commands[T]['paramsType'][0];
|
|
8
9
|
export type CommandResult<T extends keyof ProtocolMapping.Commands> = ProtocolMapping.Commands[T]['returnType'];
|
|
10
|
+
export type Event = keyof ProtocolMapping.Events;
|
|
9
11
|
export type EventParams<T extends keyof ProtocolMapping.Events> = ProtocolMapping.Events[T];
|
|
10
12
|
|
|
11
13
|
export interface CDPBaseMessage {
|
|
12
14
|
sessionId?: string;
|
|
13
15
|
}
|
|
14
16
|
|
|
15
|
-
export interface CDPCommandRequest<T extends
|
|
17
|
+
export interface CDPCommandRequest<T extends Command> extends CDPBaseMessage {
|
|
16
18
|
id: number;
|
|
17
19
|
method: T;
|
|
18
20
|
params: CommandParams<T>;
|
|
19
21
|
}
|
|
20
22
|
|
|
21
|
-
export interface CDPCommandResponse<T extends
|
|
23
|
+
export interface CDPCommandResponse<T extends Command> extends CDPBaseMessage {
|
|
22
24
|
id: number;
|
|
23
25
|
result: CommandResult<T>;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
|
-
export interface CDPEvent<T extends
|
|
28
|
+
export interface CDPEvent<T extends Event> extends CDPBaseMessage {
|
|
27
29
|
method: T;
|
|
28
30
|
params: EventParams<T>;
|
|
29
31
|
}
|
|
@@ -31,7 +33,7 @@ export interface CDPEvent<T extends keyof ProtocolMapping.Events> extends CDPBas
|
|
|
31
33
|
/**
|
|
32
34
|
* Keep this in sync with https://source.chromium.org/chromium/chromium/src/+/main:third_party/inspector_protocol/crdtp/dispatch.h.
|
|
33
35
|
*/
|
|
34
|
-
export
|
|
36
|
+
export enum CDPErrorStatus {
|
|
35
37
|
PARSE_ERROR = -32700,
|
|
36
38
|
INVALID_REQUEST = -32600,
|
|
37
39
|
METHOD_NOT_FOUND = -32601,
|
|
@@ -39,6 +41,7 @@ export const enum CDPErrorStatus {
|
|
|
39
41
|
INTERNAL_ERROR = -32603,
|
|
40
42
|
SERVER_ERROR = -32000,
|
|
41
43
|
SESSION_NOT_FOUND = SERVER_ERROR - 1,
|
|
44
|
+
DEVTOOLS_STUB_ERROR = -32015,
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
export interface CDPError {
|
|
@@ -52,8 +55,7 @@ export interface CDPErrorMessage extends CDPBaseMessage {
|
|
|
52
55
|
error: CDPError;
|
|
53
56
|
}
|
|
54
57
|
|
|
55
|
-
|
|
56
|
-
export type CDPMessage = CDPCommandRequest<any>|CDPCommandResponse<any>|CDPEvent<any>|CDPErrorMessage;
|
|
58
|
+
export type CDPReceivableMessage = CDPCommandResponse<Command>|CDPEvent<Event>|CDPErrorMessage;
|
|
57
59
|
|
|
58
60
|
/**
|
|
59
61
|
* Allows the sending and receiving of CDP commands and the notification of CDP events to observers.
|
|
@@ -63,7 +65,7 @@ export type CDPMessage = CDPCommandRequest<any>|CDPCommandResponse<any>|CDPEvent
|
|
|
63
65
|
* would conflict with any other shared traffic.
|
|
64
66
|
*/
|
|
65
67
|
export interface CDPConnection {
|
|
66
|
-
send<T extends
|
|
68
|
+
send<T extends Command>(method: T, params: CommandParams<T>, sessionId: string|undefined):
|
|
67
69
|
Promise<{result: CommandResult<T>}|{error: CDPError}>;
|
|
68
70
|
|
|
69
71
|
observe(observer: CDPConnectionObserver): void;
|
|
@@ -71,7 +73,7 @@ export interface CDPConnection {
|
|
|
71
73
|
}
|
|
72
74
|
|
|
73
75
|
export interface CDPConnectionObserver {
|
|
74
|
-
onEvent<T extends
|
|
76
|
+
onEvent<T extends Event>(event: CDPEvent<T>): void;
|
|
75
77
|
onDisconnect(reason: string): void;
|
|
76
78
|
}
|
|
77
79
|
|
|
@@ -84,6 +86,6 @@ export interface DebuggableCDPConnection extends CDPConnection {
|
|
|
84
86
|
}
|
|
85
87
|
|
|
86
88
|
export interface RawMessageObserver {
|
|
87
|
-
onMessageReceived(message:
|
|
88
|
-
onMessageSent(message:
|
|
89
|
+
onMessageReceived(message: CDPReceivableMessage): void;
|
|
90
|
+
onMessageSent(message: CDPCommandRequest<Command>): void;
|
|
89
91
|
}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
// Copyright 2025 The Chromium Authors
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
type CDPCommandRequest,
|
|
7
|
+
type CDPConnection,
|
|
8
|
+
type CDPConnectionObserver,
|
|
9
|
+
type CDPError,
|
|
10
|
+
CDPErrorStatus,
|
|
11
|
+
type CDPReceivableMessage,
|
|
12
|
+
type Command,
|
|
13
|
+
type CommandParams,
|
|
14
|
+
type CommandResult
|
|
15
|
+
} from './CDPConnection.js';
|
|
16
|
+
import type {ConnectionTransport} from './ConnectionTransport.js';
|
|
17
|
+
import {InspectorBackend, type MessageError, type QualifiedName, test} from './InspectorBackend.js';
|
|
18
|
+
|
|
19
|
+
interface CallbackWithDebugInfo {
|
|
20
|
+
resolve: (response: Awaited<ReturnType<CDPConnection['send']>>) => void;
|
|
21
|
+
method: string;
|
|
22
|
+
sessionId: string|undefined;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
type Callback = (error: MessageError|null, arg1: Object|null) => void;
|
|
26
|
+
|
|
27
|
+
const LongPollingMethods = new Set<string>(['CSS.takeComputedStyleUpdates']);
|
|
28
|
+
|
|
29
|
+
export class DevToolsCDPConnection implements CDPConnection {
|
|
30
|
+
readonly #transport: ConnectionTransport;
|
|
31
|
+
#lastMessageId = 1;
|
|
32
|
+
#pendingResponsesCount = 0;
|
|
33
|
+
readonly #pendingLongPollingMessageIds = new Set<number>();
|
|
34
|
+
#pendingScripts: Array<() => void> = [];
|
|
35
|
+
readonly #callbacks = new Map<number, CallbackWithDebugInfo>();
|
|
36
|
+
readonly #observers = new Set<CDPConnectionObserver>();
|
|
37
|
+
|
|
38
|
+
constructor(transport: ConnectionTransport) {
|
|
39
|
+
this.#transport = transport;
|
|
40
|
+
|
|
41
|
+
test.deprecatedRunAfterPendingDispatches = this.deprecatedRunAfterPendingDispatches.bind(this);
|
|
42
|
+
test.sendRawMessage = this.sendRawMessageForTesting.bind(this);
|
|
43
|
+
|
|
44
|
+
this.#transport.setOnMessage(this.onMessage.bind(this));
|
|
45
|
+
this.#transport.setOnDisconnect(reason => {
|
|
46
|
+
this.#observers.forEach(observer => observer.onDisconnect(reason));
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
observe(observer: CDPConnectionObserver): void {
|
|
51
|
+
this.#observers.add(observer);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
unobserve(observer: CDPConnectionObserver): void {
|
|
55
|
+
this.#observers.delete(observer);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
send<T extends Command>(method: T, params: CommandParams<T>, sessionId: string|undefined):
|
|
59
|
+
Promise<{result: CommandResult<T>}|{error: CDPError}> {
|
|
60
|
+
const messageId = ++this.#lastMessageId;
|
|
61
|
+
const messageObject: Partial<CDPCommandRequest<T>> = {
|
|
62
|
+
id: messageId,
|
|
63
|
+
method,
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
if (params) {
|
|
67
|
+
messageObject.params = params;
|
|
68
|
+
}
|
|
69
|
+
if (sessionId) {
|
|
70
|
+
messageObject.sessionId = sessionId;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (test.dumpProtocol) {
|
|
74
|
+
test.dumpProtocol('frontend: ' + JSON.stringify(messageObject));
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (test.onMessageSent) {
|
|
78
|
+
const domain = method.split('.')[0];
|
|
79
|
+
const paramsObject = JSON.parse(JSON.stringify(params || {}));
|
|
80
|
+
test.onMessageSent({domain, method, params: (paramsObject as Object), id: messageId, sessionId});
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
++this.#pendingResponsesCount;
|
|
84
|
+
if (LongPollingMethods.has(method)) {
|
|
85
|
+
this.#pendingLongPollingMessageIds.add(messageId);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return new Promise(resolve => {
|
|
89
|
+
this.#callbacks.set(messageId, {resolve, method, sessionId});
|
|
90
|
+
this.#transport.sendRawMessage(JSON.stringify(messageObject));
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
resolvePendingCalls(sessionId: string): void {
|
|
95
|
+
for (const {resolve, method, sessionId: callbackSessionId} of this.#callbacks.values()) {
|
|
96
|
+
if (sessionId !== callbackSessionId) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
resolve({
|
|
100
|
+
error: {
|
|
101
|
+
message: `Session is unregistering, can\'t dispatch pending call to ${method}`,
|
|
102
|
+
code: CDPErrorStatus.SESSION_NOT_FOUND,
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
private sendRawMessageForTesting(method: QualifiedName, params: Object|null, callback: Callback|null, sessionId = ''):
|
|
109
|
+
void {
|
|
110
|
+
void this.send(method as Command, params as CommandParams<Command>, sessionId).then(response => {
|
|
111
|
+
if ('error' in response && response.error) {
|
|
112
|
+
callback?.(response.error, null);
|
|
113
|
+
} else if ('result' in response) {
|
|
114
|
+
callback?.(null, response.result as Object | null);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
private onMessage(message: string|Object): void {
|
|
120
|
+
if (test.dumpProtocol) {
|
|
121
|
+
test.dumpProtocol('backend: ' + ((typeof message === 'string') ? message : JSON.stringify(message)));
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (test.onMessageReceived) {
|
|
125
|
+
const messageObjectCopy = JSON.parse((typeof message === 'string') ? message : JSON.stringify(message));
|
|
126
|
+
test.onMessageReceived(messageObjectCopy);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
const messageObject = ((typeof message === 'string') ? JSON.parse(message) : message) as CDPReceivableMessage;
|
|
130
|
+
|
|
131
|
+
if ('id' in messageObject && messageObject.id !== undefined) { // just a response for some request
|
|
132
|
+
const callback = this.#callbacks.get(messageObject.id);
|
|
133
|
+
this.#callbacks.delete(messageObject.id);
|
|
134
|
+
if (!callback) {
|
|
135
|
+
// Ignore messages with unknown IDs, we might see puppeteer proxied messages here.
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
callback.resolve(messageObject);
|
|
140
|
+
--this.#pendingResponsesCount;
|
|
141
|
+
this.#pendingLongPollingMessageIds.delete(messageObject.id);
|
|
142
|
+
|
|
143
|
+
if (this.#pendingScripts.length && !this.hasOutstandingNonLongPollingRequests()) {
|
|
144
|
+
this.deprecatedRunAfterPendingDispatches();
|
|
145
|
+
}
|
|
146
|
+
} else if ('method' in messageObject) {
|
|
147
|
+
this.#observers.forEach(observer => observer.onEvent(messageObject));
|
|
148
|
+
} else {
|
|
149
|
+
InspectorBackend.reportProtocolError('Protocol Error: the message without method', messageObject);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
private hasOutstandingNonLongPollingRequests(): boolean {
|
|
154
|
+
return this.#pendingResponsesCount - this.#pendingLongPollingMessageIds.size > 0;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
private deprecatedRunAfterPendingDispatches(script?: (() => void)): void {
|
|
158
|
+
if (script) {
|
|
159
|
+
this.#pendingScripts.push(script);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// Execute all promises.
|
|
163
|
+
setTimeout(() => {
|
|
164
|
+
if (!this.hasOutstandingNonLongPollingRequests()) {
|
|
165
|
+
this.executeAfterPendingDispatches();
|
|
166
|
+
} else {
|
|
167
|
+
this.deprecatedRunAfterPendingDispatches();
|
|
168
|
+
}
|
|
169
|
+
}, 0);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
private executeAfterPendingDispatches(): void {
|
|
173
|
+
if (!this.hasOutstandingNonLongPollingRequests()) {
|
|
174
|
+
const scripts = this.#pendingScripts;
|
|
175
|
+
this.#pendingScripts = [];
|
|
176
|
+
for (let id = 0; id < scripts.length; ++id) {
|
|
177
|
+
scripts[id]();
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|