chrome-devtools-frontend 1.0.1690116 → 1.0.1695017

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.
Files changed (421) hide show
  1. package/.agents/skills/devtools-model-management/SKILL.md +3 -3
  2. package/.agents/skills/foundation-test-migration/SKILL.md +2 -2
  3. package/.agents/skills/merging-devtools-module/SKILL.md +5 -5
  4. package/AUTHORS +3 -0
  5. package/config/typescript/tsconfig.base.json +1 -0
  6. package/docs/get_the_code.md +4 -9
  7. package/front_end/Images/src/comment-mode-cursor.svg +23 -0
  8. package/front_end/Tests.js +1 -1
  9. package/front_end/application_tokens.css +5 -0
  10. package/front_end/core/common/ColorConverter.ts +3 -3
  11. package/front_end/core/host/UserMetrics.ts +27 -0
  12. package/front_end/core/protocol_client/DevToolsCDPConnection.ts +0 -46
  13. package/front_end/core/protocol_client/InspectorBackend.ts +6 -6
  14. package/front_end/core/root/Runtime.ts +1 -0
  15. package/front_end/core/sdk/CSSLocation.ts +32 -0
  16. package/front_end/core/sdk/CSSModel.ts +2 -22
  17. package/front_end/core/sdk/CSSQuery.ts +2 -1
  18. package/front_end/core/sdk/CSSRule.ts +29 -0
  19. package/front_end/core/sdk/DebuggerModel.ts +5 -1
  20. package/front_end/core/sdk/NetworkManager.ts +2 -0
  21. package/front_end/core/sdk/NetworkRequest.ts +63 -4
  22. package/front_end/core/sdk/NetworkRequestAccess.ts +191 -0
  23. package/front_end/core/sdk/ResourceTreeModel.ts +72 -23
  24. package/front_end/core/sdk/SecurityOrigin.ts +97 -12
  25. package/front_end/core/sdk/Target.ts +18 -0
  26. package/front_end/core/sdk/sdk.ts +4 -0
  27. package/front_end/entrypoints/main/MainImpl.ts +8 -1
  28. package/front_end/foundation/Universe.ts +14 -11
  29. package/front_end/generated/Deprecation.ts +8 -0
  30. package/front_end/generated/InspectorBackendCommands.ts +9 -8
  31. package/front_end/generated/SupportedCSSProperties.ts +14 -4
  32. package/front_end/generated/protocol.ts +24 -0
  33. package/front_end/models/ai_assistance/AiAgent2.ts +46 -10
  34. package/front_end/models/ai_assistance/AiConversation.ts +35 -24
  35. package/front_end/models/ai_assistance/README.md +5 -3
  36. package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +1 -0
  37. package/front_end/models/ai_assistance/agents/AiAgent.ts +28 -34
  38. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +13 -17
  39. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +5 -3
  40. package/front_end/models/ai_assistance/agents/StorageAgent.ts +16 -10
  41. package/front_end/models/ai_assistance/agents/StylingAgent.ts +3 -4
  42. package/front_end/models/ai_assistance/ai_assistance.ts +0 -2
  43. package/front_end/models/ai_assistance/contexts/AccessibilityContext.ts +11 -2
  44. package/front_end/models/ai_assistance/contexts/DOMNodeContext.ts +17 -5
  45. package/front_end/models/ai_assistance/contexts/FileContext.ts +13 -6
  46. package/front_end/models/ai_assistance/contexts/PerformanceTraceContext.ts +52 -25
  47. package/front_end/models/ai_assistance/contexts/RequestContext.ts +18 -34
  48. package/front_end/models/ai_assistance/contexts/StorageContext.ts +14 -3
  49. package/front_end/models/ai_assistance/data_formatters/FileFormatter.ts +2 -5
  50. package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +135 -58
  51. package/front_end/models/ai_assistance/tools/CookieUtils.ts +25 -35
  52. package/front_end/models/ai_assistance/tools/DOMStorageUtils.ts +6 -3
  53. package/front_end/models/ai_assistance/tools/ExecuteJavaScript.ts +9 -2
  54. package/front_end/models/ai_assistance/tools/GetCookieValues.ts +1 -1
  55. package/front_end/models/ai_assistance/tools/GetElementAccessibilityDetails.ts +3 -2
  56. package/front_end/models/ai_assistance/tools/GetFunctionCode.ts +3 -5
  57. package/front_end/models/ai_assistance/tools/GetInsightDetails.ts +1 -1
  58. package/front_end/models/ai_assistance/tools/GetNetworkRequestDetails.ts +8 -11
  59. package/front_end/models/ai_assistance/tools/GetResourceContent.ts +2 -4
  60. package/front_end/models/ai_assistance/tools/GetSourceContent.ts +6 -13
  61. package/front_end/models/ai_assistance/tools/GetStorageBreakdown.ts +1 -1
  62. package/front_end/models/ai_assistance/tools/GetStorageValues.ts +9 -9
  63. package/front_end/models/ai_assistance/tools/GetStyles.ts +3 -2
  64. package/front_end/models/ai_assistance/tools/ListCookies.ts +1 -1
  65. package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +6 -14
  66. package/front_end/models/ai_assistance/tools/ListPageOrigins.ts +10 -15
  67. package/front_end/models/ai_assistance/tools/ListSources.ts +5 -7
  68. package/front_end/models/ai_assistance/tools/ListStorageKeys.ts +9 -9
  69. package/front_end/models/ai_assistance/tools/README.md +4 -2
  70. package/front_end/models/ai_assistance/tools/ResolveDevtoolsNodePath.ts +3 -2
  71. package/front_end/models/ai_assistance/tools/Tool.ts +27 -3
  72. package/front_end/models/comment_manager/CD4ABridge.ts +128 -0
  73. package/front_end/models/comment_manager/CommentManager.ts +50 -8
  74. package/front_end/models/comment_manager/comment_manager.ts +2 -0
  75. package/front_end/models/emulation/DeviceModeModel.ts +37 -47
  76. package/front_end/models/javascript_metadata/NativeFunctions.ts +9 -1
  77. package/front_end/models/live-metrics/web-vitals-injected/README.md +1 -1
  78. package/front_end/models/source_map_scopes/NamesResolver.ts +9 -7
  79. package/front_end/models/trace/ModelImpl.ts +2 -0
  80. package/front_end/models/trace/Processor.ts +6 -4
  81. package/front_end/models/trace/handlers/LayerTreeHandler.ts +3 -3
  82. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +1 -1
  83. package/front_end/models/trace/helpers/SyntheticEvents.ts +23 -1
  84. package/front_end/models/trace/types/Configuration.ts +7 -0
  85. package/front_end/models/trace/types/TraceEvents.ts +20 -4
  86. package/front_end/panels/accessibility/ARIAAttributesView.ts +3 -0
  87. package/front_end/panels/accessibility/AccessibilityAnnouncementRecordingListView.ts +177 -0
  88. package/front_end/panels/accessibility/accessibility.ts +2 -0
  89. package/front_end/panels/accessibility/accessibilityAnnouncementRecordingListView.css +33 -0
  90. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +25 -15
  91. package/front_end/panels/ai_assistance/components/ChatMessage.ts +6 -35
  92. package/front_end/panels/ai_assistance/components/DisabledWidget.ts +4 -3
  93. package/front_end/panels/ai_assistance/components/chatMessage.css +3 -1
  94. package/front_end/panels/animation/AnimationTimeline.ts +1 -0
  95. package/front_end/panels/application/CrashReportContextView.ts +0 -1
  96. package/front_end/panels/application/FrameDetailsView.ts +5 -4
  97. package/front_end/panels/application/IndexedDBViews.ts +4 -4
  98. package/front_end/panels/application/components/BackForwardCacheView.ts +1 -1
  99. package/front_end/panels/application/components/EndpointsGrid.ts +2 -1
  100. package/front_end/panels/application/components/PermissionsPolicySection.ts +1 -1
  101. package/front_end/panels/application/components/ServiceWorkerRouterView.ts +1 -1
  102. package/front_end/panels/application/components/TrustTokensView.ts +1 -1
  103. package/front_end/panels/application/indexedDBViews.css +0 -14
  104. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +2 -1
  105. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +2 -1
  106. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +1 -1
  107. package/front_end/panels/common/CPUThrottlingOption.ts +12 -6
  108. package/front_end/panels/common/DOMLinkifier.ts +1 -1
  109. package/front_end/panels/common/ExtensionView.ts +2 -1
  110. package/front_end/panels/console/ConsoleContextSelector.ts +12 -5
  111. package/front_end/panels/console/ConsolePinPane.ts +4 -2
  112. package/front_end/panels/console/ConsoleSidebar.ts +6 -2
  113. package/front_end/panels/console/ConsoleViewMessage.ts +12 -8
  114. package/front_end/panels/console/PromptBuilder.ts +1 -1
  115. package/front_end/panels/coverage/CoverageListView.ts +1 -1
  116. package/front_end/panels/coverage/CoverageModel.ts +6 -4
  117. package/front_end/panels/coverage/coverageView.css +8 -8
  118. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +13 -14
  119. package/front_end/panels/css_overview/CSSOverviewPanel.ts +3 -3
  120. package/front_end/panels/css_overview/CSSOverviewProcessingView.ts +2 -2
  121. package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +3 -3
  122. package/front_end/panels/css_overview/CSSOverviewStartView.ts +3 -3
  123. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
  124. package/front_end/panels/developer_resources/developerResourcesView.css +3 -3
  125. package/front_end/panels/elements/ComputedStyleWidget.ts +1 -1
  126. package/front_end/panels/elements/ElementsTreeElement.ts +43 -15
  127. package/front_end/panels/elements/ElementsTreeOutline.ts +185 -109
  128. package/front_end/panels/elements/MetricsSidebarPane.ts +1 -1
  129. package/front_end/panels/elements/PropertyNameCategories.ts +1 -1
  130. package/front_end/panels/elements/ShortcutTreeElement.ts +6 -1
  131. package/front_end/panels/elements/StandaloneStylesContainer.ts +1 -1
  132. package/front_end/panels/elements/StylePropertiesSection.ts +2 -35
  133. package/front_end/panels/elements/StylesSidebarPane.ts +3 -2
  134. package/front_end/panels/elements/components/CSSPropertyIconResolver.ts +5 -4
  135. package/front_end/panels/elements/components/StylePropertyEditor.ts +161 -148
  136. package/front_end/panels/elements/components/computedStyleProperty.css +5 -5
  137. package/front_end/panels/elements/components/computedStyleTrace.css +5 -5
  138. package/front_end/panels/elements/components/cssHintDetailsView.css +1 -1
  139. package/front_end/panels/elements/components/cssPropertyDocsView.css +3 -3
  140. package/front_end/panels/elements/components/cssVariableValueView.css +4 -4
  141. package/front_end/panels/elements/components/elementsBreadcrumbs.css +3 -3
  142. package/front_end/panels/elements/components/elementsTreeExpandButton.css +5 -5
  143. package/front_end/panels/elements/components/queryContainer.css +2 -2
  144. package/front_end/panels/elements/elementsTreeOutline.css +20 -4
  145. package/front_end/panels/emulation/MediaQueryInspector.ts +2 -1
  146. package/front_end/panels/event_listeners/eventListenersView.css +1 -1
  147. package/front_end/panels/issues/AffectedElementsView.ts +3 -0
  148. package/front_end/panels/issues/AffectedLazyLoadImagesView.ts +1 -1
  149. package/front_end/panels/issues/issues.ts +2 -0
  150. package/front_end/panels/layer_viewer/LayerDetailsView.ts +12 -10
  151. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +1 -0
  152. package/front_end/panels/layer_viewer/Layers3DView.ts +13 -11
  153. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +1 -1
  154. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspectorUtils.ts +2 -2
  155. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplayUtils.ts +1 -1
  156. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +1 -1
  157. package/front_end/panels/linear_memory_inspector/components/linearMemoryHighlightChipList.css +11 -11
  158. package/front_end/panels/linear_memory_inspector/components/linearMemoryInspector.css +2 -2
  159. package/front_end/panels/linear_memory_inspector/components/linearMemoryNavigator.css +1 -1
  160. package/front_end/panels/linear_memory_inspector/components/linearMemoryValueInterpreter.css +5 -5
  161. package/front_end/panels/linear_memory_inspector/components/linearMemoryViewer.css +6 -6
  162. package/front_end/panels/linear_memory_inspector/components/valueInterpreterDisplay.css +6 -6
  163. package/front_end/panels/linear_memory_inspector/components/valueInterpreterSettings.css +2 -2
  164. package/front_end/panels/media/PlayerPropertiesView.ts +1 -1
  165. package/front_end/panels/media/TickingFlameChart.ts +3 -2
  166. package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +2 -1
  167. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +1 -1
  168. package/front_end/panels/mobile_throttling/ThrottlingPresets.ts +2 -1
  169. package/front_end/panels/network/NetworkDataGridNode.ts +11 -9
  170. package/front_end/panels/network/NetworkLogView.ts +4 -1
  171. package/front_end/panels/network/NetworkLogViewColumns.ts +5 -2
  172. package/front_end/panels/network/RequestConditionsDrawer.ts +2 -2
  173. package/front_end/panels/network/RequestHeadersView.ts +47 -11
  174. package/front_end/panels/network/RequestPayloadView.ts +1 -1
  175. package/front_end/panels/network/RequestResponseView.ts +1 -1
  176. package/front_end/panels/network/RequestTimingView.ts +1 -1
  177. package/front_end/panels/network/ShowMoreDetailsWidget.ts +1 -1
  178. package/front_end/panels/network/components/RequestHeadersView.css +12 -0
  179. package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
  180. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +3 -3
  181. package/front_end/panels/profiler/HeapProfileView.ts +1 -1
  182. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +1 -1
  183. package/front_end/panels/protocol_monitor/JSONEditor.ts +1 -1
  184. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +3 -3
  185. package/front_end/panels/recorder/RecordingListView.ts +0 -6
  186. package/front_end/panels/recorder/RecordingView.ts +0 -6
  187. package/front_end/panels/recorder/controlButton.css +10 -10
  188. package/front_end/panels/recorder/startView.css +1 -1
  189. package/front_end/panels/screencast/ScreencastView.ts +4 -2
  190. package/front_end/panels/search/SearchView.ts +1 -1
  191. package/front_end/panels/security/SecurityPanel.ts +46 -35
  192. package/front_end/panels/sources/BreakpointEditDialog.ts +1 -1
  193. package/front_end/panels/sources/CallStackSidebarPane.ts +1 -1
  194. package/front_end/panels/sources/DebuggerPausedMessage.ts +8 -6
  195. package/front_end/panels/sources/ProfilePlugin.ts +2 -1
  196. package/front_end/panels/sources/ScopeChainSidebarPane.ts +1 -1
  197. package/front_end/panels/timeline/IsolateSelector.ts +1 -1
  198. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +1 -1
  199. package/front_end/panels/timeline/NetworkTrackAppender.ts +1 -1
  200. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +1 -1
  201. package/front_end/panels/timeline/TimelineFlameChartView.ts +0 -32
  202. package/front_end/panels/timeline/TimelineHistoryManager.ts +1 -1
  203. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +7 -3
  204. package/front_end/panels/timeline/TimelinePanel.ts +3 -20
  205. package/front_end/panels/timeline/TimelineTreeView.ts +1 -1
  206. package/front_end/panels/timeline/TimelineUIUtils.ts +4 -4
  207. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +4 -3
  208. package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -1
  209. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +25 -24
  210. package/front_end/panels/timeline/components/RelatedInsightChips.ts +4 -3
  211. package/front_end/panels/timeline/components/Sidebar.ts +1 -1
  212. package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +4 -3
  213. package/front_end/panels/timeline/components/cwvMetrics.css +2 -2
  214. package/front_end/panels/timeline/components/insights/checklist.css +1 -1
  215. package/front_end/panels/timeline/components/insights/table.css +3 -3
  216. package/front_end/panels/timeline/overlays/components/entriesLinkOverlay.css +4 -4
  217. package/front_end/panels/timeline/overlays/components/entryLabelOverlay.css +4 -4
  218. package/front_end/panels/timeline/overlays/components/timeRangeOverlay.css +2 -2
  219. package/front_end/panels/timeline/overlays/components/timespanBreakdownOverlay.css +4 -4
  220. package/front_end/panels/timeline/timelinePanel.css +0 -74
  221. package/front_end/panels/timeline/utils/Helpers.ts +1 -1
  222. package/front_end/panels/timeline/utils/ImageCache.ts +5 -3
  223. package/front_end/panels/web_audio/WebAudioView.ts +3 -3
  224. package/front_end/panels/web_audio/webAudio.css +5 -5
  225. package/front_end/panels/webauthn/WebauthnPane.ts +5 -11
  226. package/front_end/third_party/acorn/acorn.ts +3 -3
  227. package/front_end/third_party/chromium/README.chromium +1 -1
  228. package/front_end/third_party/chromium/ahem/ahem.d.ts +1 -0
  229. package/front_end/third_party/csp_evaluator/package/csp.ts +4 -4
  230. package/front_end/third_party/csp_evaluator/package/parser.ts +3 -1
  231. package/front_end/third_party/csp_evaluator/package/tsconfig.json +1 -0
  232. package/front_end/third_party/csp_evaluator/package/utils.ts +1 -1
  233. package/front_end/third_party/diff/DiffWrapper.ts +1 -8
  234. package/front_end/third_party/diff/diff_match_patch.d.ts +10 -0
  235. package/front_end/third_party/json5/json5.ts +2 -2
  236. package/front_end/third_party/puppeteer/README.chromium +2 -2
  237. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +183 -4
  238. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +708 -122
  239. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.d.ts +85 -3
  240. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.d.ts.map +1 -1
  241. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.js +84 -11
  242. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.js.map +1 -1
  243. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ScreenRecording.d.ts +75 -0
  244. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ScreenRecording.d.ts.map +1 -0
  245. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ScreenRecording.js +102 -0
  246. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ScreenRecording.js.map +1 -0
  247. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/api.d.ts +1 -0
  248. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/api.d.ts.map +1 -1
  249. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/api.js +1 -0
  250. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/api.js.map +1 -1
  251. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.d.ts +6 -1
  252. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.d.ts.map +1 -1
  253. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.js +7 -0
  254. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.js.map +1 -1
  255. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ScreenRecording.d.ts +31 -0
  256. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ScreenRecording.d.ts.map +1 -0
  257. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ScreenRecording.js +138 -0
  258. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ScreenRecording.js.map +1 -0
  259. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/bidi.d.ts +1 -0
  260. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/bidi.d.ts.map +1 -1
  261. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/bidi.js +1 -0
  262. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/bidi.js.map +1 -1
  263. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.d.ts +6 -0
  264. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  265. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.js +23 -0
  266. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  267. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.d.ts +6 -1
  268. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.d.ts.map +1 -1
  269. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.js +7 -0
  270. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.js.map +1 -1
  271. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ScreenRecording.d.ts +31 -0
  272. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ScreenRecording.d.ts.map +1 -0
  273. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ScreenRecording.js +131 -0
  274. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ScreenRecording.js.map +1 -0
  275. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/cdp.d.ts +1 -0
  276. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/cdp.d.ts.map +1 -1
  277. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/cdp.js +1 -0
  278. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/cdp.js.map +1 -1
  279. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.js +7 -4
  280. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.js.map +1 -1
  281. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.d.ts +4 -1
  282. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.d.ts.map +1 -1
  283. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.js +5 -1
  284. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.js.map +1 -1
  285. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/ConnectOptions.d.ts +42 -0
  286. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  287. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Device.d.ts +2 -2
  288. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Device.d.ts.map +1 -1
  289. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Device.js +265 -1
  290. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Device.js.map +1 -1
  291. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.d.ts +4 -0
  292. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  293. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.js +24 -3
  294. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.js.map +1 -1
  295. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.d.ts +23 -2
  296. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  297. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.js +49 -3
  298. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  299. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.d.ts +3 -3
  300. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js +3 -3
  301. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts +1 -1
  302. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts.map +1 -1
  303. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js +1 -1
  304. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js.map +1 -1
  305. package/front_end/third_party/puppeteer/package/lib/types.d.ts +183 -4
  306. package/front_end/third_party/puppeteer/package/package.json +4 -4
  307. package/front_end/third_party/puppeteer/package/src/api/Page.ts +143 -11
  308. package/front_end/third_party/puppeteer/package/src/api/ScreenRecording.ts +145 -0
  309. package/front_end/third_party/puppeteer/package/src/api/api.ts +1 -0
  310. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +11 -0
  311. package/front_end/third_party/puppeteer/package/src/bidi/ScreenRecording.ts +106 -0
  312. package/front_end/third_party/puppeteer/package/src/bidi/bidi.ts +1 -0
  313. package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +41 -0
  314. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +11 -0
  315. package/front_end/third_party/puppeteer/package/src/cdp/ScreenRecording.ts +101 -0
  316. package/front_end/third_party/puppeteer/package/src/cdp/cdp.ts +1 -0
  317. package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +17 -9
  318. package/front_end/third_party/puppeteer/package/src/common/BrowserWebSocketTransport.ts +4 -0
  319. package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +46 -0
  320. package/front_end/third_party/puppeteer/package/src/common/Device.ts +287 -1
  321. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +30 -1
  322. package/front_end/third_party/puppeteer/package/src/node/NodeWebSocketTransport.ts +73 -2
  323. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  324. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  325. package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +3 -0
  326. package/front_end/tsconfig.json +1 -2
  327. package/front_end/ui/comments/CommentAnchorResolver.ts +8 -3
  328. package/front_end/ui/comments/CommentOverlayManager.ts +53 -12
  329. package/front_end/ui/comments/CommentsOverlayWidget.ts +3 -3
  330. package/front_end/ui/comments/CommentsStatusBarPill.ts +96 -0
  331. package/front_end/ui/comments/comments-meta.ts +21 -0
  332. package/front_end/ui/comments/comments.ts +2 -0
  333. package/front_end/ui/comments/commentsOverlay.css +22 -3
  334. package/front_end/ui/components/buttons/floatingButton.css +25 -0
  335. package/front_end/ui/components/markdown_view/MarkdownView.ts +31 -1
  336. package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +1 -1
  337. package/front_end/ui/components/suggestion_input/SuggestionInput.ts +45 -25
  338. package/front_end/ui/kit/icons/Icon.ts +0 -1
  339. package/front_end/ui/kit/link/Link.ts +8 -1
  340. package/front_end/ui/legacy/ContextMenu.ts +2 -2
  341. package/front_end/ui/legacy/DropTarget.ts +6 -1
  342. package/front_end/ui/legacy/EmptyWidget.ts +1 -1
  343. package/front_end/ui/legacy/GlassPane.ts +1 -1
  344. package/front_end/ui/legacy/InspectorView.ts +17 -1
  345. package/front_end/ui/legacy/ShortcutRegistry.ts +2 -2
  346. package/front_end/ui/legacy/SplitWidget.ts +18 -3
  347. package/front_end/ui/legacy/StackedPane.ts +1 -1
  348. package/front_end/ui/legacy/StatusBar.ts +78 -0
  349. package/front_end/ui/legacy/TargetCrashedScreen.ts +1 -1
  350. package/front_end/ui/legacy/TextPrompt.ts +2 -1
  351. package/front_end/ui/legacy/Toolbar.ts +5 -1
  352. package/front_end/ui/legacy/Treeoutline.ts +91 -48
  353. package/front_end/ui/legacy/UIUtils.ts +8 -4
  354. package/front_end/ui/legacy/ViewManager.ts +1 -1
  355. package/front_end/ui/legacy/ViewRegistration.ts +1 -0
  356. package/front_end/ui/legacy/Widget.ts +1 -1
  357. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +7 -1
  358. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +1 -1
  359. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +3 -2
  360. package/front_end/ui/legacy/components/data_grid/dataGrid.css +23 -23
  361. package/front_end/ui/legacy/components/inline_editor/AnimationTimingModel.ts +1 -1
  362. package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +48 -44
  363. package/front_end/ui/legacy/components/inline_editor/CSSAngleUtils.ts +1 -1
  364. package/front_end/ui/legacy/components/inline_editor/PositionAreaEditor.docs.ts +83 -0
  365. package/front_end/ui/legacy/components/inline_editor/PositionAreaEditor.ts +600 -0
  366. package/front_end/ui/legacy/components/inline_editor/animationNameSwatch.css +1 -1
  367. package/front_end/ui/legacy/components/inline_editor/colorMixSwatch.css +4 -4
  368. package/front_end/ui/legacy/components/inline_editor/cssAngleSwatch.css +3 -3
  369. package/front_end/ui/legacy/components/inline_editor/inline_editor.ts +2 -0
  370. package/front_end/ui/legacy/components/inline_editor/linkSwatch.css +1 -1
  371. package/front_end/ui/legacy/components/inline_editor/positionAreaEditor.css +154 -0
  372. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +224 -127
  373. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +10 -7
  374. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +25 -106
  375. package/front_end/ui/legacy/components/object_ui/customPreviewComponent.css +7 -3
  376. package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +1 -1
  377. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +0 -66
  378. package/front_end/ui/legacy/components/perf_ui/perf_ui.ts +0 -2
  379. package/front_end/ui/legacy/components/perf_ui/pieChart.css +7 -5
  380. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +8 -5
  381. package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +1 -1
  382. package/front_end/ui/legacy/components/utils/Linkifier.ts +5 -5
  383. package/front_end/ui/legacy/inspectorCommon.css +41 -6
  384. package/front_end/ui/legacy/legacy.ts +2 -0
  385. package/front_end/ui/legacy/statusBar.css +18 -0
  386. package/front_end/ui/visual_logging/Debugging.ts +2 -1
  387. package/front_end/ui/visual_logging/KnownContextValues.ts +3 -1
  388. package/front_end/ui/visual_logging/LoggingDriver.ts +3 -3
  389. package/front_end/ui/visual_logging/LoggingEvents.ts +5 -5
  390. package/front_end/ui/visual_logging/LoggingState.ts +1 -1
  391. package/front_end/ui/visual_logging/visual_logging.ts +67 -56
  392. package/inspector_overlay/main.ts +8 -8
  393. package/mcp/mcp.ts +5 -0
  394. package/package.json +2 -8
  395. package/front_end/Images/generate-css-vars.js +0 -52
  396. package/front_end/Images/rollup.config.mjs +0 -36
  397. package/front_end/models/ai_assistance/AiOrigins.ts +0 -107
  398. package/front_end/models/live-metrics/web-vitals-injected/rollup.config.mjs +0 -20
  399. package/front_end/panels/recorder/injected/rollup.config.mjs +0 -20
  400. package/front_end/panels/timeline/EasterEgg.d.ts +0 -6
  401. package/front_end/panels/timeline/easter-egg-tsconfig.json +0 -8
  402. package/front_end/panels/timeline/enable-easter-egg.js +0 -20
  403. package/front_end/third_party/acorn/acorn-tsconfig.json +0 -12
  404. package/front_end/third_party/acorn/estree-tsconfig.json +0 -8
  405. package/front_end/third_party/chromium/client-variations/client-variations-tsconfig.json +0 -8
  406. package/front_end/third_party/codemirror/codemirror-legacy-types-tsconfig.json +0 -8
  407. package/front_end/third_party/codemirror/codemirror-tsconfig.json +0 -15
  408. package/front_end/third_party/codemirror.next/bundle-tsconfig.json +0 -24
  409. package/front_end/third_party/intl-messageformat/intl-messageformat-tsconfig.json +0 -16
  410. package/front_end/third_party/json5/json5-tsconfig.json +0 -8
  411. package/front_end/third_party/legacy-javascript/legacy-javascript-tsconfig.json +0 -8
  412. package/front_end/third_party/lighthouse/lighthouse-tsconfig.json +0 -11
  413. package/front_end/third_party/lighthouse/report/bundle-tsconfig.json +0 -8
  414. package/front_end/third_party/lit/lit-tsconfig.json +0 -15
  415. package/front_end/third_party/marked/marked-tsconfig.json +0 -8
  416. package/front_end/third_party/puppeteer-replay/puppeteer-replay-tsconfig.json +0 -8
  417. package/front_end/third_party/third-party-web/third-party-web-tsconfig.json +0 -8
  418. package/front_end/third_party/wasmparser/wasmparser-tsconfig.json +0 -9
  419. package/front_end/third_party/web-vitals/web-vitals-tsconfig.json +0 -47
  420. package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +0 -606
  421. package/inspector_overlay/loadCSS.rollup.js +0 -29
@@ -3,7 +3,7 @@
3
3
  * Copyright 2017 Google Inc.
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { existsSync } from 'node:fs';
6
+ import { accessSync, constants, existsSync } from 'node:fs';
7
7
  import { tmpdir } from 'node:os';
8
8
  import { join } from 'node:path';
9
9
  import { Browser as InstalledBrowser, CDP_WEBSOCKET_ENDPOINT_REGEX, launch, TimeoutError as BrowsersTimeoutError, WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX, computeExecutablePath, } from '@puppeteer/browsers';
@@ -17,6 +17,21 @@ import { DEFAULT_VIEWPORT } from '../common/util.js';
17
17
  import { createIncrementalIdGenerator, } from '../util/incremental-id-generator.js';
18
18
  import { NodeWebSocketTransport as WebSocketTransport } from './NodeWebSocketTransport.js';
19
19
  import { PipeTransport } from './PipeTransport.js';
20
+ /**
21
+ * Whether the profile directory exists and the current process can write to it.
22
+ * A missing directory counts as writable: the browser creates it on launch.
23
+ *
24
+ * @internal
25
+ */
26
+ function isWritableDirectory(directory) {
27
+ try {
28
+ accessSync(directory, constants.W_OK);
29
+ return true;
30
+ }
31
+ catch {
32
+ return !existsSync(directory);
33
+ }
34
+ }
20
35
  /**
21
36
  * @internal
22
37
  */
@@ -177,6 +192,12 @@ export class BrowserLauncher {
177
192
  // https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/process_singleton_win.cc;l=46;drc=fc7952f0422b5073515a205a04ec9c3a1ae81658
178
193
  (process.platform === 'win32' &&
179
194
  existsSync(join(launchArgs.userDataDir, 'lockfile')))) {
195
+ // The browser reports the same ProcessSingleton failure whether another
196
+ // instance holds the lock or it simply cannot write to the profile
197
+ // directory, so check for the latter before blaming a running browser.
198
+ if (!isWritableDirectory(launchArgs.userDataDir)) {
199
+ throw new Error(`The browser cannot write to ${launchArgs.userDataDir}. Make the \`userDataDir\` writable or use a different one.`);
200
+ }
180
201
  throw new Error(`The browser is already running for ${launchArgs.userDataDir}. Use a different \`userDataDir\` or stop the running browser first.`);
181
202
  }
182
203
  if (logs.includes('Missing X server') && options.headless === false) {
@@ -242,7 +263,7 @@ export class BrowserLauncher {
242
263
  */
243
264
  async createCdpSocketConnection(browserProcess, opts) {
244
265
  const browserWSEndpoint = await browserProcess.waitForLineOutput(CDP_WEBSOCKET_ENDPOINT_REGEX, opts.timeout);
245
- const transport = await WebSocketTransport.create(browserWSEndpoint, undefined, opts.logger);
266
+ const transport = await WebSocketTransport.create(browserWSEndpoint, undefined, opts.logger, opts.wsOptions);
246
267
  return new Connection(browserWSEndpoint, transport, opts.slowMo, opts.protocolTimeout,
247
268
  /* rawErrors */ false, opts.idGenerator, opts.logger);
248
269
  }
@@ -283,7 +304,7 @@ export class BrowserLauncher {
283
304
  */
284
305
  async createBiDiBrowser(browserProcess, closeCallback, opts) {
285
306
  const browserWSEndpoint = (await browserProcess.waitForLineOutput(WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX, opts.timeout)) + '/session';
286
- const transport = await WebSocketTransport.create(browserWSEndpoint, undefined, opts.logger);
307
+ const transport = await WebSocketTransport.create(browserWSEndpoint, undefined, opts.logger, opts.wsOptions);
287
308
  const BiDi = await import(/* webpackIgnore: true */ '../bidi/bidi.js');
288
309
  const bidiConnection = new BiDi.BidiConnection(browserWSEndpoint, transport, opts.idGenerator, opts.slowMo, opts.protocolTimeout, opts.logger);
289
310
  return await BiDi.BidiBrowser.create({
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserLauncher.js","sourceRoot":"","sources":["../../../src/node/BrowserLauncher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserLauncher.js","sourceRoot":"","sources":["../../../src/node/BrowserLauncher.ts"],"names":[],"mappings":"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"}
@@ -6,15 +6,36 @@
6
6
  import NodeWebSocket from 'ws';
7
7
  import type { ConnectionTransport } from '../common/ConnectionTransport.js';
8
8
  import { type Logger } from '../common/Debug.js';
9
+ /**
10
+ * How often to ping the browser when keep-alive is enabled, and how long to
11
+ * wait for the matching pong before treating the connection as dead.
12
+ *
13
+ * @internal
14
+ */
15
+ export declare const DEFAULT_KEEP_ALIVE_INTERVAL_MS = 30000;
16
+ /**
17
+ * @internal
18
+ */
19
+ export interface NodeWebSocketTransportOptions {
20
+ /**
21
+ * Detect a connection that died without a TCP close by exchanging
22
+ * WebSocket ping/pong frames.
23
+ */
24
+ keepAlive?: boolean;
25
+ /**
26
+ * Ping period in milliseconds. Only used when `keepAlive` is set.
27
+ */
28
+ keepAliveIntervalMs?: number;
29
+ }
9
30
  /**
10
31
  * @internal
11
32
  */
12
33
  export declare class NodeWebSocketTransport implements ConnectionTransport {
13
34
  #private;
14
- static create(url: string, headers: Record<string, string> | undefined, logger: Logger): Promise<NodeWebSocketTransport>;
35
+ static create(url: string, headers: Record<string, string> | undefined, logger: Logger, options?: NodeWebSocketTransportOptions): Promise<NodeWebSocketTransport>;
15
36
  onmessage?: (message: NodeWebSocket.Data) => void;
16
37
  onclose?: () => void;
17
- constructor(ws: NodeWebSocket, logger: Logger);
38
+ constructor(ws: NodeWebSocket, logger: Logger, options?: NodeWebSocketTransportOptions);
18
39
  send(message: string): void;
19
40
  close(): void;
20
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeWebSocketTransport.d.ts","sourceRoot":"","sources":["../../../src/node/NodeWebSocketTransport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,aAAa,MAAM,IAAI,CAAC;AAE/B,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAiB,KAAK,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAG/D;;GAEG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;;IAChE,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,sBAAsB,CAAC;IAsBlC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;gBAET,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM;IAmB7C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"NodeWebSocketTransport.d.ts","sourceRoot":"","sources":["../../../src/node/NodeWebSocketTransport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,aAAa,MAAM,IAAI,CAAC;AAE/B,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAiB,KAAK,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAG/D;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;;IAChE,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,sBAAsB,CAAC;IAuBlC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;gBAGnB,EAAE,EAAE,aAAa,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,6BAAkC;IA6D7C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,KAAK,IAAI,IAAI;CAId"}
@@ -6,11 +6,18 @@
6
6
  import NodeWebSocket from 'ws';
7
7
  import { DEBUG_PREFIXES } from '../common/Debug.js';
8
8
  import { packageVersion } from '../util/version.js';
9
+ /**
10
+ * How often to ping the browser when keep-alive is enabled, and how long to
11
+ * wait for the matching pong before treating the connection as dead.
12
+ *
13
+ * @internal
14
+ */
15
+ export const DEFAULT_KEEP_ALIVE_INTERVAL_MS = 30_000;
9
16
  /**
10
17
  * @internal
11
18
  */
12
19
  export class NodeWebSocketTransport {
13
- static create(url, headers, logger) {
20
+ static create(url, headers, logger, options = {}) {
14
21
  return new Promise((resolve, reject) => {
15
22
  const ws = new NodeWebSocket(url, [], {
16
23
  followRedirects: true,
@@ -23,16 +30,17 @@ export class NodeWebSocketTransport {
23
30
  },
24
31
  });
25
32
  ws.addEventListener('open', () => {
26
- return resolve(new NodeWebSocketTransport(ws, logger));
33
+ return resolve(new NodeWebSocketTransport(ws, logger, options));
27
34
  });
28
35
  ws.addEventListener('error', reject);
29
36
  });
30
37
  }
31
38
  #ws;
32
39
  #logger;
40
+ #keepAliveTimer;
33
41
  onmessage;
34
42
  onclose;
35
- constructor(ws, logger) {
43
+ constructor(ws, logger, options = {}) {
36
44
  this.#ws = ws;
37
45
  this.#logger = logger;
38
46
  this.#ws.addEventListener('message', event => {
@@ -41,6 +49,7 @@ export class NodeWebSocketTransport {
41
49
  }
42
50
  });
43
51
  this.#ws.addEventListener('close', () => {
52
+ this.#stopKeepAlive();
44
53
  if (this.onclose) {
45
54
  this.onclose.call(null);
46
55
  }
@@ -49,11 +58,48 @@ export class NodeWebSocketTransport {
49
58
  this.#ws.addEventListener('error', err => {
50
59
  this.#logger?.(DEBUG_PREFIXES.error)?.(err);
51
60
  });
61
+ if (options.keepAlive) {
62
+ this.#startKeepAlive(options.keepAliveIntervalMs ?? DEFAULT_KEEP_ALIVE_INTERVAL_MS);
63
+ }
64
+ }
65
+ /**
66
+ * The `ws` client only reports a close when the peer sends a TCP FIN. A
67
+ * connection dropped by a proxy, a load balancer reaping an idle socket or a
68
+ * killed remote browser leaves a half-open socket that never emits `close`,
69
+ * so the transport keeps reporting itself as connected until the next
70
+ * command fails. Ping periodically and terminate when the pong for the
71
+ * previous ping never arrived.
72
+ */
73
+ #startKeepAlive(intervalMs) {
74
+ let awaitingPong = false;
75
+ this.#ws.on('pong', () => {
76
+ awaitingPong = false;
77
+ });
78
+ this.#keepAliveTimer = setInterval(() => {
79
+ if (awaitingPong) {
80
+ // terminate() rather than close(): the peer is not answering, so a
81
+ // close handshake would hang. This emits `close` locally, which is
82
+ // what surfaces the dead connection to the rest of Puppeteer.
83
+ this.#ws.terminate();
84
+ return;
85
+ }
86
+ awaitingPong = true;
87
+ this.#ws.ping();
88
+ }, intervalMs);
89
+ // Never hold the process open just to keep pinging.
90
+ this.#keepAliveTimer.unref?.();
91
+ }
92
+ #stopKeepAlive() {
93
+ if (this.#keepAliveTimer !== undefined) {
94
+ clearInterval(this.#keepAliveTimer);
95
+ this.#keepAliveTimer = undefined;
96
+ }
52
97
  }
53
98
  send(message) {
54
99
  this.#ws.send(message);
55
100
  }
56
101
  close() {
102
+ this.#stopKeepAlive();
57
103
  this.#ws.close();
58
104
  }
59
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeWebSocketTransport.js","sourceRoot":"","sources":["../../../src/node/NodeWebSocketTransport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,aAAa,MAAM,IAAI,CAAC;AAG/B,OAAO,EAAC,cAAc,EAAc,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC,MAAM,CAAC,MAAM,CACX,GAAW,EACX,OAA2C,EAC3C,MAAc;QAEd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE;gBACpC,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,KAAK;gBACxB,sBAAsB,EAAE,KAAK;gBAC7B,UAAU,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,QAAQ;gBACvC,OAAO,EAAE;oBACP,YAAY,EAAE,aAAa,cAAc,EAAE;oBAC3C,GAAG,OAAO;iBACX;aACF,CAAC,CAAC;YAEH,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC/B,OAAO,OAAO,CAAC,IAAI,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAgB;IACnB,OAAO,CAAS;IAChB,SAAS,CAAyC;IAClD,OAAO,CAAc;IAErB,YAAY,EAAiB,EAAE,MAAc;QAC3C,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC3C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,gEAAgE;QAChE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"NodeWebSocketTransport.js","sourceRoot":"","sources":["../../../src/node/NodeWebSocketTransport.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@
7
7
  * @internal
8
8
  */
9
9
  export declare const PUPPETEER_REVISIONS: Readonly<{
10
- chrome: "152.0.7977.54";
11
- 'chrome-headless-shell': "152.0.7977.54";
12
- firefox: "stable_154.0";
10
+ chrome: "152.0.7977.75";
11
+ 'chrome-headless-shell': "152.0.7977.75";
12
+ firefox: "stable_155.0";
13
13
  }>;
14
14
  //# sourceMappingURL=revisions.d.ts.map
@@ -7,8 +7,8 @@
7
7
  * @internal
8
8
  */
9
9
  export const PUPPETEER_REVISIONS = Object.freeze({
10
- chrome: '152.0.7977.54',
11
- 'chrome-headless-shell': '152.0.7977.54',
12
- firefox: 'stable_154.0',
10
+ chrome: '152.0.7977.75',
11
+ 'chrome-headless-shell': '152.0.7977.75',
12
+ firefox: 'stable_155.0',
13
13
  });
14
14
  //# sourceMappingURL=revisions.js.map
@@ -3,5 +3,5 @@
3
3
  * Copyright 2025 Google Inc.
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const packageVersion = "25.9.0";
6
+ export declare const packageVersion = "25.10.0";
7
7
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/util/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/util/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,cAAc,YAAY,CAAC"}
@@ -5,6 +5,6 @@
5
5
  */
6
6
  // If moved update release-please config
7
7
  // x-release-please-start-version
8
- export const packageVersion = '25.9.0';
8
+ export const packageVersion = '25.10.0';
9
9
  // x-release-please-end
10
10
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/util/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wCAAwC;AACxC,iCAAiC;AACjC,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AACvC,uBAAuB"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/util/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wCAAwC;AACxC,iCAAiC;AACjC,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AACxC,uBAAuB"}
@@ -1401,6 +1401,14 @@ export declare interface ConnectOptions {
1401
1401
  * @defaultValue `180_000`
1402
1402
  */
1403
1403
  protocolTimeout?: number;
1404
+ /**
1405
+ * Options for the WebSocket connection to the browser.
1406
+ *
1407
+ * @remarks
1408
+ * Only used in the Node.js environment. The browser build has no ping frame
1409
+ * API, so the keep-alive options are ignored there.
1410
+ */
1411
+ wsOptions?: WsOptions;
1404
1412
  browserWSEndpoint?: string;
1405
1413
  browserURL?: string;
1406
1414
  transport?: ConnectionTransport;
@@ -1408,6 +1416,10 @@ export declare interface ConnectOptions {
1408
1416
  * Headers to use for the web socket connection.
1409
1417
  * @remarks
1410
1418
  * Only works in the Node.js environment.
1419
+ *
1420
+ * @deprecated Use {@link WsOptions.headers} via
1421
+ * {@link ConnectOptions.wsOptions} instead. When both are set,
1422
+ * `wsOptions.headers` wins.
1411
1423
  */
1412
1424
  headers?: Record<string, string>;
1413
1425
  /**
@@ -4954,7 +4966,7 @@ export declare type KeyPressOptions = KeyDownOptions & KeyboardTypeOptions;
4954
4966
  *
4955
4967
  * ```ts
4956
4968
  * import {KnownDevices} from 'puppeteer';
4957
- * const iPhone = KnownDevices['iPhone 15 Pro'];
4969
+ * const iPhone = KnownDevices['iPhone 17 Pro'];
4958
4970
  *
4959
4971
  * const browser = await puppeteer.launch();
4960
4972
  * const page = await browser.newPage();
@@ -5016,6 +5028,8 @@ export declare const KnownDevices: Readonly<
5016
5028
  | 'iPhone 8 Plus landscape'
5017
5029
  | 'iPhone SE'
5018
5030
  | 'iPhone SE landscape'
5031
+ | 'iPhone SE (3rd gen)'
5032
+ | 'iPhone SE (3rd gen) landscape'
5019
5033
  | 'iPhone X'
5020
5034
  | 'iPhone X landscape'
5021
5035
  | 'iPhone XR'
@@ -5058,6 +5072,26 @@ export declare const KnownDevices: Readonly<
5058
5072
  | 'iPhone 15 Pro landscape'
5059
5073
  | 'iPhone 15 Pro Max'
5060
5074
  | 'iPhone 15 Pro Max landscape'
5075
+ | 'iPhone 16'
5076
+ | 'iPhone 16 landscape'
5077
+ | 'iPhone 16 Plus'
5078
+ | 'iPhone 16 Plus landscape'
5079
+ | 'iPhone 16 Pro'
5080
+ | 'iPhone 16 Pro landscape'
5081
+ | 'iPhone 16 Pro Max'
5082
+ | 'iPhone 16 Pro Max landscape'
5083
+ | 'iPhone 16e'
5084
+ | 'iPhone 16e landscape'
5085
+ | 'iPhone 17'
5086
+ | 'iPhone 17 landscape'
5087
+ | 'iPhone Air'
5088
+ | 'iPhone Air landscape'
5089
+ | 'iPhone 17 Pro'
5090
+ | 'iPhone 17 Pro landscape'
5091
+ | 'iPhone 17 Pro Max'
5092
+ | 'iPhone 17 Pro Max landscape'
5093
+ | 'iPhone 17e'
5094
+ | 'iPhone 17e landscape'
5061
5095
  | 'JioPhone 2'
5062
5096
  | 'JioPhone 2 landscape'
5063
5097
  | 'Kindle Fire HDX'
@@ -6984,7 +7018,7 @@ export declare abstract class Page extends EventEmitter<PageEvents> {
6984
7018
  *
6985
7019
  * ```ts
6986
7020
  * import {KnownDevices} from 'puppeteer';
6987
- * const iPhone = KnownDevices['iPhone 15 Pro'];
7021
+ * const iPhone = KnownDevices['iPhone 17 Pro'];
6988
7022
  *
6989
7023
  * const browser = await puppeteer.launch();
6990
7024
  * const page = await browser.newPage();
@@ -7317,7 +7351,7 @@ export declare abstract class Page extends EventEmitter<PageEvents> {
7317
7351
  */
7318
7352
  abstract setCacheEnabled(enabled?: boolean): Promise<void>;
7319
7353
  /**
7320
- * Captures a screencast of this {@link Page | page}.
7354
+ * Captures a screencast of this {@link Page | page}. Works in Chrome 153+.
7321
7355
  *
7322
7356
  * @example
7323
7357
  * Recording a {@link Page | page}:
@@ -7347,7 +7381,7 @@ export declare abstract class Page extends EventEmitter<PageEvents> {
7347
7381
  *
7348
7382
  * @param options - Configures screencast behavior.
7349
7383
  *
7350
- * @experimental
7384
+ * @deprecated Use {@link Page.record} instead.
7351
7385
  *
7352
7386
  * @remarks
7353
7387
  *
@@ -7357,6 +7391,44 @@ export declare abstract class Page extends EventEmitter<PageEvents> {
7357
7391
  * You must have {@link https://ffmpeg.org/ | ffmpeg} installed on your system.
7358
7392
  */
7359
7393
  screencast(options?: Readonly<ScreencastOptions>): Promise<ScreenRecorder>;
7394
+ /**
7395
+ * Records this {@link Page | page} using the Chrome DevTools Protocol
7396
+ * {@link https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-startScreenRecording | Page.startScreenRecording}
7397
+ * API.
7398
+ *
7399
+ * Outputs mp4 video stream.
7400
+ *
7401
+ * @example
7402
+ * Recording a {@link Page | page}:
7403
+ *
7404
+ * ```ts
7405
+ * import puppeteer from 'puppeteer';
7406
+ *
7407
+ * // Launch a browser
7408
+ * const browser = await puppeteer.launch();
7409
+ *
7410
+ * // Create a new page
7411
+ * const page = await browser.newPage();
7412
+ *
7413
+ * // Go to your site.
7414
+ * await page.goto('https://www.example.com');
7415
+ *
7416
+ * // Start recording.
7417
+ * const recorder = await page.record({path: 'recording.mp4'});
7418
+ *
7419
+ * // Do something.
7420
+ *
7421
+ * // Stop recording.
7422
+ * await recorder.stop();
7423
+ *
7424
+ * await browser.close();
7425
+ * ```
7426
+ *
7427
+ * @param options - Configures recording behavior.
7428
+ *
7429
+ * @experimental
7430
+ */
7431
+ record(options?: Readonly<RecordOptions>): Promise<ScreenRecording>;
7360
7432
  /**
7361
7433
  * Captures a screenshot of this {@link Page | page}.
7362
7434
  *
@@ -8493,11 +8565,13 @@ declare namespace Puppeteer_2 {
8493
8565
  VideoFormat,
8494
8566
  ScreenshotOptions,
8495
8567
  ScreencastOptions,
8568
+ RecordOptions,
8496
8569
  QueryOptions,
8497
8570
  PageEvents,
8498
8571
  NewDocumentScriptEvaluation,
8499
8572
  ReloadOptions,
8500
8573
  HeapSnapshotOptions,
8574
+ WritableDestination,
8501
8575
  WebWorkerEvents,
8502
8576
  VisibilityOption,
8503
8577
  ActionOptions,
@@ -8533,6 +8607,7 @@ declare namespace Puppeteer_2 {
8533
8607
  SupportedWebDriverCapability,
8534
8608
  SupportedWebDriverCapabilities,
8535
8609
  ChromeReleaseChannel,
8610
+ WsOptions,
8536
8611
  ConnectOptions,
8537
8612
  ConsoleMessageLocation,
8538
8613
  ConsoleMessageType,
@@ -8603,6 +8678,7 @@ declare namespace Puppeteer_2 {
8603
8678
  PageEvent,
8604
8679
  Page,
8605
8680
  Realm,
8681
+ ScreenRecording,
8606
8682
  TargetType,
8607
8683
  Target,
8608
8684
  WebWorkerEvent,
@@ -8982,6 +9058,46 @@ export declare abstract class Realm {
8982
9058
  [disposeSymbol](): void;
8983
9059
  }
8984
9060
 
9061
+ /**
9062
+ * @public
9063
+ * @experimental
9064
+ */
9065
+ export declare interface RecordOptions {
9066
+ /**
9067
+ * File path to save the recording to.
9068
+ */
9069
+ path?: string;
9070
+ /**
9071
+ * Specifies whether to overwrite output file,
9072
+ * or exit immediately if it already exists.
9073
+ *
9074
+ * @defaultValue `true`
9075
+ */
9076
+ overwrite?: boolean;
9077
+ /**
9078
+ * Whether to record audio.
9079
+ *
9080
+ * @defaultValue `false`
9081
+ */
9082
+ audio?: boolean;
9083
+ /**
9084
+ * Maximum frame width in pixels.
9085
+ */
9086
+ maxWidth?: number;
9087
+ /**
9088
+ * Maximum frame height in pixels.
9089
+ */
9090
+ maxHeight?: number;
9091
+ /**
9092
+ * Maximum frame rate in frames per second.
9093
+ */
9094
+ frameRate?: number;
9095
+ /**
9096
+ * Frame rate in frames per second (alias for frameRate).
9097
+ */
9098
+ fps?: number;
9099
+ }
9100
+
8985
9101
  /**
8986
9102
  * @public
8987
9103
  */
@@ -9166,6 +9282,26 @@ export declare class ScreenRecorder extends PassThrough {
9166
9282
  [asyncDisposeSymbol](): Promise<void>;
9167
9283
  }
9168
9284
 
9285
+ /**
9286
+ * @public
9287
+ */
9288
+ export declare abstract class ScreenRecording extends ReadableStream<Uint8Array> {
9289
+ /**
9290
+ * Pipes the recorded stream to a destination stream.
9291
+ *
9292
+ * @public
9293
+ */
9294
+ pipe<T extends WritableStream<Uint8Array>>(destination: T): Promise<void>;
9295
+ pipe<T extends WritableDestination>(destination: T): T;
9296
+ /**
9297
+ * Stops the screen recording.
9298
+ *
9299
+ * @public
9300
+ */
9301
+ abstract stop(): Promise<void>;
9302
+ [asyncDisposeSymbol](): Promise<void>;
9303
+ }
9304
+
9169
9305
  /**
9170
9306
  * @public
9171
9307
  */
@@ -10186,4 +10322,47 @@ export declare interface WorkAreaInsets {
10186
10322
  right?: number;
10187
10323
  }
10188
10324
 
10325
+ /**
10326
+ * @public
10327
+ */
10328
+ export declare interface WritableDestination {
10329
+ write(chunk: Uint8Array): boolean;
10330
+ end(): unknown;
10331
+ writableFinished?: boolean;
10332
+ closed?: boolean;
10333
+ destroyed?: boolean;
10334
+ once?(event: string, cb: (arg?: unknown) => void): unknown;
10335
+ }
10336
+
10337
+ /**
10338
+ * Options for the WebSocket connection to the browser.
10339
+ *
10340
+ * @remarks
10341
+ * Only used in the Node.js environment.
10342
+ *
10343
+ * @public
10344
+ */
10345
+ export declare interface WsOptions {
10346
+ /**
10347
+ * Headers to use for the web socket connection.
10348
+ */
10349
+ headers?: Record<string, string>;
10350
+ /**
10351
+ * Whether to send WebSocket pings and drop the connection when a pong does
10352
+ * not come back within the same interval. Detects a connection that died
10353
+ * without a close frame, which otherwise leaves calls hanging until
10354
+ * `protocolTimeout`.
10355
+ *
10356
+ * @defaultValue `false`
10357
+ */
10358
+ keepAlive?: boolean;
10359
+ /**
10360
+ * Ping period in milliseconds. Only used when {@link WsOptions.keepAlive} is
10361
+ * set.
10362
+ *
10363
+ * @defaultValue `30_000`
10364
+ */
10365
+ keepAliveIntervalMs?: number;
10366
+ }
10367
+
10189
10368
  export {};
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "puppeteer-core",
3
- "version": "25.9.0",
3
+ "version": "25.10.0",
4
4
  "description": "A high-level API to control headless Chrome over the DevTools Protocol",
5
5
  "keywords": [
6
6
  "puppeteer",
@@ -148,15 +148,15 @@
148
148
  "author": "The Chromium Authors",
149
149
  "license": "Apache-2.0",
150
150
  "dependencies": {
151
- "@puppeteer/browsers": "3.2.1",
151
+ "@puppeteer/browsers": "3.2.2",
152
152
  "chromium-bidi": "17.0.2",
153
153
  "devtools-protocol": "0.0.1666840",
154
154
  "typed-query-selector": "^2.12.2",
155
- "webdriver-bidi-protocol": "0.4.2",
155
+ "webdriver-bidi-protocol": "0.4.3",
156
156
  "ws": "^8.21.3"
157
157
  },
158
158
  "devDependencies": {
159
- "@types/chrome": "0.2.5",
159
+ "@types/chrome": "0.2.7",
160
160
  "@types/node": "^18.17.15",
161
161
  "@types/ws": "8.18.1",
162
162
  "mitt": "3.0.1",