chrome-devtools-frontend 1.0.938678 → 1.0.939473

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 (135) hide show
  1. package/.stylelintrc.json +8 -10
  2. package/config/gni/all_devtools_files.gni +0 -1
  3. package/config/gni/devtools_grd_files.gni +2 -0
  4. package/docs/triage_guidelines.md +13 -11
  5. package/front_end/Tests.js +63 -29
  6. package/front_end/core/host/InspectorFrontendHost.ts +16 -30
  7. package/front_end/core/host/UserMetrics.ts +1 -0
  8. package/front_end/core/i18n/locales/en-US.json +19 -1
  9. package/front_end/core/i18n/locales/en-XL.json +19 -1
  10. package/front_end/core/protocol_client/InspectorBackend.ts +4 -0
  11. package/front_end/core/root/Runtime.ts +4 -0
  12. package/front_end/core/sdk/CSSModel.ts +64 -50
  13. package/front_end/core/sdk/CategorizedBreakpoint.ts +35 -0
  14. package/front_end/core/sdk/DOMDebuggerModel.ts +10 -41
  15. package/front_end/core/sdk/EmulationModel.ts +11 -0
  16. package/front_end/core/sdk/EventBreakpointsModel.ts +178 -0
  17. package/front_end/core/sdk/Target.ts +2 -1
  18. package/front_end/core/sdk/sdk-meta.ts +30 -1
  19. package/front_end/core/sdk/sdk.ts +4 -0
  20. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +9 -2
  21. package/front_end/entrypoints/inspector_main/renderingOptions.css +2 -2
  22. package/front_end/entrypoints/main/main-meta.ts +0 -4
  23. package/front_end/entrypoints/node_main/nodeConnectionsPanel.css +2 -2
  24. package/front_end/entrypoints/shell/shell.js +1 -0
  25. package/front_end/entrypoints/shell/shell.json +0 -1
  26. package/front_end/models/persistence/editFileSystemView.css +1 -1
  27. package/front_end/models/persistence/workspaceSettingsTab.css +1 -1
  28. package/front_end/panels/accessibility/accessibilityNode.css +2 -2
  29. package/front_end/panels/accessibility/axBreadcrumbs.css +1 -1
  30. package/front_end/panels/animation/animationTimeline.css +5 -5
  31. package/front_end/panels/application/components/frameDetailsReportView.css +1 -1
  32. package/front_end/panels/application/resourcesPanel.css +1 -1
  33. package/front_end/panels/application/resourcesSidebar.css +1 -1
  34. package/front_end/panels/browser_debugger/CSPViolationBreakpointsSidebarPane.ts +2 -2
  35. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +7 -7
  36. package/front_end/panels/browser_debugger/EventListenerBreakpointsSidebarPane.ts +14 -6
  37. package/front_end/panels/browser_debugger/xhrBreakpointsSidebarPane.css +2 -5
  38. package/front_end/panels/changes/changesSidebar.css +1 -1
  39. package/front_end/panels/changes/changesView.css +2 -2
  40. package/front_end/panels/console/consolePrompt.css +1 -1
  41. package/front_end/panels/console/consoleSidebar.css +4 -4
  42. package/front_end/panels/console/consoleView.css +2 -2
  43. package/front_end/panels/css_overview/components/cssOverviewStartView.css +1 -1
  44. package/front_end/panels/css_overview/cssOverviewCompletedView.css +8 -8
  45. package/front_end/panels/elements/classesPaneWidget.css +1 -1
  46. package/front_end/panels/elements/components/adornerSettingsPane.css +1 -1
  47. package/front_end/panels/elements/computedStyleWidgetTree.css +1 -1
  48. package/front_end/panels/elements/elementsPanel.css +1 -1
  49. package/front_end/panels/elements/elementsTreeOutline.css +1 -1
  50. package/front_end/panels/elements/layoutPane.css +1 -1
  51. package/front_end/panels/elements/platformFontsWidget.css +1 -1
  52. package/front_end/panels/elements/stylesSectionTree.css +1 -1
  53. package/front_end/panels/event_listeners/EventListenersView.ts +5 -4
  54. package/front_end/panels/event_listeners/eventListenersView.css +3 -2
  55. package/front_end/panels/issues/IssueKindView.ts +0 -6
  56. package/front_end/panels/issues/IssueView.ts +19 -27
  57. package/front_end/panels/issues/components/HideIssuesMenu.ts +7 -11
  58. package/front_end/panels/issues/components/hideIssuesMenu.css +8 -0
  59. package/front_end/panels/issues/issuesTree.css +17 -5
  60. package/front_end/panels/lighthouse/lighthouseStartView.css +2 -2
  61. package/front_end/panels/media/playerListView.css +1 -1
  62. package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +1 -1
  63. package/front_end/panels/network/NetworkLogView.ts +13 -0
  64. package/front_end/panels/network/NetworkSearchScope.ts +3 -1
  65. package/front_end/panels/network/RequestPayloadView.ts +2 -0
  66. package/front_end/panels/network/blockedURLsPane.css +1 -1
  67. package/front_end/panels/network/networkConfigView.css +1 -1
  68. package/front_end/panels/network/networkLogView.css +3 -3
  69. package/front_end/panels/network/requestPayloadTree.css +5 -0
  70. package/front_end/panels/profiler/profileLauncherView.css +3 -3
  71. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +1 -0
  72. package/front_end/panels/security/mainView.css +2 -2
  73. package/front_end/panels/security/originView.css +1 -1
  74. package/front_end/panels/sensors/sensors.css +2 -2
  75. package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +1 -1
  76. package/front_end/panels/settings/emulation/devicesSettingsTab.css +4 -4
  77. package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +1 -1
  78. package/front_end/panels/settings/settingsScreen.css +2 -2
  79. package/front_end/panels/sources/CoveragePlugin.ts +7 -2
  80. package/front_end/panels/sources/DebuggerPausedMessage.ts +14 -7
  81. package/front_end/panels/sources/callStackSidebarPane.css +1 -1
  82. package/front_end/panels/sources/dialog.css +1 -1
  83. package/front_end/panels/sources/javaScriptBreakpointsSidebarPane.css +1 -1
  84. package/front_end/panels/sources/navigatorTree.css +4 -4
  85. package/front_end/panels/sources/sourcesPanel.css +2 -2
  86. package/front_end/panels/sources/threadsSidebarPane.css +1 -1
  87. package/front_end/panels/timeline/components/WebVitalsTooltip.css +1 -1
  88. package/front_end/panels/timeline/historyToolbarButton.css +1 -1
  89. package/front_end/panels/timeline/timelineStatusDialog.css +1 -1
  90. package/front_end/panels/webauthn/webauthnPane.css +2 -2
  91. package/front_end/ui/components/adorners/adorner.css +1 -1
  92. package/front_end/ui/components/expandable_list/expandableList.css +1 -1
  93. package/front_end/ui/components/linear_memory_inspector/valueInterpreterDisplay.css +1 -2
  94. package/front_end/ui/components/linear_memory_inspector/valueInterpreterSettings.css +1 -1
  95. package/front_end/ui/components/report_view/reportKey.css +1 -1
  96. package/front_end/ui/components/report_view/reportValue.css +1 -1
  97. package/front_end/ui/legacy/ContextMenu.ts +5 -1
  98. package/front_end/ui/legacy/SoftContextMenu.ts +5 -1
  99. package/front_end/ui/legacy/checkboxTextLabel.css +1 -1
  100. package/front_end/ui/legacy/components/color_picker/spectrum.css +9 -9
  101. package/front_end/ui/legacy/components/data_grid/dataGrid.css +2 -2
  102. package/front_end/ui/legacy/components/inline_editor/cssAngleEditor.css +3 -3
  103. package/front_end/ui/legacy/components/inline_editor/cssLength.css +1 -1
  104. package/front_end/ui/legacy/components/inline_editor/cssShadowEditor.css +1 -1
  105. package/front_end/ui/legacy/components/inline_editor/fontEditor.css +1 -1
  106. package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +2 -2
  107. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +13 -7
  108. package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +2 -2
  109. package/front_end/ui/legacy/components/source_frame/imageView.css +1 -1
  110. package/front_end/ui/legacy/components/text_editor/cmdevtools.css +6 -14
  111. package/front_end/ui/legacy/emptyWidget.css +1 -1
  112. package/front_end/ui/legacy/filter.css +1 -1
  113. package/front_end/ui/legacy/infobar.css +2 -2
  114. package/front_end/ui/legacy/inspectorCommon.css +45 -45
  115. package/front_end/ui/legacy/inspectorSyntaxHighlight.css +3 -3
  116. package/front_end/ui/legacy/inspectorViewTabbedPane.css +1 -1
  117. package/front_end/ui/legacy/searchableView.css +1 -1
  118. package/front_end/ui/legacy/softContextMenu.css +1 -1
  119. package/front_end/ui/legacy/textPrompt.css +1 -1
  120. package/front_end/ui/legacy/toolbar.css +8 -8
  121. package/front_end/ui/legacy/treeoutline.css +4 -4
  122. package/inspector_overlay/common.css +2 -2
  123. package/inspector_overlay/tool_highlight.css +1 -1
  124. package/inspector_overlay/tool_paused.css +2 -2
  125. package/package.json +1 -1
  126. package/scripts/eslint_rules/lib/check_component_naming.js +1 -1
  127. package/scripts/eslint_rules/lib/enforce_custom_event_names.js +1 -1
  128. package/scripts/eslint_rules/lib/es_modules_import.js +21 -20
  129. package/scripts/eslint_rules/lib/l10n_filename_matches.js +4 -3
  130. package/scripts/eslint_rules/lib/l10n_no_i18nString_calls_module_instantiation.js +1 -1
  131. package/scripts/eslint_rules/lib/migrate_create_shadow_root_with_styles.js +2 -2
  132. package/scripts/eslint_rules/lib/migrate_register_required_css.js +1 -1
  133. package/scripts/eslint_rules/lib/no_underscored_properties.js +1 -1
  134. package/scripts/eslint_rules/tests/es_modules_import_test.js +3 -2
  135. package/front_end/entrypoints/main/module.json +0 -5
package/.stylelintrc.json CHANGED
@@ -12,15 +12,6 @@
12
12
  "declaration-no-important": true,
13
13
  "color-named": "never",
14
14
  "max-empty-lines": 1,
15
- "property-no-vendor-prefix": [
16
- true,
17
- {
18
- "ignoreProperties": [
19
- "border-image",
20
- "/^mask-/"
21
- ]
22
- }
23
- ],
24
15
  "selector-type-no-unknown": [
25
16
  true,
26
17
  {
@@ -28,6 +19,13 @@
28
19
  "/^devtools-/"
29
20
  ]
30
21
  }
31
- ]
22
+ ],
23
+ "max-line-length": null,
24
+ "selector-class-pattern": null,
25
+ "keyframes-name-pattern": null,
26
+ "selector-no-vendor-prefix": null,
27
+ "property-no-vendor-prefix": null,
28
+ "value-no-vendor-prefix": null,
29
+ "media-feature-name-no-vendor-prefix": null
32
30
  }
33
31
  }
@@ -58,7 +58,6 @@ all_devtools_files = [
58
58
  "front_end/legacy_test_runner/layers_test_runner/layers_test_runner.js",
59
59
  "front_end/panels/layer_viewer/module.json",
60
60
  "front_end/panels/layers/module.json",
61
- "front_end/entrypoints/main/module.json",
62
61
  "front_end/panels/media/module.json",
63
62
  "front_end/entrypoints/ndb_app/ndb_app.json",
64
63
  "front_end/legacy_test_runner/network_test_runner/network_test_runner.js",
@@ -595,6 +595,7 @@ grd_files_debug_sources = [
595
595
  "front_end/core/sdk/CSSRule.js",
596
596
  "front_end/core/sdk/CSSStyleDeclaration.js",
597
597
  "front_end/core/sdk/CSSStyleSheetHeader.js",
598
+ "front_end/core/sdk/CategorizedBreakpoint.js",
598
599
  "front_end/core/sdk/ChildTargetManager.js",
599
600
  "front_end/core/sdk/CompilerSourceMappingContentProvider.js",
600
601
  "front_end/core/sdk/Connections.js",
@@ -607,6 +608,7 @@ grd_files_debug_sources = [
607
608
  "front_end/core/sdk/DOMModel.js",
608
609
  "front_end/core/sdk/DebuggerModel.js",
609
610
  "front_end/core/sdk/EmulationModel.js",
611
+ "front_end/core/sdk/EventBreakpointsModel.js",
610
612
  "front_end/core/sdk/FilmStripModel.js",
611
613
  "front_end/core/sdk/FrameAssociated.js",
612
614
  "front_end/core/sdk/FrameManager.js",
@@ -43,22 +43,24 @@ Issues in the untriaged queue should receive a meaningful response within a busi
43
43
 
44
44
  ## How should issues be triaged?
45
45
 
46
- An issue is triaged when it meets the following criteria:
47
-
48
- - Priority is set correctly
49
- - Component is set correctly
50
- - Type is set correctly especially consider Feature vs Bug vs Bug-Regression
51
- - Status is set correctly (Available most of the time)
52
- - Request bisection from the Chrome Test Engineer team by adding the label "Needs-Bisect".
46
+ - Close issues as `WontFix` if they don't reproduce (in simple cases) or are requests for features we've already concluded not to pursue.
47
+ - Close issues as `Archived` that are valid, but it seems unlikely that we will get there anytime soon.
48
+ - Move issues out of `Platform>DevTools` if they are not DevTools issues (but just reported via the menu item in DevTools), put on the `Hotlist-DevTools-Triaged` and leave the `Untriaged` status as is.
49
+ - Assign regression bugs with bisects to individuals directly and set the status to `Assigned`.
50
+ - Put proper `Platform>DevTools>XXX` component(s) on the issue and do an initial check-in regarding the priority.
51
+ - Put one of the following labels on it and set the status to "Available":
52
+ - `Hotlist-DevTools-ProductReview` if it's controversial or clear that consensus needs to be built first.
53
+ - `Hotlist-DevTools-BrowserAutomation-Backlog` if it's an issue related to ChromeDriver or puppeteer.
54
+ - `Hotlist-DevTools-Debugging-Backlog` if it's a debugging issue.
55
+ - `Hotlist-DevTools-DesignAccessibility-Backlog` if it's a design or accessibility issue.
56
+ - `Hotlist-DevTools-Performance-Backlog` if the issue is related to our performance tooling (i.e. Performance panel, Lighthouse).
57
+ - `Hotlist-DevTools-Backlog` if it's a general DevTools issue that is not specific to one of the core areas.
58
+ - Also remember to put the Needs-UX label on it, if help from a designer is likely to be required.
53
59
 
54
60
  ### Setting Assigned or Available
55
61
 
56
62
  Set issues to Available if they don’t need immediate action and nobody right now and in the short-term future (an iteration) needs to work on it.
57
63
 
58
- If you think they should be addressed in the short-term please add the label “Hotlist-DevTools-CurrentSprint”.
59
-
60
- If you think they should be addressed mid-term or the next iteration, please add the label “Hotlist-DevTools-Backlog”
61
-
62
64
  Issues that are handled by Microsoft have the label “Hotlist-DevTools-MS-Backlog” and “Hotlist-DevTools-MS-CurrentSprint” respectively and can be considered triaged.
63
65
 
64
66
  If you think they are super urgent, please assign them to yangguo@chromium.org and cc bmeurer@chromium.org and hablich@chromium.org.
@@ -1290,6 +1290,7 @@
1290
1290
 
1291
1291
  TestSuite.prototype.testInspectedElementIs = async function(nodeName) {
1292
1292
  this.takeControl();
1293
+ await self.runtime.loadLegacyModule('panels/elements/elements-legacy.js');
1293
1294
  if (!Elements.ElementsPanel.firstInspectElementNodeNameForTest) {
1294
1295
  await new Promise(f => this.addSniffer(Elements.ElementsPanel, 'firstInspectElementCompletedForTest', f));
1295
1296
  }
@@ -1331,8 +1332,8 @@
1331
1332
  const browserContextIds = [];
1332
1333
  const targetAgent = self.SDK.targetManager.mainTarget().targetAgent();
1333
1334
 
1334
- const target1 = await createIsolatedTarget(url);
1335
- const target2 = await createIsolatedTarget(url);
1335
+ const target1 = await createIsolatedTarget(url, browserContextIds);
1336
+ const target2 = await createIsolatedTarget(url, browserContextIds);
1336
1337
 
1337
1338
  const response = await targetAgent.invoke_getBrowserContexts();
1338
1339
  this.assertEquals(response.browserContextIds.length, 2);
@@ -1356,34 +1357,37 @@
1356
1357
  this.assertEquals(removedTargets.indexOf(target2) !== -1, true);
1357
1358
 
1358
1359
  this.releaseControl();
1360
+ };
1359
1361
 
1360
- /**
1361
- * @param {string} url
1362
- * @return {!Promise<!SDK.Target>}
1363
- */
1364
- async function createIsolatedTarget(url) {
1365
- const {browserContextId} = await targetAgent.invoke_createBrowserContext();
1366
- browserContextIds.push(browserContextId);
1362
+ /**
1363
+ * @param {string} url
1364
+ * @return {!Promise<!SDK.Target>}
1365
+ */
1366
+ async function createIsolatedTarget(url, opt_browserContextIds) {
1367
+ const targetAgent = self.SDK.targetManager.mainTarget().targetAgent();
1368
+ const {browserContextId} = await targetAgent.invoke_createBrowserContext();
1369
+ if (opt_browserContextIds) {
1370
+ opt_browserContextIds.push(browserContextId);
1371
+ }
1367
1372
 
1368
- const {targetId} = await targetAgent.invoke_createTarget({url: 'about:blank', browserContextId});
1369
- await targetAgent.invoke_attachToTarget({targetId, flatten: true});
1373
+ const {targetId} = await targetAgent.invoke_createTarget({url: 'about:blank', browserContextId});
1374
+ await targetAgent.invoke_attachToTarget({targetId, flatten: true});
1370
1375
 
1371
- const target = self.SDK.targetManager.targets().find(target => target.id() === targetId);
1372
- const pageAgent = target.pageAgent();
1373
- await pageAgent.invoke_enable();
1374
- await pageAgent.invoke_navigate({url});
1375
- return target;
1376
- }
1376
+ const target = self.SDK.targetManager.targets().find(target => target.id() === targetId);
1377
+ const pageAgent = target.pageAgent();
1378
+ await pageAgent.invoke_enable();
1379
+ await pageAgent.invoke_navigate({url});
1380
+ return target;
1381
+ }
1377
1382
 
1378
- async function disposeBrowserContext(browserContextId) {
1379
- const targetAgent = self.SDK.targetManager.mainTarget().targetAgent();
1380
- await targetAgent.invoke_disposeBrowserContext({browserContextId});
1381
- }
1383
+ async function disposeBrowserContext(browserContextId) {
1384
+ const targetAgent = self.SDK.targetManager.mainTarget().targetAgent();
1385
+ await targetAgent.invoke_disposeBrowserContext({browserContextId});
1386
+ }
1382
1387
 
1383
- async function evalCode(target, code) {
1384
- return (await target.runtimeAgent().invoke_evaluate({expression: code})).result.value;
1385
- }
1386
- };
1388
+ async function evalCode(target, code) {
1389
+ return (await target.runtimeAgent().invoke_evaluate({expression: code})).result.value;
1390
+ }
1387
1391
 
1388
1392
  TestSuite.prototype.testInputDispatchEventsToOOPIF = async function() {
1389
1393
  this.takeControl();
@@ -1391,14 +1395,12 @@
1391
1395
  await new Promise(callback => this._waitForTargets(2, callback));
1392
1396
 
1393
1397
  async function takeLogs(target) {
1394
- const code = `
1398
+ return await evalCode(target, `
1395
1399
  (function() {
1396
1400
  var result = window.logs.join(' ');
1397
1401
  window.logs = [];
1398
1402
  return result;
1399
- })()
1400
- `;
1401
- return (await target.runtimeAgent().invoke_evaluate({expression: code})).result.value;
1403
+ })()`);
1402
1404
  }
1403
1405
 
1404
1406
  let parentFrameOutput;
@@ -1437,6 +1439,38 @@
1437
1439
  this.releaseControl();
1438
1440
  };
1439
1441
 
1442
+ TestSuite.prototype.testInputDispatchEventsToCorrectTarget = async function() {
1443
+ this.takeControl();
1444
+
1445
+ const mainTarget = self.SDK.targetManager.mainTarget();
1446
+ const otherTarget = await createIsolatedTarget('about:blank');
1447
+
1448
+ const setupLogging = `
1449
+ window.logs = [];
1450
+ ['dragenter', 'keydown', 'mousedown', 'mouseenter', 'mouseleave', 'mousemove', 'mouseout', 'mouseover', 'mouseup',
1451
+ 'click', 'touchcancel', 'touchend', 'touchmove', 'touchstart',
1452
+ ].forEach((event) => window.addEventListener(event, (e) => logs.push(e.type)));`;
1453
+ await evalCode(mainTarget, setupLogging);
1454
+ await evalCode(otherTarget, setupLogging);
1455
+
1456
+ const inputAgent = mainTarget.inputAgent();
1457
+ await inputAgent.invoke_dispatchMouseEvent({type: 'mousePressed', button: 'left', clickCount: 1, x: 100, y: 250});
1458
+ await inputAgent.invoke_dispatchMouseEvent({type: 'mouseMoved', button: 'left', clickCount: 1, x: 110, y: 270});
1459
+ await inputAgent.invoke_dispatchMouseEvent({type: 'mouseReleased', button: 'left', clickCount: 1, x: 110, y: 270});
1460
+ await inputAgent.invoke_dispatchDragEvent(
1461
+ {type: 'dragEnter', x: 100, y: 250, data: {items: [], dragOperationsMask: 1}});
1462
+ await inputAgent.invoke_synthesizeTapGesture({x: 100, y: 250});
1463
+ await inputAgent.invoke_dispatchKeyEvent({type: 'keyDown', key: 'a'});
1464
+
1465
+ const mainTargetEvents = await evalCode(mainTarget, ' logs.join(\' \')');
1466
+ const otherTargetEvents = await evalCode(otherTarget, 'logs.join(\' \')');
1467
+ this.assertEquals(
1468
+ 'mainTargetEvents: mouseover mousedown mousemove mouseup click dragenter keydown; otherTargetEvents: ',
1469
+ `mainTargetEvents: ${mainTargetEvents}; otherTargetEvents: ${otherTargetEvents}`);
1470
+
1471
+ this.releaseControl();
1472
+ };
1473
+
1440
1474
  TestSuite.prototype.testLoadResourceForFrontend = async function(baseURL, fileURL) {
1441
1475
  const test = this;
1442
1476
  const loggedHeaders = new Set(['cache-control', 'pragma']);
@@ -364,13 +364,7 @@ export class InspectorFrontendHostStub implements InspectorFrontendHostAPI {
364
364
  export let InspectorFrontendHostInstance: InspectorFrontendHostStub = window.InspectorFrontendHost;
365
365
 
366
366
  class InspectorFrontendAPIImpl {
367
- readonly #debugFrontend: boolean;
368
-
369
367
  constructor() {
370
- this.#debugFrontend = (Boolean(Root.Runtime.Runtime.queryParam('debugFrontend'))) ||
371
- // @ts-ignore Compatibility hacks
372
- (window['InspectorTest'] && window['InspectorTest']['debugTest']);
373
-
374
368
  for (const descriptor of EventDescriptors) {
375
369
  // @ts-ignore Dispatcher magic
376
370
  this[descriptor[1]] = this.dispatch.bind(this, descriptor[0], descriptor[2], descriptor[3]);
@@ -378,35 +372,27 @@ class InspectorFrontendAPIImpl {
378
372
  }
379
373
 
380
374
  private dispatch(name: symbol, signature: string[], runOnceLoaded: boolean, ...params: string[]): void {
381
- if (this.#debugFrontend) {
382
- setTimeout(() => innerDispatch(), 0);
383
- } else {
384
- innerDispatch();
385
- }
386
-
387
- function innerDispatch(): void {
388
- // Single argument methods get dispatched with the param.
389
- if (signature.length < 2) {
390
- try {
391
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
392
- InspectorFrontendHostInstance.events.dispatchEventToListeners<any>(name, params[0]);
393
- } catch (error) {
394
- console.error(error + ' ' + error.stack);
395
- }
396
- return;
397
- }
398
- const data: {
399
- [x: string]: string,
400
- } = {};
401
- for (let i = 0; i < signature.length; ++i) {
402
- data[signature[i]] = params[i];
403
- }
375
+ // Single argument methods get dispatched with the param.
376
+ if (signature.length < 2) {
404
377
  try {
405
378
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
406
- InspectorFrontendHostInstance.events.dispatchEventToListeners<any>(name, data);
379
+ InspectorFrontendHostInstance.events.dispatchEventToListeners<any>(name, params[0]);
407
380
  } catch (error) {
408
381
  console.error(error + ' ' + error.stack);
409
382
  }
383
+ return;
384
+ }
385
+ const data: {
386
+ [x: string]: string,
387
+ } = {};
388
+ for (let i = 0; i < signature.length; ++i) {
389
+ data[signature[i]] = params[i];
390
+ }
391
+ try {
392
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
393
+ InspectorFrontendHostInstance.events.dispatchEventToListeners<any>(name, data);
394
+ } catch (error) {
395
+ console.error(error + ' ' + error.stack);
410
396
  }
411
397
  }
412
398
 
@@ -378,6 +378,7 @@ export const PanelCodes: {
378
378
  'issues-pane': 37,
379
379
  'settings-keybinds': 38,
380
380
  'cssoverview': 39,
381
+ 'chrome_recorder': 40,
381
382
  };
382
383
 
383
384
  export const SidebarPaneCodes: {
@@ -401,6 +401,21 @@
401
401
  "core/sdk/DOMDebuggerModel.ts | xhr": {
402
402
  "message": "XHR"
403
403
  },
404
+ "core/sdk/EventBreakpointsModel.ts | auctionWorklet": {
405
+ "message": "Ad Auction Worklet"
406
+ },
407
+ "core/sdk/EventBreakpointsModel.ts | beforeBidderWorkletBiddingStart": {
408
+ "message": "Bidder Bidding Phase Start"
409
+ },
410
+ "core/sdk/EventBreakpointsModel.ts | beforeBidderWorkletReportingStart": {
411
+ "message": "Bidder Reporting Phase Start"
412
+ },
413
+ "core/sdk/EventBreakpointsModel.ts | beforeSellerWorkletReportingStart": {
414
+ "message": "Seller Reporting Phase Start"
415
+ },
416
+ "core/sdk/EventBreakpointsModel.ts | beforeSellerWorkletScoringStart": {
417
+ "message": "Seller Scoring Phase Start"
418
+ },
404
419
  "core/sdk/NetworkManager.ts | crossoriginReadBlockingCorb": {
405
420
  "message": "Cross-Origin Read Blocking (CORB) blocked cross-origin response {PH1} with MIME type {PH2}. See https://www.chromestatus.com/feature/5629709824032768 for more details."
406
421
  },
@@ -935,6 +950,9 @@
935
950
  "entrypoints/inspector_main/RenderingOptions.ts | forcesCssColorgamutMediaFeature": {
936
951
  "message": "Forces CSS color-gamut media feature"
937
952
  },
953
+ "entrypoints/inspector_main/RenderingOptions.ts | forcesCssForcedColors": {
954
+ "message": "Forces CSS forced-colors media feature"
955
+ },
938
956
  "entrypoints/inspector_main/RenderingOptions.ts | forcesCssPreferscolorschemeMedia": {
939
957
  "message": "Forces CSS prefers-color-scheme media feature"
940
958
  },
@@ -9147,7 +9165,7 @@
9147
9165
  "message": "Coverage: n/a"
9148
9166
  },
9149
9167
  "panels/sources/CoveragePlugin.ts | coverageS": {
9150
- "message": "Coverage: {PH1} %"
9168
+ "message": "Coverage: {PH1}"
9151
9169
  },
9152
9170
  "panels/sources/CoveragePlugin.ts | showDetails": {
9153
9171
  "message": "Show Details"
@@ -401,6 +401,21 @@
401
401
  "core/sdk/DOMDebuggerModel.ts | xhr": {
402
402
  "message": "X̂H́R̂"
403
403
  },
404
+ "core/sdk/EventBreakpointsModel.ts | auctionWorklet": {
405
+ "message": "Âd́ Âúĉt́îón̂ Ẃôŕk̂ĺêt́"
406
+ },
407
+ "core/sdk/EventBreakpointsModel.ts | beforeBidderWorkletBiddingStart": {
408
+ "message": "B̂íd̂d́êŕ B̂íd̂d́îńĝ Ṕĥáŝé Ŝt́âŕt̂"
409
+ },
410
+ "core/sdk/EventBreakpointsModel.ts | beforeBidderWorkletReportingStart": {
411
+ "message": "B̂íd̂d́êŕ R̂ép̂ór̂t́îńĝ Ṕĥáŝé Ŝt́âŕt̂"
412
+ },
413
+ "core/sdk/EventBreakpointsModel.ts | beforeSellerWorkletReportingStart": {
414
+ "message": "Ŝél̂ĺêŕ R̂ép̂ór̂t́îńĝ Ṕĥáŝé Ŝt́âŕt̂"
415
+ },
416
+ "core/sdk/EventBreakpointsModel.ts | beforeSellerWorkletScoringStart": {
417
+ "message": "Ŝél̂ĺêŕ Ŝćôŕîńĝ Ṕĥáŝé Ŝt́âŕt̂"
418
+ },
404
419
  "core/sdk/NetworkManager.ts | crossoriginReadBlockingCorb": {
405
420
  "message": "Ĉŕôśŝ-Ór̂íĝín̂ Ŕêád̂ B́l̂óĉḱîńĝ (ĆÔŔB̂) b́l̂óĉḱêd́ ĉŕôśŝ-ór̂íĝín̂ ŕêśp̂ón̂śê {PH1} ẃît́ĥ ḾÎḾÊ t́ŷṕê {PH2}. Śêé ĥt́t̂ṕŝ://ẃŵẃ.ĉh́r̂óm̂éŝt́ât́ûś.ĉóm̂/f́êát̂úr̂é/5629709824032768 f̂ór̂ ḿôŕê d́êt́âíl̂ś."
406
421
  },
@@ -935,6 +950,9 @@
935
950
  "entrypoints/inspector_main/RenderingOptions.ts | forcesCssColorgamutMediaFeature": {
936
951
  "message": "F̂ór̂ćêś ĈŚŜ color-gamut ḿêd́îá f̂éât́ûŕê"
937
952
  },
953
+ "entrypoints/inspector_main/RenderingOptions.ts | forcesCssForcedColors": {
954
+ "message": "F̂ór̂ćêś ĈŚŜ f́ôŕĉéd̂-ćôĺôŕŝ ḿêd́îá f̂éât́ûŕê"
955
+ },
938
956
  "entrypoints/inspector_main/RenderingOptions.ts | forcesCssPreferscolorschemeMedia": {
939
957
  "message": "F̂ór̂ćêś ĈŚŜ prefers-color-scheme ḿêd́îá f̂éât́ûŕê"
940
958
  },
@@ -9147,7 +9165,7 @@
9147
9165
  "message": "Ĉóv̂ér̂áĝé: n̂/á"
9148
9166
  },
9149
9167
  "panels/sources/CoveragePlugin.ts | coverageS": {
9150
- "message": "Ĉóv̂ér̂áĝé: {PH1} %"
9168
+ "message": "Ĉóv̂ér̂áĝé: {PH1}"
9151
9169
  },
9152
9170
  "panels/sources/CoveragePlugin.ts | showDetails": {
9153
9171
  "message": "Ŝh́ôẃ D̂ét̂áîĺŝ"
@@ -644,6 +644,10 @@ export class TargetBase {
644
644
  return this.getAgent('Emulation');
645
645
  }
646
646
 
647
+ eventBreakpointsAgent(): ProtocolProxyApi.EventBreakpointsApi {
648
+ return this.getAgent('EventBreakpoints');
649
+ }
650
+
647
651
  heapProfilerAgent(): ProtocolProxyApi.HeapProfilerApi {
648
652
  return this.getAgent('HeapProfiler');
649
653
  }
@@ -232,6 +232,10 @@ export class Runtime {
232
232
  getModulesMap(): {[x: string]: Module} {
233
233
  return this.modulesMap;
234
234
  }
235
+
236
+ loadLegacyModule(modulePath: string): Promise<void> {
237
+ return import(`../../${modulePath}`);
238
+ }
235
239
  }
236
240
 
237
241
  export class ModuleDescriptor {