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
@@ -312,7 +312,7 @@ const DEFAULT_VIEW: View = (input, output, target) => {
312
312
  </div>
313
313
  <div class="checkbox-settings">
314
314
  ${input.booleanSettings.map(setting =>
315
- html`<devtools-checkbox
315
+ html`<div><devtools-checkbox
316
316
  data-boolean-setting="true"
317
317
  class="checkbox-label"
318
318
  title=${setting.title}
@@ -320,7 +320,7 @@ const DEFAULT_VIEW: View = (input, output, target) => {
320
320
  @change=${(e: Event) => input.onBooleanSettingChange(setting, e)}
321
321
  jslog=${VisualLogging.toggle().track({click: true}).context(setting.name)}>
322
322
  ${setting.title}
323
- </devtools-checkbox>`)}
323
+ </devtools-checkbox></div>`)}
324
324
  </div>
325
325
  </div>
326
326
  ${input.gridElements ?
@@ -158,7 +158,7 @@ export class PropertiesWidget extends UI.Widget.VBox {
158
158
  this.#displayNoMatchingPropertyMessage = true;
159
159
  for (const element of this.treeOutline.rootElement().children()) {
160
160
  const {property} = element as ObjectUI.ObjectPropertiesSection.ObjectPropertyTreeElement;
161
- const hidden = !property?.match({
161
+ const hidden = !property?.property.match({
162
162
  includeNullOrUndefinedValues: this.showAllPropertiesSetting.get(),
163
163
  regex: this.filterRegex,
164
164
  });
@@ -195,7 +195,8 @@ export class PropertiesWidget extends UI.Widget.VBox {
195
195
  properties = [];
196
196
  }
197
197
  ObjectUI.ObjectPropertiesSection.ObjectPropertyTreeElement.populateWithProperties(
198
- treeElement, properties, null, true /* skipProto */, true /* skipGettersAndSetters */, object);
198
+ treeElement, {properties: properties.map(p => new ObjectUI.ObjectPropertiesSection.ObjectTreeNode(p))},
199
+ true /* skipProto */, true /* skipGettersAndSetters */);
199
200
  this.internalFilterProperties();
200
201
  }
201
202
  this.#view(
@@ -22,20 +22,20 @@ export interface RegisteredAdorner {
22
22
  }
23
23
 
24
24
  export enum RegisteredAdorners {
25
+ AD = 'ad',
26
+ CONTAINER = 'container',
27
+ FLEX = 'flex',
25
28
  GRID = 'grid',
26
- SUBGRID = 'subgrid',
27
29
  MASONRY = 'masonry',
28
- FLEX = 'flex',
29
- AD = 'ad',
30
+ MEDIA = 'media',
31
+ POPOVER = 'popover',
32
+ REVEAL = 'reveal',
33
+ SCROLL = 'scroll',
30
34
  SCROLL_SNAP = 'scroll-snap',
31
- STARTING_STYLE = 'starting-style',
32
- CONTAINER = 'container',
33
35
  SLOT = 'slot',
36
+ STARTING_STYLE = 'starting-style',
37
+ SUBGRID = 'subgrid',
34
38
  TOP_LAYER = 'top-layer',
35
- REVEAL = 'reveal',
36
- MEDIA = 'media',
37
- SCROLL = 'scroll',
38
- POPOVER = 'popover',
39
39
  }
40
40
 
41
41
  /**
@@ -44,18 +44,14 @@
44
44
  }
45
45
 
46
46
  .checkbox-settings {
47
- margin-top: 8px;
47
+ margin-top: var(--sys-size-5);
48
48
  display: grid;
49
49
  grid-template-columns: 1fr;
50
- gap: 5px;
51
- }
52
-
53
- .checkbox-settings devtools-checkbox {
54
- margin-bottom: 8px;
55
- }
50
+ gap: var(--sys-size-4);
56
51
 
57
- .checkbox-settings devtools-checkbox:last-child {
58
- margin-bottom: 0;
52
+ > div {
53
+ display: flex;
54
+ }
59
55
  }
60
56
 
61
57
  devtools-checkbox {
@@ -296,14 +296,18 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
296
296
  const properties = [];
297
297
  const eventListener = this.#eventListener;
298
298
  const runtimeModel = eventListener.domDebuggerModel().runtimeModel();
299
- properties.push(runtimeModel.createRemotePropertyFromPrimitiveValue('useCapture', eventListener.useCapture()));
300
- properties.push(runtimeModel.createRemotePropertyFromPrimitiveValue('passive', eventListener.passive()));
301
- properties.push(runtimeModel.createRemotePropertyFromPrimitiveValue('once', eventListener.once()));
299
+ properties.push(new ObjectUI.ObjectPropertiesSection.ObjectTreeNode(
300
+ runtimeModel.createRemotePropertyFromPrimitiveValue('useCapture', eventListener.useCapture())));
301
+ properties.push(new ObjectUI.ObjectPropertiesSection.ObjectTreeNode(
302
+ runtimeModel.createRemotePropertyFromPrimitiveValue('passive', eventListener.passive())));
303
+ properties.push(new ObjectUI.ObjectPropertiesSection.ObjectTreeNode(
304
+ runtimeModel.createRemotePropertyFromPrimitiveValue('once', eventListener.once())));
302
305
  if (typeof eventListener.handler() !== 'undefined') {
303
- properties.push(new SDK.RemoteObject.RemoteObjectProperty('handler', eventListener.handler()));
306
+ properties.push(new ObjectUI.ObjectPropertiesSection.ObjectTreeNode(
307
+ new SDK.RemoteObject.RemoteObjectProperty('handler', eventListener.handler())));
304
308
  }
305
309
  ObjectUI.ObjectPropertiesSection.ObjectPropertyTreeElement.populateWithProperties(
306
- this, properties, [], true, true, null);
310
+ this, {properties}, true, true, undefined);
307
311
  }
308
312
 
309
313
  private setTitle(object: SDK.RemoteObject.RemoteObject, linkifier: Components.Linkifier.Linkifier): void {
@@ -311,7 +315,7 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
311
315
 
312
316
  const propertyValue = ObjectUI.ObjectPropertiesSection.ObjectPropertiesSection.createPropertyValue(
313
317
  object, /* wasThrown */ false, /* showPreview */ false);
314
- this.valueTitle = propertyValue.element;
318
+ this.valueTitle = propertyValue;
315
319
  title.appendChild(this.valueTitle);
316
320
 
317
321
  if (this.#eventListener.canRemove()) {