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
@@ -5,9 +5,8 @@
5
5
  import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js';
6
6
  import * as Protocol from '../../generated/protocol.js';
7
7
  import * as Common from '../common/common.js';
8
- import * as Host from '../host/host.js';
9
8
  import * as i18n from '../i18n/i18n.js';
10
- import * as Platform from '../platform/platform.js';
9
+ import type * as Platform from '../platform/platform.js';
11
10
  import * as Root from '../root/root.js';
12
11
 
13
12
  import type {PageResourceLoadInitiator} from './PageResourceLoader.js';
@@ -18,7 +17,7 @@ import {Script} from './Script.js';
18
17
  import {SDKModel} from './SDKModel.js';
19
18
  import {SourceMap} from './SourceMap.js';
20
19
  import {SourceMapManager} from './SourceMapManager.js';
21
- import {Capability, type Target, Type} from './Target.js';
20
+ import {Capability, type Target} from './Target.js';
22
21
 
23
22
  const UIStrings = {
24
23
  /**
@@ -456,17 +455,6 @@ export class DebuggerModel extends SDKModel<EventTypes> {
456
455
  async setBreakpointByURL(
457
456
  url: Platform.DevToolsPath.UrlString, lineNumber: number, columnNumber?: number,
458
457
  condition?: BackendCondition): Promise<SetBreakpointResult> {
459
- // Convert file url to node-js path.
460
- let urlRegex;
461
- if (this.target().type() === Type.NODE && Common.ParsedURL.schemeIs(url, 'file:')) {
462
- const platformPath = Common.ParsedURL.ParsedURL.urlToRawPathString(url, Host.Platform.isWin());
463
- urlRegex =
464
- `${Platform.StringUtilities.escapeForRegExp(platformPath)}|${Platform.StringUtilities.escapeForRegExp(url)}`;
465
- if (Host.Platform.isWin() && platformPath.match(/^.:\\/)) {
466
- // Match upper or lower case drive letter
467
- urlRegex = `[${platformPath[0].toUpperCase()}${platformPath[0].toLowerCase()}]` + urlRegex.substr(1);
468
- }
469
- }
470
458
  // Adjust column if needed.
471
459
  let minColumnNumber = 0;
472
460
  const scripts = this.#scriptsBySourceURL.get(url) || [];
@@ -479,8 +467,7 @@ export class DebuggerModel extends SDKModel<EventTypes> {
479
467
  columnNumber = Math.max(columnNumber || 0, minColumnNumber);
480
468
  const response = await this.agent.invoke_setBreakpointByUrl({
481
469
  lineNumber,
482
- url: urlRegex ? undefined : url,
483
- urlRegex,
470
+ url,
484
471
  columnNumber,
485
472
  condition,
486
473
  });
@@ -1812,7 +1812,7 @@ export class RequestConditions extends Common.ObjectWrapper.ObjectWrapper<Reques
1812
1812
  }
1813
1813
 
1814
1814
  Platform.ArrayUtilities.swap(this.#conditions, index, index + 1);
1815
- this.dispatchEventToListeners(RequestConditions.Events.REQUEST_CONDITIONS_CHANGED);
1815
+ this.#conditionsChanged();
1816
1816
  }
1817
1817
 
1818
1818
  increasePriority(condition: RequestCondition): void {
@@ -1822,7 +1822,7 @@ export class RequestConditions extends Common.ObjectWrapper.ObjectWrapper<Reques
1822
1822
  }
1823
1823
 
1824
1824
  Platform.ArrayUtilities.swap(this.#conditions, index - 1, index);
1825
- this.dispatchEventToListeners(RequestConditions.Events.REQUEST_CONDITIONS_CHANGED);
1825
+ this.#conditionsChanged();
1826
1826
  }
1827
1827
 
1828
1828
  delete(condition: RequestCondition): void {
@@ -1939,11 +1939,13 @@ export class RequestConditions extends Common.ObjectWrapper.ObjectWrapper<Reques
1939
1939
  return this.#conditionsAppliedForTestPromise;
1940
1940
  }
1941
1941
 
1942
- conditionsForId(appliedNetworkConditionsId: string): {
1943
- conditions: Conditions,
1944
- urlPattern?: string,
1945
- }|undefined {
1946
- return this.#requestConditionsById.get(appliedNetworkConditionsId);
1942
+ conditionsForId(appliedNetworkConditionsId: string): AppliedNetworkConditions|undefined {
1943
+ const requestConditions = this.#requestConditionsById.get(appliedNetworkConditionsId);
1944
+ if (!requestConditions) {
1945
+ return undefined;
1946
+ }
1947
+ const {conditions, urlPattern} = requestConditions;
1948
+ return new AppliedNetworkConditions(conditions, appliedNetworkConditionsId, urlPattern);
1947
1949
  }
1948
1950
  }
1949
1951
 
@@ -1958,6 +1960,12 @@ export namespace RequestConditions {
1958
1960
 
1959
1961
  let multiTargetNetworkManagerInstance: MultitargetNetworkManager|null;
1960
1962
 
1963
+ export class AppliedNetworkConditions {
1964
+ constructor(
1965
+ readonly conditions: Conditions, readonly appliedNetworkConditionsId: string, readonly urlPattern?: string) {
1966
+ }
1967
+ }
1968
+
1961
1969
  export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrapper<MultitargetNetworkManager.EventTypes>
1962
1970
  implements SDKModelObserver<NetworkManager> {
1963
1971
  #userAgentOverride = '';
@@ -2327,10 +2335,7 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
2327
2335
  }, allowRemoteFilePaths));
2328
2336
  }
2329
2337
 
2330
- appliedRequestConditions(requestInternal: NetworkRequest): {
2331
- conditions: Conditions,
2332
- urlPattern?: string,
2333
- }|undefined {
2338
+ appliedRequestConditions(requestInternal: NetworkRequest): AppliedNetworkConditions|undefined {
2334
2339
  if (!requestInternal.appliedNetworkConditionsId) {
2335
2340
  return undefined;
2336
2341
  }
@@ -841,6 +841,10 @@ export class LocalJSONObject extends RemoteObject {
841
841
  return 'date';
842
842
  }
843
843
 
844
+ if (this.#value instanceof Error) {
845
+ return 'error';
846
+ }
847
+
844
848
  return undefined;
845
849
  }
846
850
 
@@ -39,10 +39,8 @@ export class Target extends ProtocolClient.InspectorBackend.TargetBase {
39
39
  constructor(
40
40
  targetManager: TargetManager, id: Protocol.Target.TargetID|'main', name: string, type: Type,
41
41
  parentTarget: Target|null, sessionId: string, suspended: boolean,
42
- connection: ProtocolClient.ConnectionTransport.ConnectionTransport|null,
43
- targetInfo?: Protocol.Target.TargetInfo) {
44
- const needsNodeJSPatching = type === Type.NODE;
45
- super(needsNodeJSPatching, parentTarget, sessionId, connection);
42
+ connection: ProtocolClient.CDPConnection.CDPConnection|null, targetInfo?: Protocol.Target.TargetInfo) {
43
+ super(parentTarget, sessionId, connection);
46
44
  this.#targetManager = targetManager;
47
45
  this.#name = name;
48
46
  this.#capabilitiesMask = 0;
@@ -151,8 +149,7 @@ export class Target extends ProtocolClient.InspectorBackend.TargetBase {
151
149
  return this.#type;
152
150
  }
153
151
 
154
- override markAsNodeJSForTest(): void {
155
- super.markAsNodeJSForTest();
152
+ markAsNodeJSForTest(): void {
156
153
  this.#type = Type.NODE;
157
154
  }
158
155
 
@@ -209,8 +209,7 @@ export class TargetManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes
209
209
 
210
210
  createTarget(
211
211
  id: Protocol.Target.TargetID|'main', name: string, type: TargetType, parentTarget: Target|null,
212
- sessionId?: string, waitForDebuggerInPage?: boolean,
213
- connection?: ProtocolClient.ConnectionTransport.ConnectionTransport,
212
+ sessionId?: string, waitForDebuggerInPage?: boolean, connection?: ProtocolClient.CDPConnection.CDPConnection,
214
213
  targetInfo?: Protocol.Target.TargetInfo): Target {
215
214
  const target = new Target(
216
215
  this, id, name, type, parentTarget, sessionId || '', this.#isSuspended, connection || null, targetInfo);
@@ -367,41 +367,6 @@ const UIStrings = {
367
367
  const str_ = i18n.i18n.registerUIStrings('core/sdk/sdk-meta.ts', UIStrings);
368
368
  const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
369
369
 
370
- Common.Settings.registerSettingExtension({
371
- storageType: Common.Settings.SettingStorageType.SYNCED,
372
- settingName: 'skip-stack-frames-pattern',
373
- settingType: Common.Settings.SettingType.REGEX,
374
- defaultValue: '/node_modules/|^node:',
375
- });
376
-
377
- Common.Settings.registerSettingExtension({
378
- storageType: Common.Settings.SettingStorageType.SYNCED,
379
- settingName: 'skip-content-scripts',
380
- settingType: Common.Settings.SettingType.BOOLEAN,
381
- defaultValue: true,
382
- });
383
-
384
- Common.Settings.registerSettingExtension({
385
- storageType: Common.Settings.SettingStorageType.SYNCED,
386
- settingName: 'automatically-ignore-list-known-third-party-scripts',
387
- settingType: Common.Settings.SettingType.BOOLEAN,
388
- defaultValue: true,
389
- });
390
-
391
- Common.Settings.registerSettingExtension({
392
- storageType: Common.Settings.SettingStorageType.SYNCED,
393
- settingName: 'skip-anonymous-scripts',
394
- settingType: Common.Settings.SettingType.BOOLEAN,
395
- defaultValue: false,
396
- });
397
-
398
- Common.Settings.registerSettingExtension({
399
- storageType: Common.Settings.SettingStorageType.SYNCED,
400
- settingName: 'enable-ignore-listing',
401
- settingType: Common.Settings.SettingType.BOOLEAN,
402
- defaultValue: true,
403
- });
404
-
405
370
  Common.Settings.registerSettingExtension({
406
371
  category: Common.Settings.SettingCategory.CONSOLE,
407
372
  storageType: Common.Settings.SettingStorageType.SYNCED,
@@ -84,9 +84,7 @@ async function invokeLH(action: string, args: any): Promise<unknown> {
84
84
 
85
85
  const {rootTargetId, mainSessionId} = args;
86
86
  cdpTransport = new WorkerConnectionTransport();
87
- // TODO(crbug.com/453469270): Use "DevToolsCDPConnection" once we split SessionRouter into
88
- // a connection handling part and a session handling part.
89
- const connection = new ProtocolClient.InspectorBackend.SessionRouter(cdpTransport);
87
+ const connection = new ProtocolClient.DevToolsCDPConnection.DevToolsCDPConnection(cdpTransport);
90
88
  puppeteerHandle =
91
89
  await PuppeteerService.PuppeteerConnection.PuppeteerConnectionHelper.connectPuppeteerToConnectionViaTab({
92
90
  connection,
@@ -6,7 +6,7 @@ import type * as Common from '../../../core/common/common.js';
6
6
  import * as Host from '../../../core/host/host.js';
7
7
  import * as i18n from '../../../core/i18n/i18n.js';
8
8
  import type * as Platform from '../../../core/platform/platform.js';
9
- import type * as ProtocolClient from '../../../core/protocol_client/protocol_client.js';
9
+ import * as ProtocolClient from '../../../core/protocol_client/protocol_client.js';
10
10
  import * as SDK from '../../../core/sdk/sdk.js';
11
11
  import type * as ProtocolProxyApi from '../../../generated/protocol-proxy-api.js';
12
12
  import type * as Protocol from '../../../generated/protocol.js';
@@ -119,7 +119,8 @@ export class NodeChildTargetManager extends SDK.SDKModel.SDKModel<void> implemen
119
119
  const connection = new NodeConnection(this.#targetAgent, sessionId);
120
120
  this.#childConnections.set(sessionId, connection);
121
121
  target = this.#targetManager.createTarget(
122
- targetInfo.targetId, name, SDK.Target.Type.NODE, null, undefined, undefined, connection);
122
+ targetInfo.targetId, name, SDK.Target.Type.NODE, null, undefined, undefined,
123
+ new ProtocolClient.DevToolsCDPConnection.DevToolsCDPConnection(connection));
123
124
  }
124
125
  this.#childTargets.set(sessionId, target);
125
126
  void target.runtimeAgent().invoke_runIfWaitingForDebugger();
@@ -18,6 +18,7 @@ import '../main/main-meta.js';
18
18
  import '../../ui/legacy/components/perf_ui/perf_ui-meta.js';
19
19
  import '../../ui/legacy/components/quick_open/quick_open-meta.js';
20
20
  import '../../core/sdk/sdk-meta.js';
21
+ import '../../models/workspace/workspace-meta.js';
21
22
  import '../../ui/legacy/components/source_frame/source_frame-meta.js';
22
23
  import '../../panels/console_counters/console_counters-meta.js';
23
24
  import '../../ui/legacy/components/object_ui/object_ui-meta.js';
@@ -5,6 +5,7 @@
5
5
  import '../main/main-meta.js';
6
6
  import '../inspector_main/inspector_main-meta.js';
7
7
  import '../../core/sdk/sdk-meta.js';
8
+ import '../../models/workspace/workspace-meta.js';
8
9
  import '../../Images/Images.js';
9
10
  import '../../models/logs/logs-meta.js';
10
11
  import '../../models/persistence/persistence-meta.js';
@@ -230,6 +230,10 @@ export const UIStrings = {
230
230
  * @description Warning displayed to developers. It is shown when the `XMLHttpRequest` API is used in a way that it slows down the page load of the next page. The `main thread` refers to an operating systems thread used to run most of the processing of HTML documents, so please use a consistent wording.
231
231
  */
232
232
  XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload: "Synchronous `XMLHttpRequest` on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.",
233
+ /**
234
+ * @description Warning displayed to developers that they are using either the XSLTProcessor API, or XSLT processing instructions, both of which have been deprecated and are scheduled to be removed.
235
+ */
236
+ XSLT: "XSLTProcessor and XSLT Processing Instructions have been deprecated by all browsers. These features will be removed from this browser soon.",
233
237
  } as const;
234
238
 
235
239
  export interface DeprecationDescriptor {
@@ -350,5 +354,9 @@ export const DEPRECATIONS_METADATA: Partial<Record<string, DeprecationDescriptor
350
354
  },
351
355
  "XHRJSONEncodingDetection": {
352
356
  "milestone": 93
357
+ },
358
+ "XSLT": {
359
+ "chromeStatusFeature": 4709671889534976,
360
+ "milestone": 143
353
361
  }
354
362
  };
@@ -61,7 +61,7 @@ inspectorBackend.registerCommand("Animation.setPlaybackRate", [{"name": "playbac
61
61
  inspectorBackend.registerCommand("Animation.setTiming", [{"name": "animationId", "type": "string", "optional": false, "description": "Animation id.", "typeRef": null}, {"name": "duration", "type": "number", "optional": false, "description": "Duration of the animation.", "typeRef": null}, {"name": "delay", "type": "number", "optional": false, "description": "Delay of the animation.", "typeRef": null}], [], "Sets the timing of an animation node.");
62
62
  inspectorBackend.registerType("Animation.Animation", [{"name": "id", "type": "string", "optional": false, "description": "`Animation`'s id.", "typeRef": null}, {"name": "name", "type": "string", "optional": false, "description": "`Animation`'s name.", "typeRef": null}, {"name": "pausedState", "type": "boolean", "optional": false, "description": "`Animation`'s internal paused state.", "typeRef": null}, {"name": "playState", "type": "string", "optional": false, "description": "`Animation`'s play state.", "typeRef": null}, {"name": "playbackRate", "type": "number", "optional": false, "description": "`Animation`'s playback rate.", "typeRef": null}, {"name": "startTime", "type": "number", "optional": false, "description": "`Animation`'s start time. Milliseconds for time based animations and percentage [0 - 100] for scroll driven animations (i.e. when viewOrScrollTimeline exists).", "typeRef": null}, {"name": "currentTime", "type": "number", "optional": false, "description": "`Animation`'s current time.", "typeRef": null}, {"name": "type", "type": "string", "optional": false, "description": "Animation type of `Animation`.", "typeRef": null}, {"name": "source", "type": "object", "optional": true, "description": "`Animation`'s source animation node.", "typeRef": "Animation.AnimationEffect"}, {"name": "cssId", "type": "string", "optional": true, "description": "A unique ID for `Animation` representing the sources that triggered this CSS animation/transition.", "typeRef": null}, {"name": "viewOrScrollTimeline", "type": "object", "optional": true, "description": "View or scroll timeline", "typeRef": "Animation.ViewOrScrollTimeline"}]);
63
63
  inspectorBackend.registerType("Animation.ViewOrScrollTimeline", [{"name": "sourceNodeId", "type": "number", "optional": true, "description": "Scroll container node", "typeRef": "DOM.BackendNodeId"}, {"name": "startOffset", "type": "number", "optional": true, "description": "Represents the starting scroll position of the timeline as a length offset in pixels from scroll origin.", "typeRef": null}, {"name": "endOffset", "type": "number", "optional": true, "description": "Represents the ending scroll position of the timeline as a length offset in pixels from scroll origin.", "typeRef": null}, {"name": "subjectNodeId", "type": "number", "optional": true, "description": "The element whose principal box's visibility in the scrollport defined the progress of the timeline. Does not exist for animations with ScrollTimeline", "typeRef": "DOM.BackendNodeId"}, {"name": "axis", "type": "string", "optional": false, "description": "Orientation of the scroll", "typeRef": "DOM.ScrollOrientation"}]);
64
- inspectorBackend.registerType("Animation.AnimationEffect", [{"name": "delay", "type": "number", "optional": false, "description": "`AnimationEffect`'s delay.", "typeRef": null}, {"name": "endDelay", "type": "number", "optional": false, "description": "`AnimationEffect`'s end delay.", "typeRef": null}, {"name": "iterationStart", "type": "number", "optional": false, "description": "`AnimationEffect`'s iteration start.", "typeRef": null}, {"name": "iterations", "type": "number", "optional": false, "description": "`AnimationEffect`'s iterations.", "typeRef": null}, {"name": "duration", "type": "number", "optional": false, "description": "`AnimationEffect`'s iteration duration. Milliseconds for time based animations and percentage [0 - 100] for scroll driven animations (i.e. when viewOrScrollTimeline exists).", "typeRef": null}, {"name": "direction", "type": "string", "optional": false, "description": "`AnimationEffect`'s playback direction.", "typeRef": null}, {"name": "fill", "type": "string", "optional": false, "description": "`AnimationEffect`'s fill mode.", "typeRef": null}, {"name": "backendNodeId", "type": "number", "optional": true, "description": "`AnimationEffect`'s target node.", "typeRef": "DOM.BackendNodeId"}, {"name": "keyframesRule", "type": "object", "optional": true, "description": "`AnimationEffect`'s keyframes.", "typeRef": "Animation.KeyframesRule"}, {"name": "easing", "type": "string", "optional": false, "description": "`AnimationEffect`'s timing function.", "typeRef": null}]);
64
+ inspectorBackend.registerType("Animation.AnimationEffect", [{"name": "delay", "type": "number", "optional": false, "description": "`AnimationEffect`'s delay.", "typeRef": null}, {"name": "endDelay", "type": "number", "optional": false, "description": "`AnimationEffect`'s end delay.", "typeRef": null}, {"name": "iterationStart", "type": "number", "optional": false, "description": "`AnimationEffect`'s iteration start.", "typeRef": null}, {"name": "iterations", "type": "number", "optional": true, "description": "`AnimationEffect`'s iterations. Omitted if the value is infinite.", "typeRef": null}, {"name": "duration", "type": "number", "optional": false, "description": "`AnimationEffect`'s iteration duration. Milliseconds for time based animations and percentage [0 - 100] for scroll driven animations (i.e. when viewOrScrollTimeline exists).", "typeRef": null}, {"name": "direction", "type": "string", "optional": false, "description": "`AnimationEffect`'s playback direction.", "typeRef": null}, {"name": "fill", "type": "string", "optional": false, "description": "`AnimationEffect`'s fill mode.", "typeRef": null}, {"name": "backendNodeId", "type": "number", "optional": true, "description": "`AnimationEffect`'s target node.", "typeRef": "DOM.BackendNodeId"}, {"name": "keyframesRule", "type": "object", "optional": true, "description": "`AnimationEffect`'s keyframes.", "typeRef": "Animation.KeyframesRule"}, {"name": "easing", "type": "string", "optional": false, "description": "`AnimationEffect`'s timing function.", "typeRef": null}]);
65
65
  inspectorBackend.registerType("Animation.KeyframesRule", [{"name": "name", "type": "string", "optional": true, "description": "CSS keyframed animation's name.", "typeRef": null}, {"name": "keyframes", "type": "array", "optional": false, "description": "List of animation keyframes.", "typeRef": "Animation.KeyframeStyle"}]);
66
66
  inspectorBackend.registerType("Animation.KeyframeStyle", [{"name": "offset", "type": "string", "optional": false, "description": "Keyframe's time offset.", "typeRef": null}, {"name": "easing", "type": "string", "optional": false, "description": "`AnimationEffect`'s timing function.", "typeRef": null}]);
67
67
 
@@ -226,6 +226,8 @@ inspectorBackend.registerType("Browser.Histogram", [{"name": "name", "type": "st
226
226
  inspectorBackend.registerEnum("CSS.StyleSheetOrigin", {Injected: "injected", UserAgent: "user-agent", Inspector: "inspector", Regular: "regular"});
227
227
  inspectorBackend.registerEnum("CSS.CSSRuleType", {MediaRule: "MediaRule", SupportsRule: "SupportsRule", ContainerRule: "ContainerRule", LayerRule: "LayerRule", ScopeRule: "ScopeRule", StyleRule: "StyleRule", StartingStyleRule: "StartingStyleRule"});
228
228
  inspectorBackend.registerEnum("CSS.CSSMediaSource", {MediaRule: "mediaRule", ImportRule: "importRule", LinkedSheet: "linkedSheet", InlineSheet: "inlineSheet"});
229
+ inspectorBackend.registerEnum("CSS.CSSAtRuleType", {FontFace: "font-face", FontFeatureValues: "font-feature-values", FontPaletteValues: "font-palette-values"});
230
+ inspectorBackend.registerEnum("CSS.CSSAtRuleSubsection", {Swash: "swash", Annotation: "annotation", Ornaments: "ornaments", Stylistic: "stylistic", Styleset: "styleset", CharacterVariant: "character-variant"});
229
231
  inspectorBackend.registerEvent("CSS.fontsUpdated", ["font"]);
230
232
  inspectorBackend.registerEvent("CSS.mediaQueryResultChanged", []);
231
233
  inspectorBackend.registerEvent("CSS.styleSheetAdded", ["header"]);
@@ -245,7 +247,7 @@ inspectorBackend.registerCommand("CSS.resolveValues", [{"name": "values", "type"
245
247
  inspectorBackend.registerCommand("CSS.getLonghandProperties", [{"name": "shorthandName", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "value", "type": "string", "optional": false, "description": "", "typeRef": null}], ["longhandProperties"], "");
246
248
  inspectorBackend.registerCommand("CSS.getInlineStylesForNode", [{"name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId"}], ["inlineStyle", "attributesStyle"], "Returns the styles defined inline (explicitly in the \"style\" attribute and implicitly, using DOM attributes) for a DOM node identified by `nodeId`.");
247
249
  inspectorBackend.registerCommand("CSS.getAnimatedStylesForNode", [{"name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId"}], ["animationStyles", "transitionsStyle", "inherited"], "Returns the styles coming from animations & transitions including the animation & transition styles coming from inheritance chain.");
248
- inspectorBackend.registerCommand("CSS.getMatchedStylesForNode", [{"name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId"}], ["inlineStyle", "attributesStyle", "matchedCSSRules", "pseudoElements", "inherited", "inheritedPseudoElements", "cssKeyframesRules", "cssPositionTryRules", "activePositionFallbackIndex", "cssPropertyRules", "cssPropertyRegistrations", "cssFontPaletteValuesRule", "parentLayoutNodeId", "cssFunctionRules"], "Returns requested styles for a DOM node identified by `nodeId`.");
250
+ inspectorBackend.registerCommand("CSS.getMatchedStylesForNode", [{"name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId"}], ["inlineStyle", "attributesStyle", "matchedCSSRules", "pseudoElements", "inherited", "inheritedPseudoElements", "cssKeyframesRules", "cssPositionTryRules", "activePositionFallbackIndex", "cssPropertyRules", "cssPropertyRegistrations", "cssFontPaletteValuesRule", "cssAtRules", "parentLayoutNodeId", "cssFunctionRules"], "Returns requested styles for a DOM node identified by `nodeId`.");
249
251
  inspectorBackend.registerCommand("CSS.getEnvironmentVariables", [], ["environmentVariables"], "Returns the values of the default UA-defined environment variables used in env()");
250
252
  inspectorBackend.registerCommand("CSS.getMediaQueries", [], ["medias"], "Returns all media queries parsed by the rendering engine.");
251
253
  inspectorBackend.registerCommand("CSS.getPlatformFontsForNode", [{"name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId"}], ["fonts"], "Requests information about platform fonts which we used to render child TextNodes in the given node.");
@@ -304,6 +306,7 @@ inspectorBackend.registerType("CSS.CSSPositionTryRule", [{"name": "name", "type"
304
306
  inspectorBackend.registerType("CSS.CSSKeyframesRule", [{"name": "animationName", "type": "object", "optional": false, "description": "Animation name.", "typeRef": "CSS.Value"}, {"name": "keyframes", "type": "array", "optional": false, "description": "List of keyframes.", "typeRef": "CSS.CSSKeyframeRule"}]);
305
307
  inspectorBackend.registerType("CSS.CSSPropertyRegistration", [{"name": "propertyName", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "initialValue", "type": "object", "optional": true, "description": "", "typeRef": "CSS.Value"}, {"name": "inherits", "type": "boolean", "optional": false, "description": "", "typeRef": null}, {"name": "syntax", "type": "string", "optional": false, "description": "", "typeRef": null}]);
306
308
  inspectorBackend.registerType("CSS.CSSFontPaletteValuesRule", [{"name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "CSS.StyleSheetId"}, {"name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin"}, {"name": "fontPaletteName", "type": "object", "optional": false, "description": "Associated font palette name.", "typeRef": "CSS.Value"}, {"name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle"}]);
309
+ inspectorBackend.registerType("CSS.CSSAtRule", [{"name": "type", "type": "string", "optional": false, "description": "Type of at-rule.", "typeRef": null}, {"name": "subsection", "type": "string", "optional": true, "description": "Subsection of font-feature-values, if this is a subsection.", "typeRef": null}, {"name": "name", "type": "object", "optional": true, "description": "LINT_SKIP.ThenChange(//third_party/blink/renderer/core/inspector/inspector_style_sheet.cc:FontVariantAlternatesFeatureType,//third_party/blink/renderer/core/inspector/inspector_css_agent.cc:FontVariantAlternatesFeatureType) Associated name, if applicable.", "typeRef": "CSS.Value"}, {"name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "CSS.StyleSheetId"}, {"name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin"}, {"name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle"}]);
307
310
  inspectorBackend.registerType("CSS.CSSPropertyRule", [{"name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "CSS.StyleSheetId"}, {"name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin"}, {"name": "propertyName", "type": "object", "optional": false, "description": "Associated property name.", "typeRef": "CSS.Value"}, {"name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle"}]);
308
311
  inspectorBackend.registerType("CSS.CSSFunctionParameter", [{"name": "name", "type": "string", "optional": false, "description": "The parameter name.", "typeRef": null}, {"name": "type", "type": "string", "optional": false, "description": "The parameter type.", "typeRef": null}]);
309
312
  inspectorBackend.registerType("CSS.CSSFunctionConditionNode", [{"name": "media", "type": "object", "optional": true, "description": "Media query for this conditional block. Only one type of condition should be set.", "typeRef": "CSS.CSSMedia"}, {"name": "containerQueries", "type": "object", "optional": true, "description": "Container query for this conditional block. Only one type of condition should be set.", "typeRef": "CSS.CSSContainerQuery"}, {"name": "supports", "type": "object", "optional": true, "description": "@supports CSS at-rule condition. Only one type of condition should be set.", "typeRef": "CSS.CSSSupports"}, {"name": "children", "type": "array", "optional": false, "description": "Block body.", "typeRef": "CSS.CSSFunctionNode"}, {"name": "conditionText", "type": "string", "optional": false, "description": "The condition text.", "typeRef": null}]);
@@ -336,7 +339,7 @@ inspectorBackend.registerCommand("Cast.stopCasting", [{"name": "sinkName", "type
336
339
  inspectorBackend.registerType("Cast.Sink", [{"name": "name", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "id", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "session", "type": "string", "optional": true, "description": "Text describing the current session. Present only if there is an active session on the sink.", "typeRef": null}]);
337
340
 
338
341
  // DOM.
339
- inspectorBackend.registerEnum("DOM.PseudoType", {FirstLine: "first-line", FirstLetter: "first-letter", Checkmark: "checkmark", Before: "before", After: "after", PickerIcon: "picker-icon", InterestHint: "interest-hint", Marker: "marker", Backdrop: "backdrop", Column: "column", Selection: "selection", SearchText: "search-text", TargetText: "target-text", SpellingError: "spelling-error", GrammarError: "grammar-error", Highlight: "highlight", FirstLineInherited: "first-line-inherited", ScrollMarker: "scroll-marker", ScrollMarkerGroup: "scroll-marker-group", ScrollButton: "scroll-button", Scrollbar: "scrollbar", ScrollbarThumb: "scrollbar-thumb", ScrollbarButton: "scrollbar-button", ScrollbarTrack: "scrollbar-track", ScrollbarTrackPiece: "scrollbar-track-piece", ScrollbarCorner: "scrollbar-corner", Resizer: "resizer", InputListButton: "input-list-button", ViewTransition: "view-transition", ViewTransitionGroup: "view-transition-group", ViewTransitionImagePair: "view-transition-image-pair", ViewTransitionGroupChildren: "view-transition-group-children", ViewTransitionOld: "view-transition-old", ViewTransitionNew: "view-transition-new", Placeholder: "placeholder", FileSelectorButton: "file-selector-button", DetailsContent: "details-content", Picker: "picker", PermissionIcon: "permission-icon"});
342
+ inspectorBackend.registerEnum("DOM.PseudoType", {FirstLine: "first-line", FirstLetter: "first-letter", Checkmark: "checkmark", Before: "before", After: "after", PickerIcon: "picker-icon", InterestHint: "interest-hint", Marker: "marker", Backdrop: "backdrop", Column: "column", Selection: "selection", SearchText: "search-text", TargetText: "target-text", SpellingError: "spelling-error", GrammarError: "grammar-error", Highlight: "highlight", FirstLineInherited: "first-line-inherited", ScrollMarker: "scroll-marker", ScrollMarkerGroup: "scroll-marker-group", ScrollButton: "scroll-button", Scrollbar: "scrollbar", ScrollbarThumb: "scrollbar-thumb", ScrollbarButton: "scrollbar-button", ScrollbarTrack: "scrollbar-track", ScrollbarTrackPiece: "scrollbar-track-piece", ScrollbarCorner: "scrollbar-corner", Resizer: "resizer", InputListButton: "input-list-button", ViewTransition: "view-transition", ViewTransitionGroup: "view-transition-group", ViewTransitionImagePair: "view-transition-image-pair", ViewTransitionGroupChildren: "view-transition-group-children", ViewTransitionOld: "view-transition-old", ViewTransitionNew: "view-transition-new", Placeholder: "placeholder", FileSelectorButton: "file-selector-button", DetailsContent: "details-content", Picker: "picker", PermissionIcon: "permission-icon", OverscrollAreaParent: "overscroll-area-parent", OverscrollClientArea: "overscroll-client-area"});
340
343
  inspectorBackend.registerEnum("DOM.ShadowRootType", {UserAgent: "user-agent", Open: "open", Closed: "closed"});
341
344
  inspectorBackend.registerEnum("DOM.CompatibilityMode", {QuirksMode: "QuirksMode", LimitedQuirksMode: "LimitedQuirksMode", NoQuirksMode: "NoQuirksMode"});
342
345
  inspectorBackend.registerEnum("DOM.PhysicalAxes", {Horizontal: "Horizontal", Vertical: "Vertical", Both: "Both"});
@@ -777,7 +780,7 @@ inspectorBackend.registerEnum("Network.InterceptionStage", {Request: "Request",
777
780
  inspectorBackend.registerEnum("Network.SignedExchangeErrorField", {SignatureSig: "signatureSig", SignatureIntegrity: "signatureIntegrity", SignatureCertUrl: "signatureCertUrl", SignatureCertSha256: "signatureCertSha256", SignatureValidityUrl: "signatureValidityUrl", SignatureTimestamps: "signatureTimestamps"});
778
781
  inspectorBackend.registerEnum("Network.ContentEncoding", {Deflate: "deflate", Gzip: "gzip", Br: "br", Zstd: "zstd"});
779
782
  inspectorBackend.registerEnum("Network.DirectSocketDnsQueryType", {Ipv4: "ipv4", Ipv6: "ipv6"});
780
- inspectorBackend.registerEnum("Network.PrivateNetworkRequestPolicy", {Allow: "Allow", BlockFromInsecureToMorePrivate: "BlockFromInsecureToMorePrivate", WarnFromInsecureToMorePrivate: "WarnFromInsecureToMorePrivate", PreflightBlock: "PreflightBlock", PreflightWarn: "PreflightWarn", PermissionBlock: "PermissionBlock", PermissionWarn: "PermissionWarn"});
783
+ inspectorBackend.registerEnum("Network.PrivateNetworkRequestPolicy", {Allow: "Allow", BlockFromInsecureToMorePrivate: "BlockFromInsecureToMorePrivate", WarnFromInsecureToMorePrivate: "WarnFromInsecureToMorePrivate", PermissionBlock: "PermissionBlock", PermissionWarn: "PermissionWarn"});
781
784
  inspectorBackend.registerEnum("Network.IPAddressSpace", {Loopback: "Loopback", Local: "Local", Public: "Public", Unknown: "Unknown"});
782
785
  inspectorBackend.registerEnum("Network.CrossOriginOpenerPolicyValue", {SameOrigin: "SameOrigin", SameOriginAllowPopups: "SameOriginAllowPopups", RestrictProperties: "RestrictProperties", UnsafeNone: "UnsafeNone", SameOriginPlusCoep: "SameOriginPlusCoep", RestrictPropertiesPlusCoep: "RestrictPropertiesPlusCoep", NoopenerAllowPopups: "NoopenerAllowPopups"});
783
786
  inspectorBackend.registerEnum("Network.CrossOriginEmbedderPolicyValue", {None: "None", Credentialless: "Credentialless", RequireCorp: "RequireCorp"});
@@ -1351,7 +1354,7 @@ inspectorBackend.registerCommand("Target.setAutoAttach", [{"name": "autoAttach",
1351
1354
  inspectorBackend.registerCommand("Target.autoAttachRelated", [{"name": "targetId", "type": "string", "optional": false, "description": "", "typeRef": "Target.TargetID"}, {"name": "waitForDebuggerOnStart", "type": "boolean", "optional": false, "description": "Whether to pause new targets when attaching to them. Use `Runtime.runIfWaitingForDebugger` to run paused targets.", "typeRef": null}, {"name": "filter", "type": "array", "optional": true, "description": "Only targets matching filter will be attached.", "typeRef": "Target.TargetFilter"}], [], "Adds the specified target to the list of targets that will be monitored for any related target creation (such as child frames, child workers and new versions of service worker) and reported through `attachedToTarget`. The specified target is also auto-attached. This cancels the effect of any previous `setAutoAttach` and is also cancelled by subsequent `setAutoAttach`. Only available at the Browser target.");
1352
1355
  inspectorBackend.registerCommand("Target.setDiscoverTargets", [{"name": "discover", "type": "boolean", "optional": false, "description": "Whether to discover available targets.", "typeRef": null}, {"name": "filter", "type": "array", "optional": true, "description": "Only targets matching filter will be attached. If `discover` is false, `filter` must be omitted or empty.", "typeRef": "Target.TargetFilter"}], [], "Controls whether to discover available targets and notify via `targetCreated/targetInfoChanged/targetDestroyed` events.");
1353
1356
  inspectorBackend.registerCommand("Target.setRemoteLocations", [{"name": "locations", "type": "array", "optional": false, "description": "List of remote locations.", "typeRef": "Target.RemoteLocation"}], [], "Enables target discovery for the specified locations, when `setDiscoverTargets` was set to `true`.");
1354
- inspectorBackend.registerCommand("Target.openDevTools", [{"name": "targetId", "type": "string", "optional": false, "description": "This can be the page or tab target ID.", "typeRef": "Target.TargetID"}], ["targetId"], "Opens a DevTools window for the target.");
1357
+ inspectorBackend.registerCommand("Target.openDevTools", [{"name": "targetId", "type": "string", "optional": false, "description": "This can be the page or tab target ID.", "typeRef": "Target.TargetID"}, {"name": "panelId", "type": "string", "optional": true, "description": "The id of the panel we want DevTools to open initially. Currently supported panels are elements, console, network, sources and resources.", "typeRef": null}], ["targetId"], "Opens a DevTools window for the target.");
1355
1358
  inspectorBackend.registerType("Target.TargetInfo", [{"name": "targetId", "type": "string", "optional": false, "description": "", "typeRef": "Target.TargetID"}, {"name": "type", "type": "string", "optional": false, "description": "List of types: https://source.chromium.org/chromium/chromium/src/+/main:content/browser/devtools/devtools_agent_host_impl.cc?ss=chromium&q=f:devtools%20-f:out%20%22::kTypeTab%5B%5D%22", "typeRef": null}, {"name": "title", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "url", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "attached", "type": "boolean", "optional": false, "description": "Whether the target has an attached client.", "typeRef": null}, {"name": "openerId", "type": "string", "optional": true, "description": "Opener target Id", "typeRef": "Target.TargetID"}, {"name": "canAccessOpener", "type": "boolean", "optional": false, "description": "Whether the target has access to the originating window.", "typeRef": null}, {"name": "openerFrameId", "type": "string", "optional": true, "description": "Frame id of originating window (is only set if target has an opener).", "typeRef": "Page.FrameId"}, {"name": "parentFrameId", "type": "string", "optional": true, "description": "Id of the parent frame, only present for the \\\"iframe\\\" targets.", "typeRef": "Page.FrameId"}, {"name": "browserContextId", "type": "string", "optional": true, "description": "", "typeRef": "Browser.BrowserContextID"}, {"name": "subtype", "type": "string", "optional": true, "description": "Provides additional details for specific target types. For example, for the type of \\\"page\\\", this may be set to \\\"prerender\\\".", "typeRef": null}]);
1356
1359
  inspectorBackend.registerType("Target.FilterEntry", [{"name": "exclude", "type": "boolean", "optional": true, "description": "If set, causes exclusion of matching targets from the list.", "typeRef": null}, {"name": "type", "type": "string", "optional": true, "description": "If not present, matches any type.", "typeRef": null}]);
1357
1360
  inspectorBackend.registerType("Target.TargetFilter", [{"name": "TargetFilter", "type": "array", "optional": false, "description": "The entries in TargetFilter are matched sequentially against targets and the first entry that matches determines if the target is included or not, depending on the value of `exclude` field in the entry. If filter is not specified, the one assumed is [{type: \\\"browser\\\", exclude: true}, {type: \\\"tab\\\", exclude: true}, {}] (i.e. include everything but `browser` and `tab`).", "typeRef": "Target.FilterEntry"}]);
@@ -419,7 +419,10 @@ export const generatedProperties = [
419
419
  "column-height",
420
420
  "column-rule-break",
421
421
  "column-rule-color",
422
- "column-rule-outset",
422
+ "column-rule-edge-end-outset",
423
+ "column-rule-edge-start-outset",
424
+ "column-rule-interior-end-outset",
425
+ "column-rule-interior-start-outset",
423
426
  "column-rule-style",
424
427
  "column-rule-visibility-items",
425
428
  "column-rule-width",
@@ -639,7 +642,10 @@ export const generatedProperties = [
639
642
  "row-gap",
640
643
  "row-rule-break",
641
644
  "row-rule-color",
642
- "row-rule-outset",
645
+ "row-rule-edge-end-outset",
646
+ "row-rule-edge-start-outset",
647
+ "row-rule-interior-end-outset",
648
+ "row-rule-interior-start-outset",
643
649
  "row-rule-style",
644
650
  "row-rule-visibility-items",
645
651
  "row-rule-width",
@@ -1723,6 +1729,27 @@ export const generatedProperties = [
1723
1729
  },
1724
1730
  {
1725
1731
  "inherited": false,
1732
+ "name": "column-rule-edge-end-outset"
1733
+ },
1734
+ {
1735
+ "inherited": false,
1736
+ "name": "column-rule-edge-start-outset"
1737
+ },
1738
+ {
1739
+ "inherited": false,
1740
+ "name": "column-rule-interior-end-outset"
1741
+ },
1742
+ {
1743
+ "inherited": false,
1744
+ "name": "column-rule-interior-start-outset"
1745
+ },
1746
+ {
1747
+ "longhands": [
1748
+ "column-rule-edge-start-outset",
1749
+ "column-rule-edge-end-outset",
1750
+ "column-rule-interior-start-outset",
1751
+ "column-rule-interior-end-outset"
1752
+ ],
1726
1753
  "name": "column-rule-outset"
1727
1754
  },
1728
1755
  {
@@ -3711,6 +3738,27 @@ export const generatedProperties = [
3711
3738
  },
3712
3739
  {
3713
3740
  "inherited": false,
3741
+ "name": "row-rule-edge-end-outset"
3742
+ },
3743
+ {
3744
+ "inherited": false,
3745
+ "name": "row-rule-edge-start-outset"
3746
+ },
3747
+ {
3748
+ "inherited": false,
3749
+ "name": "row-rule-interior-end-outset"
3750
+ },
3751
+ {
3752
+ "inherited": false,
3753
+ "name": "row-rule-interior-start-outset"
3754
+ },
3755
+ {
3756
+ "longhands": [
3757
+ "row-rule-edge-start-outset",
3758
+ "row-rule-edge-end-outset",
3759
+ "row-rule-interior-start-outset",
3760
+ "row-rule-interior-end-outset"
3761
+ ],
3714
3762
  "name": "row-rule-outset"
3715
3763
  },
3716
3764
  {
@@ -3799,8 +3847,14 @@ export const generatedProperties = [
3799
3847
  },
3800
3848
  {
3801
3849
  "longhands": [
3802
- "row-rule-outset",
3803
- "column-rule-outset"
3850
+ "row-rule-edge-start-outset",
3851
+ "row-rule-edge-end-outset",
3852
+ "row-rule-interior-start-outset",
3853
+ "row-rule-interior-end-outset",
3854
+ "column-rule-edge-start-outset",
3855
+ "column-rule-edge-end-outset",
3856
+ "column-rule-interior-start-outset",
3857
+ "column-rule-interior-end-outset"
3804
3858
  ],
3805
3859
  "name": "rule-outset"
3806
3860
  },
@@ -544,9 +544,9 @@ export namespace Animation {
544
544
  */
545
545
  iterationStart: number;
546
546
  /**
547
- * `AnimationEffect`'s iterations.
547
+ * `AnimationEffect`'s iterations. Omitted if the value is infinite.
548
548
  */
549
- iterations: number;
549
+ iterations?: number;
550
550
  /**
551
551
  * `AnimationEffect`'s iteration duration.
552
552
  * Milliseconds for time based animations and
@@ -3452,6 +3452,53 @@ export namespace CSS {
3452
3452
  style: CSSStyle;
3453
3453
  }
3454
3454
 
3455
+ export const enum CSSAtRuleType {
3456
+ FontFace = 'font-face',
3457
+ FontFeatureValues = 'font-feature-values',
3458
+ FontPaletteValues = 'font-palette-values',
3459
+ }
3460
+
3461
+ export const enum CSSAtRuleSubsection {
3462
+ Swash = 'swash',
3463
+ Annotation = 'annotation',
3464
+ Ornaments = 'ornaments',
3465
+ Stylistic = 'stylistic',
3466
+ Styleset = 'styleset',
3467
+ CharacterVariant = 'character-variant',
3468
+ }
3469
+
3470
+ /**
3471
+ * CSS generic @rule representation.
3472
+ */
3473
+ export interface CSSAtRule {
3474
+ /**
3475
+ * Type of at-rule.
3476
+ */
3477
+ type: CSSAtRuleType;
3478
+ /**
3479
+ * Subsection of font-feature-values, if this is a subsection.
3480
+ */
3481
+ subsection?: CSSAtRuleSubsection;
3482
+ /**
3483
+ * LINT_SKIP.ThenChange(//third_party/blink/renderer/core/inspector/inspector_style_sheet.cc:FontVariantAlternatesFeatureType,//third_party/blink/renderer/core/inspector/inspector_css_agent.cc:FontVariantAlternatesFeatureType)
3484
+ * Associated name, if applicable.
3485
+ */
3486
+ name?: Value;
3487
+ /**
3488
+ * The css style sheet identifier (absent for user agent stylesheet and user-specified
3489
+ * stylesheet rules) this rule came from.
3490
+ */
3491
+ styleSheetId?: StyleSheetId;
3492
+ /**
3493
+ * Parent stylesheet's origin.
3494
+ */
3495
+ origin: StyleSheetOrigin;
3496
+ /**
3497
+ * Associated style declaration.
3498
+ */
3499
+ style: CSSStyle;
3500
+ }
3501
+
3455
3502
  /**
3456
3503
  * CSS property at-rule representation.
3457
3504
  */
@@ -3848,6 +3895,10 @@ export namespace CSS {
3848
3895
  * A font-palette-values rule matching this node.
3849
3896
  */
3850
3897
  cssFontPaletteValuesRule?: CSSFontPaletteValuesRule;
3898
+ /**
3899
+ * A list of simple @rules matching this node or its pseudo-elements.
3900
+ */
3901
+ cssAtRules?: CSSAtRule[];
3851
3902
  /**
3852
3903
  * Id of the first parent element that does not have display: contents.
3853
3904
  */
@@ -4440,6 +4491,8 @@ export namespace DOM {
4440
4491
  DetailsContent = 'details-content',
4441
4492
  Picker = 'picker',
4442
4493
  PermissionIcon = 'permission-icon',
4494
+ OverscrollAreaParent = 'overscroll-area-parent',
4495
+ OverscrollClientArea = 'overscroll-client-area',
4443
4496
  }
4444
4497
 
4445
4498
  /**
@@ -11124,8 +11177,6 @@ export namespace Network {
11124
11177
  Allow = 'Allow',
11125
11178
  BlockFromInsecureToMorePrivate = 'BlockFromInsecureToMorePrivate',
11126
11179
  WarnFromInsecureToMorePrivate = 'WarnFromInsecureToMorePrivate',
11127
- PreflightBlock = 'PreflightBlock',
11128
- PreflightWarn = 'PreflightWarn',
11129
11180
  PermissionBlock = 'PermissionBlock',
11130
11181
  PermissionWarn = 'PermissionWarn',
11131
11182
  }
@@ -18464,6 +18515,11 @@ export namespace Target {
18464
18515
  * This can be the page or tab target ID.
18465
18516
  */
18466
18517
  targetId: TargetID;
18518
+ /**
18519
+ * The id of the panel we want DevTools to open initially. Currently
18520
+ * supported panels are elements, console, network, sources and resources.
18521
+ */
18522
+ panelId?: string;
18467
18523
  }
18468
18524
 
18469
18525
  export interface OpenDevToolsResponse extends ProtocolResponseWithError {