chrome-devtools-frontend 1.0.1539728 → 1.0.1541169

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 (196) hide show
  1. package/eslint.config.mjs +167 -151
  2. package/front_end/core/common/Debouncer.ts +2 -2
  3. package/front_end/core/common/Gzip.ts +1 -1
  4. package/front_end/core/common/Revealer.ts +5 -0
  5. package/front_end/core/common/Throttler.ts +3 -3
  6. package/front_end/core/host/GdpClient.ts +4 -0
  7. package/front_end/core/host/InspectorFrontendHost.ts +10 -10
  8. package/front_end/core/protocol_client/DevToolsCDPConnection.ts +181 -0
  9. package/front_end/core/protocol_client/InspectorBackend.ts +36 -203
  10. package/front_end/core/protocol_client/protocol_client.ts +2 -2
  11. package/front_end/core/sdk/DebuggerModel.ts +3 -16
  12. package/front_end/core/sdk/NetworkManager.ts +16 -11
  13. package/front_end/core/sdk/RemoteObject.ts +4 -0
  14. package/front_end/core/sdk/Target.ts +3 -6
  15. package/front_end/core/sdk/TargetManager.ts +1 -2
  16. package/front_end/core/sdk/sdk-meta.ts +0 -35
  17. package/front_end/entrypoints/lighthouse_worker/LighthouseWorkerService.ts +1 -3
  18. package/front_end/entrypoints/node_app/app/NodeMain.ts +3 -2
  19. package/front_end/entrypoints/shell/shell.ts +1 -0
  20. package/front_end/entrypoints/trace_app/trace_app.ts +1 -0
  21. package/front_end/generated/Deprecation.ts +8 -0
  22. package/front_end/generated/InspectorBackendCommands.ts +8 -5
  23. package/front_end/generated/SupportedCSSProperties.js +58 -4
  24. package/front_end/generated/protocol.ts +60 -4
  25. package/front_end/models/ai_assistance/EvaluateAction.ts +88 -5
  26. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +121 -56
  27. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +104 -62
  28. package/front_end/models/ai_assistance/injected.ts +15 -2
  29. package/front_end/models/ai_assistance/performance/AIQueries.ts +56 -2
  30. package/front_end/{panels/issues → models/issues_manager}/IssueAggregator.ts +83 -65
  31. package/front_end/models/issues_manager/issues_manager.ts +2 -0
  32. package/front_end/models/live-metrics/web-vitals-injected/README.md +1 -1
  33. package/front_end/models/trace/Processor.ts +5 -4
  34. package/front_end/models/trace/Styles.ts +1 -1
  35. package/front_end/models/trace/insights/types.ts +1 -1
  36. package/front_end/models/trace/types/TraceEvents.ts +1 -1
  37. package/front_end/models/workspace/IgnoreListManager.ts +41 -47
  38. package/front_end/models/workspace/workspace-meta.ts +40 -0
  39. package/front_end/panels/ai_assistance/PatchWidget.ts +22 -12
  40. package/front_end/panels/ai_assistance/components/ChatView.ts +1 -1
  41. package/front_end/panels/animation/AnimationTimeline.ts +4 -4
  42. package/front_end/panels/animation/AnimationUI.ts +28 -34
  43. package/front_end/panels/common/AiCodeCompletionDisclaimer.ts +4 -4
  44. package/front_end/panels/common/AiCodeCompletionSummaryToolbar.ts +2 -2
  45. package/front_end/panels/elements/ElementsTreeElement.ts +37 -9
  46. package/front_end/panels/elements/LayoutPane.ts +2 -2
  47. package/front_end/panels/elements/PropertiesWidget.ts +3 -2
  48. package/front_end/panels/elements/components/AdornerManager.ts +9 -9
  49. package/front_end/panels/elements/layoutPane.css +5 -9
  50. package/front_end/panels/event_listeners/EventListenersView.ts +10 -6
  51. package/front_end/panels/explain/components/ConsoleInsight.ts +498 -449
  52. package/front_end/panels/issues/AffectedResourcesView.ts +3 -4
  53. package/front_end/panels/issues/CorsIssueDetailsView.ts +1 -2
  54. package/front_end/panels/issues/IssueView.ts +1 -1
  55. package/front_end/panels/issues/IssuesPane.ts +12 -15
  56. package/front_end/panels/issues/issues.ts +0 -2
  57. package/front_end/panels/lighthouse/LighthouseProtocolService.ts +3 -3
  58. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +2 -2
  59. package/front_end/panels/network/NetworkDataGridNode.ts +2 -1
  60. package/front_end/panels/network/RequestConditionsDrawer.ts +149 -46
  61. package/front_end/panels/network/RequestPayloadView.ts +2 -1
  62. package/front_end/panels/network/RequestTimingView.ts +17 -10
  63. package/front_end/panels/network/components/RequestHeadersView.ts +24 -17
  64. package/front_end/panels/network/network-meta.ts +11 -0
  65. package/front_end/panels/protocol_monitor/JSONEditor.ts +2 -2
  66. package/front_end/panels/recorder/RecorderController.ts +6 -7
  67. package/front_end/panels/recorder/models/RecordingPlayer.ts +3 -3
  68. package/front_end/panels/settings/components/SyncSection.ts +1 -1
  69. package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +1 -1
  70. package/front_end/panels/sources/BreakpointsView.ts +3 -3
  71. package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
  72. package/front_end/panels/sources/ScopeChainSidebarPane.ts +4 -3
  73. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +4 -3
  74. package/front_end/panels/sources/breakpointsView.css +1 -1
  75. package/front_end/panels/sources/sourcesPanel.css +2 -2
  76. package/front_end/panels/timeline/TimelineFlameChartView.ts +3 -3
  77. package/front_end/panels/timeline/TimelinePanel.ts +3 -3
  78. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +9 -5
  79. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +16 -10
  80. package/front_end/panels/timeline/components/LiveMetricsView.ts +20 -9
  81. package/front_end/panels/timeline/components/MetricCard.ts +4 -2
  82. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +2 -0
  83. package/front_end/services/puppeteer/PuppeteerConnection.ts +2 -1
  84. package/front_end/third_party/chromium/README.chromium +1 -1
  85. package/front_end/third_party/puppeteer/README.chromium +2 -2
  86. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +5 -0
  87. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  88. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  89. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +1 -0
  90. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
  91. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +3 -0
  92. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
  93. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +1 -0
  94. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
  95. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +21 -0
  96. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
  97. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.d.ts.map +1 -1
  98. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.js +5 -1
  99. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.js.map +1 -1
  100. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +1 -0
  101. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
  102. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +6 -0
  103. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  104. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts +1 -1
  105. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts.map +1 -1
  106. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js +29 -27
  107. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js.map +1 -1
  108. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  109. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  110. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
  111. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
  112. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +5 -0
  113. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +61 -26
  114. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +5 -0
  115. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  116. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  117. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +1 -0
  118. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
  119. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +3 -0
  120. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
  121. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +1 -0
  122. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
  123. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +21 -0
  124. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
  125. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.d.ts.map +1 -1
  126. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.js +5 -1
  127. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.js.map +1 -1
  128. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +1 -0
  129. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
  130. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +6 -0
  131. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  132. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts +1 -1
  133. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts.map +1 -1
  134. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js +30 -28
  135. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js.map +1 -1
  136. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
  137. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
  138. package/front_end/third_party/puppeteer/package/lib/types.d.ts +5 -0
  139. package/front_end/third_party/puppeteer/package/package.json +1 -1
  140. package/front_end/third_party/puppeteer/package/src/api/Page.ts +6 -0
  141. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +4 -0
  142. package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +32 -0
  143. package/front_end/third_party/puppeteer/package/src/cdp/ExtensionTransport.ts +5 -1
  144. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +8 -0
  145. package/front_end/third_party/puppeteer/package/src/cdp/TargetManager.ts +36 -43
  146. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  147. package/front_end/ui/components/dialogs/ButtonDialog.ts +15 -5
  148. package/front_end/ui/components/expandable_list/ExpandableList.ts +1 -1
  149. package/front_end/ui/components/helpers/helpers.ts +0 -2
  150. package/front_end/ui/components/markdown_view/MarkdownView.ts +1 -0
  151. package/front_end/ui/components/menus/Menu.ts +5 -3
  152. package/front_end/ui/components/snackbars/Snackbars.docs.ts +46 -0
  153. package/front_end/ui/components/survey_link/SurveyLink.docs.ts +22 -0
  154. package/front_end/ui/components/tree_outline/TreeOutline.ts +1 -2
  155. package/front_end/ui/{components/docs/context_menu/basic.ts → legacy/ContextMenu.docs.ts} +58 -25
  156. package/front_end/ui/legacy/SelectMenu.docs.ts +14 -0
  157. package/front_end/ui/legacy/UIUtils.ts +2 -1
  158. package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +1 -1
  159. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +3 -1
  160. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +558 -439
  161. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +3 -3
  162. package/front_end/ui/legacy/components/perf_ui/pieChart.css +1 -1
  163. package/front_end/ui/legacy/components/utils/Linkifier.ts +1 -1
  164. package/front_end/ui/legacy/inspectorCommon.css +3 -2
  165. package/mcp/mcp.ts +15 -1
  166. package/package.json +2 -1
  167. package/front_end/core/protocol_client/NodeURL.ts +0 -40
  168. package/front_end/ui/components/docs/combo_box/basic.html +0 -20
  169. package/front_end/ui/components/docs/combo_box/basic.ts +0 -49
  170. package/front_end/ui/components/docs/context_menu/basic.html +0 -45
  171. package/front_end/ui/components/docs/legacy_color_invert/basic.html +0 -77
  172. package/front_end/ui/components/docs/legacy_color_invert/basic.ts +0 -98
  173. package/front_end/ui/components/docs/linkifier/simple-url.html +0 -25
  174. package/front_end/ui/components/docs/linkifier/simple-url.ts +0 -25
  175. package/front_end/ui/components/docs/panel_feedback/basic.html +0 -25
  176. package/front_end/ui/components/docs/panel_feedback/basic.ts +0 -21
  177. package/front_end/ui/components/docs/panel_feedback/button.html +0 -25
  178. package/front_end/ui/components/docs/panel_feedback/button.ts +0 -19
  179. package/front_end/ui/components/docs/panel_introduction_steps/basic.html +0 -25
  180. package/front_end/ui/components/docs/panel_introduction_steps/basic.ts +0 -28
  181. package/front_end/ui/components/docs/perf_piechart/basic-with-legend.html +0 -20
  182. package/front_end/ui/components/docs/perf_piechart/basic-with-legend.ts +0 -20
  183. package/front_end/ui/components/docs/perf_piechart/basic-without-legend.html +0 -20
  184. package/front_end/ui/components/docs/perf_piechart/basic-without-legend.ts +0 -18
  185. package/front_end/ui/components/docs/snackbars/basic.html +0 -17
  186. package/front_end/ui/components/docs/snackbars/basic.ts +0 -50
  187. package/front_end/ui/components/docs/survey_link/basic.html +0 -20
  188. package/front_end/ui/components/docs/survey_link/basic.ts +0 -28
  189. package/front_end/ui/components/docs/tree_outline/basic.html +0 -33
  190. package/front_end/ui/components/docs/tree_outline/basic.ts +0 -38
  191. package/front_end/ui/components/docs/tree_outline/custom-renderers.html +0 -32
  192. package/front_end/ui/components/docs/tree_outline/custom-renderers.ts +0 -61
  193. package/front_end/ui/components/docs/tree_outline/lazy-children.html +0 -32
  194. package/front_end/ui/components/docs/tree_outline/lazy-children.ts +0 -91
  195. package/front_end/ui/components/docs/tree_outline/sample-data.ts +0 -67
  196. package/front_end/ui/components/helpers/directives.ts +0 -38
@@ -9,7 +9,7 @@ import { debugError } from '../common/util.js';
9
9
  import { assert } from '../util/assert.js';
10
10
  import { Deferred } from '../util/Deferred.js';
11
11
  import { CdpCDPSession } from './CdpSession.js';
12
- import { CdpTarget, InitializationStatus } from './Target.js';
12
+ import { InitializationStatus } from './Target.js';
13
13
  function isPageTargetBecomingPrimary(target, newTargetInfo) {
14
14
  return Boolean(target._subtype()) && !newTargetInfo.subtype;
15
15
  }
@@ -57,9 +57,19 @@ export class TargetManager extends EventEmitter {
57
57
  #attachedToTargetListenersBySession = new WeakMap();
58
58
  #detachedFromTargetListenersBySession = new WeakMap();
59
59
  #initializeDeferred = Deferred.create();
60
- #targetsIdsForInit = new Set();
61
60
  #waitForInitiallyDiscoveredTargets = true;
62
61
  #discoveryFilter = [{}];
62
+ // IDs of tab targets detected while running the initial Target.setAutoAttach
63
+ // request. These are the targets whose initialization we want to await for
64
+ // before resolving puppeteer.connect() or launch() to avoid flakiness.
65
+ // Whenever a sub-target whose parent is a tab target is attached, we remove
66
+ // the tab target from this list. Once the list is empty, we resolve the
67
+ // initializeDeferred.
68
+ #targetsIdsForInit = new Set();
69
+ // This is false until the connection-level Target.setAutoAttach request is
70
+ // done. It indicates whethere we are running the initial auto-attach step or
71
+ // if we are handling targets after that.
72
+ #initialAttachDone = false;
63
73
  constructor(connection, targetFactory, targetFilterCallback, waitForInitiallyDiscoveredTargets = true) {
64
74
  super();
65
75
  this.#connection = connection;
@@ -72,30 +82,11 @@ export class TargetManager extends EventEmitter {
72
82
  this.#connection.on(CDPSessionEvent.SessionDetached, this.#onSessionDetached);
73
83
  this.#setupAttachmentListeners(this.#connection);
74
84
  }
75
- #storeExistingTargetsForInit = () => {
76
- if (!this.#waitForInitiallyDiscoveredTargets) {
77
- return;
78
- }
79
- for (const [targetId, targetInfo,] of this.#discoveredTargetsByTargetId.entries()) {
80
- const targetForFilter = new CdpTarget(targetInfo, undefined, undefined, this, undefined);
81
- // Only wait for pages and frames (except those from extensions)
82
- // to auto-attach.
83
- const isPageOrFrame = targetInfo.type === 'page' || targetInfo.type === 'iframe';
84
- const isExtension = targetInfo.url.startsWith('chrome-extension://');
85
- if ((!this.#targetFilterCallback ||
86
- this.#targetFilterCallback(targetForFilter)) &&
87
- isPageOrFrame &&
88
- !isExtension) {
89
- this.#targetsIdsForInit.add(targetId);
90
- }
91
- }
92
- };
93
85
  async initialize() {
94
86
  await this.#connection.send('Target.setDiscoverTargets', {
95
87
  discover: true,
96
88
  filter: this.#discoveryFilter,
97
89
  });
98
- this.#storeExistingTargetsForInit();
99
90
  await this.#connection.send('Target.setAutoAttach', {
100
91
  waitForDebuggerOnStart: true,
101
92
  flatten: true,
@@ -108,6 +99,7 @@ export class TargetManager extends EventEmitter {
108
99
  ...this.#discoveryFilter,
109
100
  ],
110
101
  });
102
+ this.#initialAttachDone = true;
111
103
  this.#finishInitializationIfReady();
112
104
  await this.#initializeDeferred.valueOrThrow();
113
105
  }
@@ -236,7 +228,6 @@ export class TargetManager extends EventEmitter {
236
228
  // should determine if a target is auto-attached or not with the help of
237
229
  // CDP.
238
230
  if (targetInfo.type === 'service_worker') {
239
- this.#finishInitializationIfReady(targetInfo.targetId);
240
231
  await silentDetach();
241
232
  if (this.#attachedTargetsByTargetId.has(targetInfo.targetId)) {
242
233
  return;
@@ -251,12 +242,20 @@ export class TargetManager extends EventEmitter {
251
242
  const target = isExistingTarget
252
243
  ? this.#attachedTargetsByTargetId.get(targetInfo.targetId)
253
244
  : this.#targetFactory(targetInfo, session, parentSession instanceof CdpCDPSession ? parentSession : undefined);
245
+ const parentTarget = parentSession instanceof CdpCDPSession ? parentSession.target() : null;
254
246
  if (this.#targetFilterCallback && !this.#targetFilterCallback(target)) {
255
247
  this.#ignoredTargets.add(targetInfo.targetId);
256
- this.#finishInitializationIfReady(targetInfo.targetId);
248
+ if (parentTarget?.type() === 'tab') {
249
+ this.#finishInitializationIfReady(parentTarget._targetId);
250
+ }
257
251
  await silentDetach();
258
252
  return;
259
253
  }
254
+ if (this.#waitForInitiallyDiscoveredTargets &&
255
+ event.targetInfo.type === 'tab' &&
256
+ !this.#initialAttachDone) {
257
+ this.#targetsIdsForInit.add(event.targetInfo.targetId);
258
+ }
260
259
  this.#setupAttachmentListeners(session);
261
260
  if (isExistingTarget) {
262
261
  session.setTarget(target);
@@ -267,16 +266,14 @@ export class TargetManager extends EventEmitter {
267
266
  this.#attachedTargetsByTargetId.set(targetInfo.targetId, target);
268
267
  this.#attachedTargetsBySessionId.set(session.id(), target);
269
268
  }
270
- const parentTarget = parentSession instanceof CDPSession
271
- ? parentSession.target()
272
- : null;
273
269
  parentTarget?._addChildTarget(target);
274
270
  parentSession.emit(CDPSessionEvent.Ready, session);
275
- this.#targetsIdsForInit.delete(target._targetId);
276
271
  if (!isExistingTarget) {
277
272
  this.emit("targetAvailable" /* TargetManagerEvent.TargetAvailable */, target);
278
273
  }
279
- this.#finishInitializationIfReady();
274
+ if (parentTarget?.type() === 'tab') {
275
+ this.#finishInitializationIfReady(parentTarget._targetId);
276
+ }
280
277
  // TODO: the browser might be shutting down here. What do we do with the
281
278
  // error?
282
279
  await Promise.all([
@@ -293,6 +290,11 @@ export class TargetManager extends EventEmitter {
293
290
  if (targetId !== undefined) {
294
291
  this.#targetsIdsForInit.delete(targetId);
295
292
  }
293
+ // If we are still initializing it might be that we have not learned about
294
+ // some targets yet.
295
+ if (!this.#initialAttachDone) {
296
+ return;
297
+ }
296
298
  if (this.#targetsIdsForInit.size === 0) {
297
299
  this.#initializeDeferred.resolve();
298
300
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TargetManager.js","sourceRoot":"","sources":["../../../../src/cdp/TargetManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TargetManager.js","sourceRoot":"","sources":["../../../../src/cdp/TargetManager.ts"],"names":[],"mappings":"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"}
@@ -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 = "24.28.0";
6
+ export declare const packageVersion = "24.29.0";
7
7
  //# sourceMappingURL=version.d.ts.map
@@ -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 = '24.28.0';
8
+ export const packageVersion = '24.29.0';
9
9
  // x-release-please-end
10
10
  //# sourceMappingURL=version.js.map
@@ -6384,6 +6384,11 @@ export declare abstract class Page extends EventEmitter<PageEvents> {
6384
6384
 
6385
6385
 
6386
6386
 
6387
+ /**
6388
+ * Opens DevTools for the current Page and returns the DevTools Page. This
6389
+ * method is only available in Chrome.
6390
+ */
6391
+ abstract openDevTools(): Promise<Page>;
6387
6392
  }
6388
6393
 
6389
6394
  /**
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "puppeteer-core",
3
- "version": "24.28.0",
3
+ "version": "24.29.0",
4
4
  "description": "A high-level API to control headless Chrome over the DevTools Protocol",
5
5
  "keywords": [
6
6
  "puppeteer",
@@ -3168,6 +3168,12 @@ export abstract class Page extends EventEmitter<PageEvents> {
3168
3168
  [asyncDisposeSymbol](): Promise<void> {
3169
3169
  return this.close();
3170
3170
  }
3171
+
3172
+ /**
3173
+ * Opens DevTools for the current Page and returns the DevTools Page. This
3174
+ * method is only available in Chrome.
3175
+ */
3176
+ abstract openDevTools(): Promise<Page>;
3171
3177
  }
3172
3178
 
3173
3179
  /**
@@ -286,6 +286,10 @@ export class BidiPage extends Page {
286
286
  throw new Error('Method not implemented for WebDriver BiDi yet.');
287
287
  }
288
288
 
289
+ override openDevTools(): Promise<Page> {
290
+ throw new Error('Method not implemented for WebDriver BiDi yet.');
291
+ }
292
+
289
293
  async focusedFrame(): Promise<BidiFrame> {
290
294
  using handle = (await this.mainFrame()
291
295
  .isolatedRealm()
@@ -382,6 +382,38 @@ export class CdpBrowser extends BrowserBase {
382
382
  return page;
383
383
  }
384
384
 
385
+ async _createDevToolsPage(pageTargetId: string): Promise<Page> {
386
+ const openDevToolsResponse = await this.#connection.send(
387
+ 'Target.openDevTools',
388
+ {
389
+ targetId: pageTargetId,
390
+ },
391
+ );
392
+ const target = (await this.waitForTarget(t => {
393
+ return (t as CdpTarget)._targetId === openDevToolsResponse.targetId;
394
+ })) as CdpTarget;
395
+ if (!target) {
396
+ throw new Error(
397
+ `Missing target for DevTools page (id = ${pageTargetId})`,
398
+ );
399
+ }
400
+ const initialized =
401
+ (await target._initializedDeferred.valueOrThrow()) ===
402
+ InitializationStatus.SUCCESS;
403
+ if (!initialized) {
404
+ throw new Error(
405
+ `Failed to create target for DevTools page (id = ${pageTargetId})`,
406
+ );
407
+ }
408
+ const page = await target.page();
409
+ if (!page) {
410
+ throw new Error(
411
+ `Failed to create a DevTools Page for target (id = ${pageTargetId})`,
412
+ );
413
+ }
414
+ return page;
415
+ }
416
+
385
417
  override async installExtension(path: string): Promise<string> {
386
418
  const {id} = await this.#connection.send('Extensions.loadUnpacked', {path});
387
419
  return id;
@@ -68,7 +68,10 @@ export class ExtensionTransport implements ConnectionTransport {
68
68
  };
69
69
 
70
70
  #dispatchResponse(message: object): void {
71
- this.onmessage?.(JSON.stringify(message));
71
+ // Dispatch in a new task like other transports.
72
+ setTimeout(() => {
73
+ this.onmessage?.(JSON.stringify(message));
74
+ }, 0);
72
75
  }
73
76
 
74
77
  send(message: string): void {
@@ -125,6 +128,7 @@ export class ExtensionTransport implements ConnectionTransport {
125
128
  if (parsed.sessionId === 'tabTargetSessionId') {
126
129
  this.#dispatchResponse({
127
130
  method: 'Target.attachedToTarget',
131
+ sessionId: 'tabTargetSessionId',
128
132
  params: {
129
133
  targetInfo: pageTargetInfo,
130
134
  sessionId: 'pageTargetSessionId',
@@ -58,6 +58,7 @@ import {AsyncDisposableStack} from '../util/disposable.js';
58
58
  import {isErrorLike} from '../util/ErrorLike.js';
59
59
 
60
60
  import {Binding} from './Binding.js';
61
+ import type {CdpBrowser} from './Browser.js';
61
62
  import {CdpCDPSession} from './CdpSession.js';
62
63
  import {isTargetClosedError} from './Connection.js';
63
64
  import {Coverage} from './Coverage.js';
@@ -417,6 +418,13 @@ export class CdpPage extends Page {
417
418
  return this.#emulationManager.javascriptEnabled;
418
419
  }
419
420
 
421
+ override async openDevTools(): Promise<Page> {
422
+ const pageTargetId = this.target()._targetId;
423
+ const browser = this.browser() as CdpBrowser;
424
+ const devtoolsPage = await browser._createDevToolsPage(pageTargetId);
425
+ return devtoolsPage;
426
+ }
427
+
420
428
  override async waitForFileChooser(
421
429
  options: WaitTimeoutOptions = {},
422
430
  ): Promise<FileChooser> {
@@ -15,7 +15,8 @@ import {Deferred} from '../util/Deferred.js';
15
15
 
16
16
  import {CdpCDPSession} from './CdpSession.js';
17
17
  import type {Connection} from './Connection.js';
18
- import {CdpTarget, InitializationStatus} from './Target.js';
18
+ import type {CdpTarget} from './Target.js';
19
+ import {InitializationStatus} from './Target.js';
19
20
  import type {TargetManagerEvents} from './TargetManageEvents.js';
20
21
  import {TargetManagerEvent} from './TargetManageEvents.js';
21
22
 
@@ -90,10 +91,20 @@ export class TargetManager
90
91
  >();
91
92
 
92
93
  #initializeDeferred = Deferred.create<void>();
93
- #targetsIdsForInit = new Set<string>();
94
94
  #waitForInitiallyDiscoveredTargets = true;
95
95
 
96
96
  #discoveryFilter: Protocol.Target.FilterEntry[] = [{}];
97
+ // IDs of tab targets detected while running the initial Target.setAutoAttach
98
+ // request. These are the targets whose initialization we want to await for
99
+ // before resolving puppeteer.connect() or launch() to avoid flakiness.
100
+ // Whenever a sub-target whose parent is a tab target is attached, we remove
101
+ // the tab target from this list. Once the list is empty, we resolve the
102
+ // initializeDeferred.
103
+ #targetsIdsForInit = new Set<string>();
104
+ // This is false until the connection-level Target.setAutoAttach request is
105
+ // done. It indicates whethere we are running the initial auto-attach step or
106
+ // if we are handling targets after that.
107
+ #initialAttachDone = false;
97
108
 
98
109
  constructor(
99
110
  connection: Connection,
@@ -117,45 +128,12 @@ export class TargetManager
117
128
  this.#setupAttachmentListeners(this.#connection);
118
129
  }
119
130
 
120
- #storeExistingTargetsForInit = () => {
121
- if (!this.#waitForInitiallyDiscoveredTargets) {
122
- return;
123
- }
124
- for (const [
125
- targetId,
126
- targetInfo,
127
- ] of this.#discoveredTargetsByTargetId.entries()) {
128
- const targetForFilter = new CdpTarget(
129
- targetInfo,
130
- undefined,
131
- undefined,
132
- this,
133
- undefined,
134
- );
135
- // Only wait for pages and frames (except those from extensions)
136
- // to auto-attach.
137
- const isPageOrFrame =
138
- targetInfo.type === 'page' || targetInfo.type === 'iframe';
139
- const isExtension = targetInfo.url.startsWith('chrome-extension://');
140
- if (
141
- (!this.#targetFilterCallback ||
142
- this.#targetFilterCallback(targetForFilter)) &&
143
- isPageOrFrame &&
144
- !isExtension
145
- ) {
146
- this.#targetsIdsForInit.add(targetId);
147
- }
148
- }
149
- };
150
-
151
131
  async initialize(): Promise<void> {
152
132
  await this.#connection.send('Target.setDiscoverTargets', {
153
133
  discover: true,
154
134
  filter: this.#discoveryFilter,
155
135
  });
156
136
 
157
- this.#storeExistingTargetsForInit();
158
-
159
137
  await this.#connection.send('Target.setAutoAttach', {
160
138
  waitForDebuggerOnStart: true,
161
139
  flatten: true,
@@ -168,6 +146,7 @@ export class TargetManager
168
146
  ...this.#discoveryFilter,
169
147
  ],
170
148
  });
149
+ this.#initialAttachDone = true;
171
150
  this.#finishInitializationIfReady();
172
151
  await this.#initializeDeferred.valueOrThrow();
173
152
  }
@@ -346,7 +325,6 @@ export class TargetManager
346
325
  // should determine if a target is auto-attached or not with the help of
347
326
  // CDP.
348
327
  if (targetInfo.type === 'service_worker') {
349
- this.#finishInitializationIfReady(targetInfo.targetId);
350
328
  await silentDetach();
351
329
  if (this.#attachedTargetsByTargetId.has(targetInfo.targetId)) {
352
330
  return;
@@ -370,13 +348,26 @@ export class TargetManager
370
348
  parentSession instanceof CdpCDPSession ? parentSession : undefined,
371
349
  );
372
350
 
351
+ const parentTarget =
352
+ parentSession instanceof CdpCDPSession ? parentSession.target() : null;
353
+
373
354
  if (this.#targetFilterCallback && !this.#targetFilterCallback(target)) {
374
355
  this.#ignoredTargets.add(targetInfo.targetId);
375
- this.#finishInitializationIfReady(targetInfo.targetId);
356
+ if (parentTarget?.type() === 'tab') {
357
+ this.#finishInitializationIfReady(parentTarget._targetId);
358
+ }
376
359
  await silentDetach();
377
360
  return;
378
361
  }
379
362
 
363
+ if (
364
+ this.#waitForInitiallyDiscoveredTargets &&
365
+ event.targetInfo.type === 'tab' &&
366
+ !this.#initialAttachDone
367
+ ) {
368
+ this.#targetsIdsForInit.add(event.targetInfo.targetId);
369
+ }
370
+
380
371
  this.#setupAttachmentListeners(session);
381
372
 
382
373
  if (isExistingTarget) {
@@ -391,19 +382,16 @@ export class TargetManager
391
382
  this.#attachedTargetsBySessionId.set(session.id(), target);
392
383
  }
393
384
 
394
- const parentTarget =
395
- parentSession instanceof CDPSession
396
- ? (parentSession as CdpCDPSession).target()
397
- : null;
398
385
  parentTarget?._addChildTarget(target);
399
386
 
400
387
  parentSession.emit(CDPSessionEvent.Ready, session);
401
388
 
402
- this.#targetsIdsForInit.delete(target._targetId);
403
389
  if (!isExistingTarget) {
404
390
  this.emit(TargetManagerEvent.TargetAvailable, target);
405
391
  }
406
- this.#finishInitializationIfReady();
392
+ if (parentTarget?.type() === 'tab') {
393
+ this.#finishInitializationIfReady(parentTarget._targetId);
394
+ }
407
395
 
408
396
  // TODO: the browser might be shutting down here. What do we do with the
409
397
  // error?
@@ -422,6 +410,11 @@ export class TargetManager
422
410
  if (targetId !== undefined) {
423
411
  this.#targetsIdsForInit.delete(targetId);
424
412
  }
413
+ // If we are still initializing it might be that we have not learned about
414
+ // some targets yet.
415
+ if (!this.#initialAttachDone) {
416
+ return;
417
+ }
425
418
  if (this.#targetsIdsForInit.size === 0) {
426
419
  this.#initializeDeferred.resolve();
427
420
  }
@@ -6,5 +6,5 @@
6
6
 
7
7
  // If moved update release-please config
8
8
  // x-release-please-start-version
9
- export const packageVersion = '24.28.0';
9
+ export const packageVersion = '24.29.0';
10
10
  // x-release-please-end
@@ -5,7 +5,11 @@
5
5
 
6
6
  import type * as Buttons from '../../../ui/components/buttons/buttons.js';
7
7
  import * as ComponentHelpers from '../../../ui/components/helpers/helpers.js';
8
- import {html, render} from '../../../ui/lit/lit.js';
8
+ import {
9
+ Directives,
10
+ html,
11
+ render,
12
+ } from '../../../ui/lit/lit.js';
9
13
 
10
14
  import buttonDialogStyles from './buttonDialog.css.js';
11
15
  import {
@@ -16,6 +20,8 @@ import {
16
20
  DialogVerticalPosition,
17
21
  } from './Dialog.js';
18
22
 
23
+ const {ref} = Directives;
24
+
19
25
  export type ButtonDialogState = DialogState;
20
26
 
21
27
  export interface ButtonDialogData {
@@ -96,8 +102,10 @@ export class ButtonDialog extends HTMLElement {
96
102
  <style>${buttonDialogStyles}</style>
97
103
  <devtools-button
98
104
  @click=${this.#showDialog}
99
- on-render=${ComponentHelpers.Directives.nodeRenderedCallback(node => {
100
- this.#showButton = node as Buttons.Button.Button;
105
+ ${ref(el => {
106
+ if (el instanceof HTMLElement) {
107
+ this.#showButton = el as Buttons.Button.Button;
108
+ }
101
109
  })}
102
110
  .data=${{
103
111
  variant: this.#data.variant,
@@ -123,8 +131,10 @@ export class ButtonDialog extends HTMLElement {
123
131
  .dialogTitle=${this.#data.dialogTitle}
124
132
  .jslogContext=${this.#data.jslogContext ?? ''}
125
133
  .state=${this.#data.state ?? DialogState.EXPANDED}
126
- on-render=${ComponentHelpers.Directives.nodeRenderedCallback(node => {
127
- this.#dialog = node as DialogElement;
134
+ ${ref(el => {
135
+ if (el instanceof HTMLElement) {
136
+ this.#dialog = el as DialogElement;
137
+ }
128
138
  })}
129
139
  >
130
140
  <slot></slot>
@@ -46,7 +46,7 @@ export class ExpandableList extends HTMLElement {
46
46
  <div>
47
47
  ${this.#rows.length > 1 ?
48
48
  html`
49
- <button title='${ifDefined(this.#title)}' aria-label='${ifDefined(this.#title)}' aria-expanded=${this.#expanded ? 'true' : 'false'} @click=${() => this.#onArrowClick()} class="arrow-icon-button">
49
+ <button title=${ifDefined(this.#title)} aria-label=${ifDefined(this.#title)} aria-expanded=${this.#expanded ? 'true' : 'false'} @click=${() => this.#onArrowClick()} class="arrow-icon-button">
50
50
  <span class="arrow-icon ${this.#expanded ? 'expanded' : ''}"
51
51
  jslog=${VisualLogging.expand().track({click: true})}></span>
52
52
  </button>
@@ -3,13 +3,11 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as ComponentServerSetup from './component-server-setup.js';
6
- import * as Directives from './directives.js';
7
6
  import * as GetRootNode from './get-root-node.js';
8
7
  import * as ScheduledRender from './scheduled-render.js';
9
8
 
10
9
  export {
11
10
  ComponentServerSetup,
12
- Directives,
13
11
  GetRootNode,
14
12
  ScheduledRender,
15
13
  };
@@ -239,6 +239,7 @@ export class MarkdownLitRenderer {
239
239
  case 'code':
240
240
  return this.renderCodeBlock(token);
241
241
  case 'space':
242
+ // eslint-disable-next-line lit/prefer-nothing
242
243
  return html``;
243
244
  case 'link':
244
245
  return html`<devtools-markdown-link
@@ -14,7 +14,7 @@ import menuStyles from './menu.css.js';
14
14
  import menuGroupStyles from './menuGroup.css.js';
15
15
  import menuItemStyles from './menuItem.css.js';
16
16
 
17
- const {html} = Lit;
17
+ const {html, Directives: {ref}} = Lit;
18
18
 
19
19
  export interface MenuData {
20
20
  /**
@@ -380,8 +380,10 @@ export class Menu extends HTMLElement {
380
380
  .dialogShownCallback=${this.#dialogDeployed.bind(this)}
381
381
  .horizontalAlignment=${this.horizontalAlignment}
382
382
  .getConnectorCustomXPosition=${this.getConnectorCustomXPosition}
383
- on-render=${ComponentHelpers.Directives.nodeRenderedCallback((domNode: Element) => {
384
- this.#dialog = domNode as Dialogs.Dialog.Dialog;
383
+ ${ref(el => {
384
+ if (el instanceof HTMLElement) {
385
+ this.#dialog = el as Dialogs.Dialog.Dialog;
386
+ }
385
387
  })}
386
388
  >
387
389
  <span id="container" role="menu" tabIndex="0" @keydown=${this.#handleDialogKeyDown} jslog=${VisualLogging.menu().track({resize: true, keydown: 'Escape'})}>
@@ -0,0 +1,46 @@
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 {Snackbar} from './snackbars.js';
6
+
7
+ export async function render(container: HTMLElement) {
8
+ const onActionClick = (): void => {
9
+ // eslint-disable-next-line no-console
10
+ console.log('Action button clicked!');
11
+ };
12
+
13
+ const showButton1 = document.createElement('button');
14
+ showButton1.textContent = 'Show Long Action Snackbar';
15
+ showButton1.addEventListener('click', () => {
16
+ Snackbar.Snackbar.show(
17
+ {
18
+ message: 'This is a snackbar demonstrating a long action and closable state.',
19
+ closable: true,
20
+ actionProperties: {
21
+ label: 'This is a long action button',
22
+ title: 'Click here to perform the designated action',
23
+ onClick: onActionClick,
24
+ },
25
+ },
26
+ container);
27
+ });
28
+ container.appendChild(showButton1);
29
+
30
+ const showButton2 = document.createElement('button');
31
+ showButton2.textContent = 'Show Action Snackbar';
32
+ showButton2.addEventListener('click', () => {
33
+ Snackbar.Snackbar.show(
34
+ {
35
+ message: 'This is a snackbar demonstrating an action and closable state.',
36
+ closable: true,
37
+ actionProperties: {
38
+ label: 'Action',
39
+ title: 'Click here to perform the designated action',
40
+ onClick: onActionClick,
41
+ },
42
+ },
43
+ container);
44
+ });
45
+ container.appendChild(showButton2);
46
+ }