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
@@ -67,7 +67,7 @@ export class Target extends ProtocolClient.InspectorBackend.TargetBase {
67
67
  this.#capabilitiesMask = Capability.JS;
68
68
  break;
69
69
  case Type.AuctionWorklet:
70
- this.#capabilitiesMask = Capability.JS;
70
+ this.#capabilitiesMask = Capability.JS | Capability.EventBreakpoints;
71
71
  break;
72
72
  case Type.Browser:
73
73
  this.#capabilitiesMask = Capability.Target | Capability.IO;
@@ -249,5 +249,6 @@ export enum Capability {
249
249
  WebAuthn = 1 << 16,
250
250
  IO = 1 << 17,
251
251
  Media = 1 << 18,
252
+ EventBreakpoints = 1 << 19,
252
253
  None = 0,
253
254
  }
@@ -3,8 +3,8 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as Common from '../common/common.js';
6
-
7
6
  import * as i18n from '../i18n/i18n.js';
7
+
8
8
  const UIStrings = {
9
9
  /**
10
10
  *@description Title of a setting under the Console category that can be invoked through the Command Menu
@@ -746,6 +746,35 @@ Common.Settings.registerSettingExtension({
746
746
  title: i18nLazyString(UIStrings.emulateCssMediaFeature, {PH1: 'prefers-color-scheme'}),
747
747
  });
748
748
 
749
+ Common.Settings.registerSettingExtension({
750
+ category: Common.Settings.SettingCategory.RENDERING,
751
+ settingName: 'emulatedCSSMediaFeatureForcedColors',
752
+ settingType: Common.Settings.SettingType.ENUM,
753
+ storageType: Common.Settings.SettingStorageType.Session,
754
+ defaultValue: '',
755
+ options: [
756
+ {
757
+ title: i18nLazyString(UIStrings.doNotEmulateCss, {PH1: 'forced-colors'}),
758
+ text: i18nLazyString(UIStrings.noEmulation),
759
+ value: '',
760
+ },
761
+ {
762
+ title: i18nLazyString(UIStrings.emulateCss, {PH1: 'forced-colors: active'}),
763
+ text: i18n.i18n.lockedLazyString('forced-colors: active'),
764
+ value: 'active',
765
+ },
766
+ {
767
+ title: i18nLazyString(UIStrings.emulateCss, {PH1: 'forced-colors: none'}),
768
+ text: i18n.i18n.lockedLazyString('forced-colors: none'),
769
+ value: 'none',
770
+ },
771
+ ],
772
+ tags: [
773
+ i18nLazyString(UIStrings.query),
774
+ ],
775
+ title: i18nLazyString(UIStrings.emulateCssMediaFeature, {PH1: 'forced-colors'}),
776
+ });
777
+
749
778
  Common.Settings.registerSettingExtension({
750
779
  category: Common.Settings.SettingCategory.RENDERING,
751
780
  settingName: 'emulatedCSSMediaFeaturePrefersReducedMotion',
@@ -11,6 +11,7 @@ import './NetworkManager.js';
11
11
  import './RuntimeModel.js';
12
12
 
13
13
  import * as AccessibilityModel from './AccessibilityModel.js';
14
+ import * as CategorizedBreakpoint from './CategorizedBreakpoint.js';
14
15
  import * as ChildTargetManager from './ChildTargetManager.js';
15
16
  import * as CompilerSourceMappingContentProvider from './CompilerSourceMappingContentProvider.js';
16
17
  import * as Connections from './Connections.js';
@@ -37,6 +38,7 @@ import * as DebuggerModel from './DebuggerModel.js';
37
38
  import * as DOMDebuggerModel from './DOMDebuggerModel.js';
38
39
  import * as DOMModel from './DOMModel.js';
39
40
  import * as EmulationModel from './EmulationModel.js';
41
+ import * as EventBreakpointsModel from './EventBreakpointsModel.js';
40
42
  import * as FilmStripModel from './FilmStripModel.js';
41
43
  import * as FrameManager from './FrameManager.js';
42
44
  import * as HeapProfilerModel from './HeapProfilerModel.js';
@@ -76,6 +78,7 @@ import * as WebAuthnModel from './WebAuthnModel.js';
76
78
 
77
79
  export {
78
80
  AccessibilityModel,
81
+ CategorizedBreakpoint,
79
82
  ChildTargetManager,
80
83
  CompilerSourceMappingContentProvider,
81
84
  Connections,
@@ -102,6 +105,7 @@ export {
102
105
  DOMDebuggerModel,
103
106
  DOMModel,
104
107
  EmulationModel,
108
+ EventBreakpointsModel,
105
109
  FilmStripModel,
106
110
  FrameManager,
107
111
  HeapProfilerModel,
@@ -187,6 +187,10 @@ const UIStrings = {
187
187
  * page from loading images with the WebP format.
188
188
  */
189
189
  disableWebpImageFormat: 'Disable `WebP` image format',
190
+ /**
191
+ * @description Explanation text for the 'Forces CSS forced-colors' setting in the Rendering tool.
192
+ */
193
+ forcesCssForcedColors: 'Forces CSS forced-colors media feature',
190
194
  };
191
195
  const str_ = i18n.i18n.registerUIStrings('entrypoints/inspector_main/RenderingOptions.ts', UIStrings);
192
196
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -263,13 +267,16 @@ export class RenderingOptionsView extends UI.Widget.VBox {
263
267
  i18nString(UIStrings.forcesCssPreferscolorschemeMedia),
264
268
  Common.Settings.Settings.instance().moduleSetting('emulatedCSSMediaFeaturePrefersColorScheme'));
265
269
  this.appendSelect(
266
- i18nString(UIStrings.forcesCssPrefersreducedmotion),
267
- Common.Settings.Settings.instance().moduleSetting('emulatedCSSMediaFeaturePrefersReducedMotion'));
270
+ i18nString(UIStrings.forcesCssForcedColors),
271
+ Common.Settings.Settings.instance().moduleSetting('emulatedCSSMediaFeatureForcedColors'));
268
272
  if (supportsPrefersContrast()) {
269
273
  this.appendSelect(
270
274
  i18nString(UIStrings.forcesCssPreferscontrastMedia),
271
275
  Common.Settings.Settings.instance().moduleSetting('emulatedCSSMediaFeaturePrefersContrast'));
272
276
  }
277
+ this.appendSelect(
278
+ i18nString(UIStrings.forcesCssPrefersreducedmotion),
279
+ Common.Settings.Settings.instance().moduleSetting('emulatedCSSMediaFeaturePrefersReducedMotion'));
273
280
  if (supportsPrefersReducedData()) {
274
281
  this.appendSelect(
275
282
  i18nString(UIStrings.forcesCssPrefersreduceddataMedia),
@@ -8,8 +8,8 @@
8
8
  padding: 12px;
9
9
  }
10
10
 
11
- [is=dt-checkbox] {
12
- margin: 0 0 10px 0;
11
+ [is="dt-checkbox"] {
12
+ margin: 0 0 10px;
13
13
  flex: none;
14
14
  }
15
15
 
@@ -223,8 +223,6 @@ let loadedInspectorMainModule: (typeof InspectorMain|undefined);
223
223
 
224
224
  async function loadMainModule(): Promise<typeof Main> {
225
225
  if (!loadedMainModule) {
226
- // Side-effect import resources in module.json
227
- await Root.Runtime.Runtime.instance().loadModulePromise('entrypoints/main');
228
226
  loadedMainModule = await import('./main.js');
229
227
  }
230
228
  return loadedMainModule;
@@ -237,8 +235,6 @@ async function loadMainModule(): Promise<typeof Main> {
237
235
 
238
236
  async function loadInspectorMainModule(): Promise<typeof InspectorMain> {
239
237
  if (!loadedInspectorMainModule) {
240
- // Side-effect import resources in module.json
241
- await Root.Runtime.Runtime.instance().loadModulePromise('entrypoints/inspector_main');
242
238
  loadedInspectorMainModule = await import('../inspector_main/inspector_main.js');
243
239
  }
244
240
  return loadedInspectorMainModule;
@@ -13,7 +13,7 @@
13
13
  flex: none;
14
14
  max-width: 600px;
15
15
  max-height: 202px;
16
- margin: 20px 0 5px 0;
16
+ margin: 20px 0 5px;
17
17
  }
18
18
 
19
19
  .network-discovery-list-empty {
@@ -25,7 +25,7 @@
25
25
  }
26
26
 
27
27
  .network-discovery-list-item {
28
- padding: 3px 5px 3px 5px;
28
+ padding: 3px 5px;
29
29
  height: 30px;
30
30
  display: flex;
31
31
  align-items: center;
@@ -20,4 +20,5 @@ import '../../models/persistence/persistence-legacy.js';
20
20
  import '../../models/extensions/extensions-legacy.js';
21
21
 
22
22
  import './shell-meta-files.js';
23
+ import '../main/main.js';
23
24
  // We generate the descriptors in this file, which depend on the runtime.
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "modules": [
3
- { "name": "entrypoints/main", "type": "autostart" },
4
3
  { "name": "ui/legacy", "type": "autostart" },
5
4
  { "name": "ui/legacy/components/text_editor", "type": "autostart" },
6
5
  { "name": "ui/legacy/components/source_frame", "type": "autostart" },
@@ -35,7 +35,7 @@
35
35
  }
36
36
 
37
37
  .file-system-list-item {
38
- padding: 3px 5px 3px 5px;
38
+ padding: 3px 5px;
39
39
  height: 30px;
40
40
  display: flex;
41
41
  align-items: center;
@@ -109,6 +109,6 @@
109
109
  * Always show an outline. Needed because we have a white background here.
110
110
  */
111
111
 
112
- .workspace-settings-tab .harmony-input[type=text]:not(.error-input):not(:invalid) {
112
+ .workspace-settings-tab .harmony-input[type="text"]:not(.error-input):not(:invalid) {
113
113
  box-shadow: var(--legacy-focus-ring-inactive-shadow);
114
114
  }
@@ -34,7 +34,7 @@ span.ax-value-undefined {
34
34
  text-decoration: line-through;
35
35
  }
36
36
 
37
- .tree-outline span[is=dt-icon-label] {
37
+ .tree-outline span[is="dt-icon-label"] {
38
38
  position: relative;
39
39
  left: -11px;
40
40
  }
@@ -60,7 +60,7 @@ span.ax-value-undefined {
60
60
  left: -2px;
61
61
  }
62
62
 
63
- .tree-outline span[is=dt-icon-label] + .ax-name {
63
+ .tree-outline span[is="dt-icon-label"] + .ax-name {
64
64
  margin-left: -11px;
65
65
  }
66
66
 
@@ -45,7 +45,7 @@
45
45
  -webkit-mask-size: 30px 10px;
46
46
  -webkit-mask-repeat: no-repeat;
47
47
  background-color: var(--color-syntax-7);
48
- content: '';
48
+ content: "";
49
49
  text-shadow: none;
50
50
  margin-right: -2px;
51
51
  height: 12px;
@@ -112,7 +112,7 @@ circle.animation-keyframe-point:active {
112
112
  }
113
113
 
114
114
  .animation-timeline-header::after {
115
- content: '';
115
+ content: "";
116
116
  height: calc(100% - 48px - 28px);
117
117
  position: absolute;
118
118
  width: 150px;
@@ -184,14 +184,14 @@ circle.animation-keyframe-point:active {
184
184
  height: 100%;
185
185
  width: 100%;
186
186
  top: 28px;
187
- border-left: 1px solid var(--color-syntax-1);
187
+ border-left: 1px solid var(--color-red);
188
188
  z-index: 2;
189
189
  cursor: col-resize;
190
190
  }
191
191
 
192
192
  .animation-scrubber-line {
193
193
  width: 11px;
194
- background: linear-gradient(to right, transparent 5px, var(--color-syntax-1) 5px, var(--color-syntax-1) 6px, transparent 6px);
194
+ background: linear-gradient(to right, transparent 5px, var(--color-red) 5px, var(--color-red) 6px, transparent 6px);
195
195
  position: absolute;
196
196
  top: -28px;
197
197
  height: 28px;
@@ -204,7 +204,7 @@ circle.animation-keyframe-point:active {
204
204
  width: 7px;
205
205
  height: 7px;
206
206
  transform: rotate(45deg);
207
- background: var(--color-syntax-1);
207
+ background: var(--color-red);
208
208
  position: absolute;
209
209
  left: 2px;
210
210
  top: 1px;
@@ -361,7 +361,7 @@ text.animation-timeline-grid-label {
361
361
 
362
362
  .animation-paused::before,
363
363
  .animation-paused::after {
364
- content: '';
364
+ content: "";
365
365
  background: var(--color-background);
366
366
  width: 7px;
367
367
  height: 20px;
@@ -54,7 +54,7 @@ button.link {
54
54
  }
55
55
 
56
56
  .inline-name::after {
57
- content: ':\u00a0';
57
+ content: ":\u00a0";
58
58
  }
59
59
 
60
60
  .inline-items {
@@ -122,7 +122,7 @@
122
122
 
123
123
  .database-query-result {
124
124
  position: relative;
125
- padding: 1px 22px 1px 22px;
125
+ padding: 1px 22px;
126
126
  min-height: 16px;
127
127
  margin-left: -22px;
128
128
  padding-right: 0;
@@ -18,7 +18,7 @@
18
18
  }
19
19
 
20
20
  li.storage-group-list-item {
21
- padding: 10px 8px 6px 8px;
21
+ padding: 10px 8px 6px;
22
22
  }
23
23
 
24
24
  li.storage-group-list-item:not(:first-child) {
@@ -26,14 +26,14 @@ export class CSPViolationBreakpointsSidebarPane extends CategorizedBreakpointsSi
26
26
  }
27
27
 
28
28
  protected getBreakpointFromPausedDetails(details: SDK.DebuggerModel.DebuggerPausedDetails):
29
- SDK.DOMDebuggerModel.CategorizedBreakpoint|null {
29
+ SDK.CategorizedBreakpoint.CategorizedBreakpoint|null {
30
30
  const breakpointType = details.auxData && details.auxData['violationType'] ? details.auxData['violationType'] : '';
31
31
  const breakpoints = SDK.DOMDebuggerModel.DOMDebuggerManager.instance().cspViolationBreakpoints();
32
32
  const breakpoint = breakpoints.find(x => x.type() === breakpointType);
33
33
  return breakpoint ? breakpoint : null;
34
34
  }
35
35
 
36
- protected toggleBreakpoint(breakpoint: SDK.DOMDebuggerModel.CategorizedBreakpoint, enabled: boolean): void {
36
+ protected toggleBreakpoint(breakpoint: SDK.CategorizedBreakpoint.CategorizedBreakpoint, enabled: boolean): void {
37
37
  breakpoint.setEnabled(enabled);
38
38
  SDK.DOMDebuggerModel.DOMDebuggerManager.instance().updateCSPViolationBreakpoints();
39
39
  }
@@ -24,10 +24,10 @@ export abstract class CategorizedBreakpointsSidebarPane extends UI.Widget.VBox {
24
24
  readonly #viewId: string;
25
25
  readonly #detailsPausedReason: Protocol.Debugger.PausedEventReason;
26
26
  readonly #categories: Map<string, Item>;
27
- readonly #breakpoints: Map<SDK.DOMDebuggerModel.CategorizedBreakpoint, Item>;
27
+ readonly #breakpoints: Map<SDK.CategorizedBreakpoint.CategorizedBreakpoint, Item>;
28
28
  #highlightedElement?: HTMLLIElement;
29
29
  constructor(
30
- categories: string[], breakpoints: SDK.DOMDebuggerModel.CategorizedBreakpoint[], viewId: string,
30
+ categories: string[], breakpoints: SDK.CategorizedBreakpoint.CategorizedBreakpoint[], viewId: string,
31
31
  detailsPausedReason: Protocol.Debugger.PausedEventReason) {
32
32
  super(true);
33
33
  this.#categoriesTreeOutline = new UI.TreeOutline.TreeOutlineInShadow();
@@ -66,7 +66,7 @@ export abstract class CategorizedBreakpointsSidebarPane extends UI.Widget.VBox {
66
66
  return this.#categories;
67
67
  }
68
68
 
69
- get breakpoints(): Map<SDK.DOMDebuggerModel.CategorizedBreakpoint, Item> {
69
+ get breakpoints(): Map<SDK.CategorizedBreakpoint.CategorizedBreakpoint, Item> {
70
70
  return this.#breakpoints;
71
71
  }
72
72
 
@@ -96,7 +96,7 @@ export abstract class CategorizedBreakpointsSidebarPane extends UI.Widget.VBox {
96
96
  this.#categories.set(name, {element: treeElement, checkbox: labelNode.checkboxElement});
97
97
  }
98
98
 
99
- protected createBreakpoint(breakpoint: SDK.DOMDebuggerModel.CategorizedBreakpoint): void {
99
+ protected createBreakpoint(breakpoint: SDK.CategorizedBreakpoint.CategorizedBreakpoint): void {
100
100
  const labelNode = UI.UIUtils.CheckboxLabel.create(breakpoint.title());
101
101
  labelNode.classList.add('source-code');
102
102
  labelNode.checkboxElement.addEventListener('click', this.breakpointCheckboxClicked.bind(this, breakpoint), true);
@@ -124,7 +124,7 @@ export abstract class CategorizedBreakpointsSidebarPane extends UI.Widget.VBox {
124
124
  }
125
125
 
126
126
  protected getBreakpointFromPausedDetails(_details: SDK.DebuggerModel.DebuggerPausedDetails):
127
- SDK.DOMDebuggerModel.CategorizedBreakpoint|null {
127
+ SDK.CategorizedBreakpoint.CategorizedBreakpoint|null {
128
128
  return null;
129
129
  }
130
130
 
@@ -180,11 +180,11 @@ export abstract class CategorizedBreakpointsSidebarPane extends UI.Widget.VBox {
180
180
  }
181
181
  }
182
182
 
183
- protected toggleBreakpoint(breakpoint: SDK.DOMDebuggerModel.CategorizedBreakpoint, enabled: boolean): void {
183
+ protected toggleBreakpoint(breakpoint: SDK.CategorizedBreakpoint.CategorizedBreakpoint, enabled: boolean): void {
184
184
  breakpoint.setEnabled(enabled);
185
185
  }
186
186
 
187
- private breakpointCheckboxClicked(breakpoint: SDK.DOMDebuggerModel.CategorizedBreakpoint): void {
187
+ private breakpointCheckboxClicked(breakpoint: SDK.CategorizedBreakpoint.CategorizedBreakpoint): void {
188
188
  const item = this.#breakpoints.get(breakpoint);
189
189
  if (!item) {
190
190
  return;
@@ -11,10 +11,13 @@ let eventListenerBreakpointsSidebarPaneInstance: EventListenerBreakpointsSidebar
11
11
 
12
12
  export class EventListenerBreakpointsSidebarPane extends CategorizedBreakpointsSidebarPane {
13
13
  private constructor() {
14
- const categories = SDK.DOMDebuggerModel.DOMDebuggerManager.instance().eventListenerBreakpoints().map(
15
- breakpoint => breakpoint.category());
14
+ let breakpoints: SDK.CategorizedBreakpoint.CategorizedBreakpoint[] =
15
+ SDK.DOMDebuggerModel.DOMDebuggerManager.instance().eventListenerBreakpoints();
16
+ const nonDomBreakpoints = SDK.EventBreakpointsModel.EventBreakpointsManager.instance().eventListenerBreakpoints();
17
+ breakpoints = breakpoints.concat(nonDomBreakpoints);
18
+
19
+ const categories = breakpoints.map(breakpoint => breakpoint.category());
16
20
  categories.sort();
17
- const breakpoints = SDK.DOMDebuggerModel.DOMDebuggerManager.instance().eventListenerBreakpoints();
18
21
  super(
19
22
  categories, breakpoints, 'sources.eventListenerBreakpoints', Protocol.Debugger.PausedEventReason.EventListener);
20
23
  }
@@ -27,10 +30,15 @@ export class EventListenerBreakpointsSidebarPane extends CategorizedBreakpointsS
27
30
  }
28
31
 
29
32
  getBreakpointFromPausedDetails(details: SDK.DebuggerModel.DebuggerPausedDetails):
30
- SDK.DOMDebuggerModel.CategorizedBreakpoint|null {
31
- return SDK.DOMDebuggerModel.DOMDebuggerManager.instance().resolveEventListenerBreakpoint(details.auxData as {
33
+ SDK.CategorizedBreakpoint.CategorizedBreakpoint|null {
34
+ const auxData = details.auxData as {
32
35
  eventName: string,
33
36
  targetName: string,
34
- });
37
+ };
38
+ const domBreakpoint = SDK.DOMDebuggerModel.DOMDebuggerManager.instance().resolveEventListenerBreakpoint(auxData);
39
+ if (domBreakpoint) {
40
+ return domBreakpoint;
41
+ }
42
+ return SDK.EventBreakpointsModel.EventBreakpointsManager.instance().resolveEventListenerBreakpoint(auxData);
35
43
  }
36
44
  }
@@ -15,10 +15,7 @@
15
15
 
16
16
  .breakpoint-condition {
17
17
  display: block;
18
- margin-top: 4px;
19
- margin-bottom: 4px;
20
- margin-left: 23px;
21
- margin-right: 8px;
18
+ margin: 4px 8px 4px 23px;
22
19
  }
23
20
 
24
21
  .breakpoint-condition-input {
@@ -42,7 +39,7 @@
42
39
  background-color: var(--legacy-focus-bg-color);
43
40
  }
44
41
 
45
- .breakpoint-entry [is=dt-checkbox] {
42
+ .breakpoint-entry [is="dt-checkbox"] {
46
43
  max-width: 100%;
47
44
  }
48
45
 
@@ -23,7 +23,7 @@
23
23
  }
24
24
 
25
25
  li .icon {
26
- margin: -3px -5px -3px -5px;
26
+ margin: -3px -5px;
27
27
  background: var(--color-background-elevation-2);
28
28
  }
29
29
 
@@ -4,12 +4,12 @@
4
4
  * found in the LICENSE file.
5
5
  */
6
6
 
7
- [slot=insertion-point-main] {
7
+ [slot="insertion-point-main"] {
8
8
  flex-direction: column;
9
9
  display: flex;
10
10
  }
11
11
 
12
- [slot=insertion-point-sidebar] {
12
+ [slot="insertion-point-sidebar"] {
13
13
  overflow: auto;
14
14
  }
15
15
 
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  #console-prompt .CodeMirror {
8
- padding: 3px 0 1px 0;
8
+ padding: 3px 0 1px;
9
9
  }
10
10
 
11
11
  #console-prompt .CodeMirror-line {
@@ -19,7 +19,7 @@
19
19
  margin: 0 8px;
20
20
  }
21
21
 
22
- [is=ui-icon] {
22
+ [is="ui-icon"] {
23
23
  margin: 0 5px;
24
24
  }
25
25
 
@@ -48,7 +48,7 @@ li .largeicon-navigator-folder {
48
48
  }
49
49
 
50
50
  @media (forced-colors: active) {
51
- [is=ui-icon].icon-mask {
51
+ [is="ui-icon"].icon-mask {
52
52
  background-color: ButtonText;
53
53
  }
54
54
 
@@ -65,8 +65,8 @@ li .largeicon-navigator-folder {
65
65
  color: HighlightText;
66
66
  }
67
67
 
68
- .tree-outline li:hover [is=ui-icon].icon-mask,
69
- .tree-outline li.selected [is=ui-icon].icon-mask,
68
+ .tree-outline li:hover [is="ui-icon"].icon-mask,
69
+ .tree-outline li.selected [is="ui-icon"].icon-mask,
70
70
  .tree-outline li.selected:focus .spritesheet-mediumicons:not(.icon-mask) {
71
71
  background-color: HighlightText !important; /* stylelint-disable-line declaration-no-important */
72
72
  }
@@ -462,7 +462,7 @@
462
462
 
463
463
  @media (forced-colors: active) {
464
464
  .console-message-expand-icon,
465
- .console-warning-level [is=ui-icon].icon-mask.expand-group-icon {
465
+ .console-warning-level [is="ui-icon"].icon-mask.expand-group-icon {
466
466
  forced-color-adjust: none;
467
467
  background-color: ButtonText;
468
468
  }
@@ -493,7 +493,7 @@
493
493
  color: HighlightText;
494
494
  }
495
495
 
496
- .console-message-wrapper:focus [is=ui-icon].icon-mask {
496
+ .console-message-wrapper:focus [is="ui-icon"].icon-mask {
497
497
  background-color: HighlightText;
498
498
  }
499
499
 
@@ -84,7 +84,7 @@ h1 {
84
84
  font-size: 13px;
85
85
  line-height: 20px;
86
86
  letter-spacing: 0.01em;
87
- margin: 9px 0 14px 0;
87
+ margin: 9px 0 14px;
88
88
  }
89
89
 
90
90
  .preview-icon {
@@ -28,7 +28,7 @@
28
28
 
29
29
  .overview-completed-view .colors ul li {
30
30
  display: inline-block;
31
- margin: 0 0 16px 0;
31
+ margin: 0 0 16px;
32
32
  padding: 0 8px 0 0;
33
33
  }
34
34
 
@@ -111,7 +111,7 @@
111
111
  font-size: 15px;
112
112
  font-weight: normal;
113
113
  padding: 0;
114
- margin: 0 0 20px 0;
114
+ margin: 0 0 20px;
115
115
  padding-left: calc(var(--overview-default-padding) + var(--overview-icon-padding));
116
116
  position: relative;
117
117
  height: 26px;
@@ -119,7 +119,7 @@
119
119
  }
120
120
 
121
121
  .results-section h1::before {
122
- content: '';
122
+ content: "";
123
123
  display: block;
124
124
  position: absolute;
125
125
  left: var(--overview-default-padding);
@@ -264,14 +264,14 @@
264
264
  .overview-completed-view .font-info h2 {
265
265
  font-size: 14px;
266
266
  font-weight: bold;
267
- margin: 0 0 1em 0;
267
+ margin: 0 0 1em;
268
268
  }
269
269
 
270
270
  .overview-completed-view .font-info h3 {
271
271
  font-size: 13px;
272
272
  font-weight: normal;
273
273
  font-style: italic;
274
- margin: 0 0 0.5em 0;
274
+ margin: 0 0 0.5em;
275
275
  }
276
276
 
277
277
  .overview-completed-view .font-info {
@@ -300,7 +300,7 @@
300
300
  width: 30px;
301
301
  }
302
302
 
303
- .contrast-warning [is=ui-icon] {
303
+ .contrast-warning [is="ui-icon"] {
304
304
  margin-left: 5px;
305
305
  }
306
306
 
@@ -318,11 +318,11 @@
318
318
  min-width: initial;
319
319
  }
320
320
 
321
- [is=ui-icon].smallicon-checkmark-square {
321
+ [is="ui-icon"].smallicon-checkmark-square {
322
322
  background-color: var(--color-green);
323
323
  }
324
324
 
325
- [is=ui-icon].smallicon-no {
325
+ [is="ui-icon"].smallicon-no {
326
326
  background-color: var(--color-red);
327
327
  }
328
328
 
@@ -16,7 +16,7 @@
16
16
  justify-content: flex-start;
17
17
  }
18
18
 
19
- .styles-element-classes-pane [is=dt-checkbox] {
19
+ .styles-element-classes-pane [is="dt-checkbox"] {
20
20
  margin-right: 15px;
21
21
  }
22
22
 
@@ -44,7 +44,7 @@
44
44
 
45
45
  .close::before,
46
46
  .close::after {
47
- content: '';
47
+ content: "";
48
48
  display: inline-block;
49
49
  position: absolute;
50
50
  left: 0;
@@ -32,7 +32,7 @@
32
32
  }
33
33
 
34
34
  .group-title > h1 {
35
- margin: 1px 0 0 0;
35
+ margin: 1px 0 0;
36
36
  padding: 1em 0;
37
37
  width: 100%;
38
38
  cursor: pointer;
@@ -30,7 +30,7 @@
30
30
  #elements-content {
31
31
  flex: 1 1;
32
32
  overflow: auto;
33
- padding: 2px 0 0 0;
33
+ padding: 2px 0 0;
34
34
  }
35
35
 
36
36
  .style-panes-wrapper {
@@ -67,7 +67,7 @@
67
67
  user-select: none;
68
68
  -webkit-mask-image: var(--image-file-treeoutlineTriangles);
69
69
  -webkit-mask-size: 32px 24px;
70
- content: '\A0\A0';
70
+ content: "\A0\A0";
71
71
  color: transparent;
72
72
  text-shadow: none;
73
73
  margin-right: -3px;
@@ -160,7 +160,7 @@
160
160
  }
161
161
  /* We set dimensions for the invisible input to support quick highlight a11y feature
162
162
  that uses the dimensions to draw an outline around the element. */
163
- .color-picker-label input[type=color] {
163
+ .color-picker-label input[type="color"] {
164
164
  width: 100%;
165
165
  height: 100%;
166
166
  position: absolute;