chrome-devtools-frontend 1.0.938150 → 1.0.939277

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 (125) hide show
  1. package/.stylelintrc.json +15 -11
  2. package/config/gni/all_devtools_files.gni +0 -1
  3. package/config/gni/devtools_grd_files.gni +0 -1
  4. package/front_end/Images/whatsnew.avif +0 -0
  5. package/front_end/Tests.js +30 -29
  6. package/front_end/core/host/InspectorFrontendHost.ts +16 -30
  7. package/front_end/core/host/InspectorFrontendHostAPI.ts +1 -0
  8. package/front_end/core/host/UserMetrics.ts +25 -0
  9. package/front_end/core/i18n/locales/en-US.json +4 -1
  10. package/front_end/core/i18n/locales/en-XL.json +4 -1
  11. package/front_end/core/sdk/CSSModel.ts +64 -50
  12. package/front_end/core/sdk/EmulationModel.ts +11 -0
  13. package/front_end/core/sdk/sdk-meta.ts +30 -1
  14. package/front_end/entrypoints/devtools_app/devtools_app.json +0 -1
  15. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +9 -2
  16. package/front_end/entrypoints/inspector_main/renderingOptions.css +2 -2
  17. package/front_end/entrypoints/main/MainImpl.ts +14 -0
  18. package/front_end/entrypoints/main/main-meta.ts +0 -2
  19. package/front_end/entrypoints/node_main/nodeConnectionsPanel.css +2 -2
  20. package/front_end/entrypoints/worker_app/worker_app.json +0 -1
  21. package/front_end/legacy_test_runner/test_runner/test_runner.js +2 -4
  22. package/front_end/models/persistence/editFileSystemView.css +1 -1
  23. package/front_end/models/persistence/workspaceSettingsTab.css +1 -1
  24. package/front_end/panels/accessibility/accessibilityNode.css +2 -2
  25. package/front_end/panels/accessibility/axBreadcrumbs.css +1 -1
  26. package/front_end/panels/animation/animationTimeline.css +5 -5
  27. package/front_end/panels/application/components/frameDetailsReportView.css +1 -1
  28. package/front_end/panels/application/resourcesPanel.css +1 -1
  29. package/front_end/panels/application/resourcesSidebar.css +1 -1
  30. package/front_end/panels/browser_debugger/browser_debugger-meta.ts +0 -3
  31. package/front_end/panels/browser_debugger/xhrBreakpointsSidebarPane.css +2 -5
  32. package/front_end/panels/changes/changesSidebar.css +1 -1
  33. package/front_end/panels/changes/changesView.css +2 -2
  34. package/front_end/panels/console/consolePrompt.css +1 -1
  35. package/front_end/panels/console/consoleSidebar.css +4 -4
  36. package/front_end/panels/console/consoleView.css +2 -2
  37. package/front_end/panels/css_overview/components/cssOverviewStartView.css +1 -1
  38. package/front_end/panels/css_overview/cssOverviewCompletedView.css +8 -8
  39. package/front_end/panels/elements/classesPaneWidget.css +1 -1
  40. package/front_end/panels/elements/components/adornerSettingsPane.css +1 -1
  41. package/front_end/panels/elements/computedStyleWidgetTree.css +1 -1
  42. package/front_end/panels/elements/elementsPanel.css +1 -1
  43. package/front_end/panels/elements/elementsTreeOutline.css +1 -1
  44. package/front_end/panels/elements/layoutPane.css +1 -1
  45. package/front_end/panels/elements/platformFontsWidget.css +1 -1
  46. package/front_end/panels/elements/stylesSectionTree.css +1 -1
  47. package/front_end/panels/event_listeners/EventListenersView.ts +5 -4
  48. package/front_end/panels/event_listeners/eventListenersView.css +3 -2
  49. package/front_end/panels/help/ReleaseNoteText.ts +28 -0
  50. package/front_end/panels/issues/IssueKindView.ts +0 -6
  51. package/front_end/panels/issues/IssueView.ts +19 -27
  52. package/front_end/panels/issues/components/HideIssuesMenu.ts +7 -11
  53. package/front_end/panels/issues/components/hideIssuesMenu.css +8 -0
  54. package/front_end/panels/issues/issuesTree.css +17 -5
  55. package/front_end/panels/lighthouse/lighthouseStartView.css +2 -2
  56. package/front_end/panels/media/playerListView.css +1 -1
  57. package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +1 -1
  58. package/front_end/panels/network/NetworkLogView.ts +13 -0
  59. package/front_end/panels/network/NetworkSearchScope.ts +3 -1
  60. package/front_end/panels/network/blockedURLsPane.css +1 -1
  61. package/front_end/panels/network/networkConfigView.css +1 -1
  62. package/front_end/panels/network/networkLogView.css +3 -3
  63. package/front_end/panels/profiler/profileLauncherView.css +3 -3
  64. package/front_end/panels/security/mainView.css +2 -2
  65. package/front_end/panels/security/originView.css +1 -1
  66. package/front_end/panels/sensors/sensors.css +2 -2
  67. package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +1 -1
  68. package/front_end/panels/settings/emulation/devicesSettingsTab.css +4 -4
  69. package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +1 -1
  70. package/front_end/panels/settings/settingsScreen.css +2 -2
  71. package/front_end/panels/sources/CoveragePlugin.ts +7 -2
  72. package/front_end/panels/sources/JavaScriptBreakpointsSidebarPane.ts +14 -17
  73. package/front_end/panels/sources/callStackSidebarPane.css +1 -1
  74. package/front_end/panels/sources/dialog.css +1 -1
  75. package/front_end/panels/sources/javaScriptBreakpointsSidebarPane.css +19 -45
  76. package/front_end/panels/sources/navigatorTree.css +4 -4
  77. package/front_end/panels/sources/sourcesPanel.css +2 -2
  78. package/front_end/panels/sources/threadsSidebarPane.css +1 -1
  79. package/front_end/panels/timeline/components/WebVitalsTooltip.css +1 -1
  80. package/front_end/panels/timeline/historyToolbarButton.css +1 -1
  81. package/front_end/panels/timeline/timelineStatusDialog.css +1 -1
  82. package/front_end/panels/webauthn/webauthnPane.css +2 -2
  83. package/front_end/ui/components/adorners/adorner.css +1 -1
  84. package/front_end/ui/components/expandable_list/expandableList.css +1 -1
  85. package/front_end/ui/components/linear_memory_inspector/valueInterpreterDisplay.css +1 -2
  86. package/front_end/ui/components/linear_memory_inspector/valueInterpreterSettings.css +1 -1
  87. package/front_end/ui/components/report_view/reportKey.css +1 -1
  88. package/front_end/ui/components/report_view/reportValue.css +1 -1
  89. package/front_end/ui/components/settings/settingCheckbox.css +5 -0
  90. package/front_end/ui/legacy/ContextMenu.ts +10 -3
  91. package/front_end/ui/legacy/SoftContextMenu.ts +9 -2
  92. package/front_end/ui/legacy/checkboxTextLabel.css +5 -1
  93. package/front_end/ui/legacy/components/color_picker/spectrum.css +9 -9
  94. package/front_end/ui/legacy/components/data_grid/dataGrid.css +2 -2
  95. package/front_end/ui/legacy/components/inline_editor/cssAngleEditor.css +3 -3
  96. package/front_end/ui/legacy/components/inline_editor/cssLength.css +1 -1
  97. package/front_end/ui/legacy/components/inline_editor/cssShadowEditor.css +1 -1
  98. package/front_end/ui/legacy/components/inline_editor/fontEditor.css +1 -1
  99. package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +2 -2
  100. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +13 -7
  101. package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +2 -2
  102. package/front_end/ui/legacy/components/source_frame/imageView.css +1 -1
  103. package/front_end/ui/legacy/components/text_editor/cmdevtools.css +6 -14
  104. package/front_end/ui/legacy/emptyWidget.css +1 -1
  105. package/front_end/ui/legacy/filter.css +1 -1
  106. package/front_end/ui/legacy/infobar.css +2 -2
  107. package/front_end/ui/legacy/inspectorCommon.css +49 -45
  108. package/front_end/ui/legacy/inspectorSyntaxHighlight.css +3 -3
  109. package/front_end/ui/legacy/inspectorViewTabbedPane.css +1 -1
  110. package/front_end/ui/legacy/searchableView.css +1 -1
  111. package/front_end/ui/legacy/softContextMenu.css +11 -1
  112. package/front_end/ui/legacy/textPrompt.css +1 -1
  113. package/front_end/ui/legacy/themeColors.css +1 -0
  114. package/front_end/ui/legacy/toolbar.css +8 -8
  115. package/front_end/ui/legacy/treeoutline.css +4 -4
  116. package/inspector_overlay/common.css +2 -2
  117. package/inspector_overlay/tool_highlight.css +1 -1
  118. package/inspector_overlay/tool_paused.css +2 -2
  119. package/package.json +1 -1
  120. package/scripts/eslint_rules/lib/es_modules_import.js +21 -20
  121. package/scripts/eslint_rules/lib/l10n_filename_matches.js +4 -3
  122. package/scripts/eslint_rules/lib/migrate_create_shadow_root_with_styles.js +2 -2
  123. package/scripts/eslint_rules/lib/migrate_register_required_css.js +1 -1
  124. package/scripts/eslint_rules/tests/es_modules_import_test.js +3 -2
  125. package/front_end/panels/browser_debugger/module.json +0 -3
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  .breakpoint-entry {
8
- padding: 3px 8px 3px 8px;
8
+ padding: 3px 0;
9
9
  min-height: 18px;
10
10
  line-height: 15px;
11
11
  border-top: 1px solid var(--color-details-hairline-light);
@@ -15,71 +15,45 @@
15
15
  background-color: var(--legacy-focus-bg-color);
16
16
  }
17
17
 
18
- .breakpoint-entry [is=dt-checkbox] {
18
+ .breakpoint-entry [is="dt-checkbox"] {
19
19
  max-width: 100%;
20
20
  white-space: nowrap;
21
+ border-left-width: 3px;
21
22
  }
22
23
 
23
24
  :not(.breakpoints-list-deactivated) > .breakpoint-entry:hover {
24
25
  background-color: var(--color-background-elevation-1);
25
26
  }
26
27
 
27
- .breakpoint-entry > .decoration-and-source {
28
- display: flex;
29
- }
30
-
31
- .breakpoint-entry .breakpoint {
32
- content: var(--inline-breakpoint-enabled);
33
- height: 12px;
34
- top: 1px;
35
- position: relative;
36
- width: 11px;
37
- margin-left: 3px;
38
- margin-right: 3px;
39
-
40
- --inline-breakpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%234285F4" stroke="%231A73E8"/></svg>');
41
- --inline-breakpoint-disabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%234285F4" fill-opacity="0.2" stroke="%231A73E8"/></svg>');
42
- --inline-conditional-breakpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.75489 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.75489 11.2583 6.29382 11.5 5.80138 11.5H0.5V0.5Z" fill="%23F29900" stroke="%23E37400"/><path d="M3.51074 7.75635H4.68408V9H3.51074V7.75635ZM4.68408 7.23779H3.51074V6.56104C3.51074 6.271 3.55615 6.02344 3.64697 5.81836C3.73779 5.61328 3.90039 5.39648 4.13477 5.16797L4.53027 4.77686C4.71484 4.59814 4.83936 4.4502 4.90381 4.33301C4.97119 4.21582 5.00488 4.09424 5.00488 3.96826C5.00488 3.77197 4.9375 3.62402 4.80273 3.52441C4.66797 3.4248 4.46582 3.375 4.19629 3.375C3.9502 3.375 3.69238 3.42773 3.42285 3.5332C3.15625 3.63574 2.88232 3.78955 2.60107 3.99463V2.81689C2.88818 2.65283 3.17822 2.52979 3.47119 2.44775C3.76709 2.36279 4.06299 2.32031 4.35889 2.32031C4.95068 2.32031 5.41504 2.45801 5.75195 2.7334C6.08887 3.00879 6.25732 3.38818 6.25732 3.87158C6.25732 4.09424 6.20752 4.30225 6.10791 4.49561C6.0083 4.68604 5.8208 4.91602 5.54541 5.18555L5.15869 5.56348C4.95947 5.75684 4.83203 5.91504 4.77637 6.03809C4.7207 6.16113 4.69287 6.31201 4.69287 6.49072C4.69287 6.51709 4.69141 6.54785 4.68848 6.58301C4.68848 6.61816 4.68701 6.65625 4.68408 6.69727V7.23779Z" fill="white"/></svg>');
43
- --inline-conditional-breakpoint-disabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.75489 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.75489 11.2583 6.29382 11.5 5.80138 11.5H0.5V0.5Z" fill="%23F9AB00" fill-opacity="0.2" stroke="%23E37400"/><path d="M3.51074 7.75635H4.68408V9H3.51074V7.75635ZM4.68408 7.23779H3.51074V6.56104C3.51074 6.271 3.55615 6.02344 3.64697 5.81836C3.73779 5.61328 3.90039 5.39648 4.13477 5.16797L4.53027 4.77686C4.71484 4.59814 4.83936 4.4502 4.90381 4.33301C4.97119 4.21582 5.00488 4.09424 5.00488 3.96826C5.00488 3.77197 4.9375 3.62402 4.80273 3.52441C4.66797 3.4248 4.46582 3.375 4.19629 3.375C3.9502 3.375 3.69238 3.42773 3.42285 3.5332C3.15625 3.63574 2.88232 3.78955 2.60107 3.99463V2.81689C2.88818 2.65283 3.17822 2.52979 3.47119 2.44775C3.76709 2.36279 4.06299 2.32031 4.35889 2.32031C4.95068 2.32031 5.41504 2.45801 5.75195 2.7334C6.08887 3.00879 6.25732 3.38818 6.25732 3.87158C6.25732 4.09424 6.20752 4.30225 6.10791 4.49561C6.0083 4.68604 5.8208 4.91602 5.54541 5.18555L5.15869 5.56348C4.95947 5.75684 4.83203 5.91504 4.77637 6.03809C4.7207 6.16113 4.69287 6.31201 4.69287 6.49072C4.69287 6.51709 4.69141 6.54785 4.68848 6.58301C4.68848 6.61816 4.68701 6.65625 4.68408 6.69727V7.23779Z" fill="%23E37400"/></svg>');
44
- --inline-logpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%23F439A0" stroke="%23D01884"/><circle cx="3" cy="6" r="1" fill="white"/><circle cx="7" cy="6" r="1" fill="white"/></svg>');
45
- --inline-logpoint-disabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%23F439A0" fill-opacity="0.2" stroke="%23D01884"/><circle cx="3" cy="6" r="1" fill="%23D01884"/><circle cx="7" cy="6" r="1" fill="%23D01884"/></svg>');
46
- }
47
-
48
- .breakpoint-entry .breakpoint.disabled,
49
- .breakpoints-list-deactivated .breakpoint-entry .breakpoint {
50
- content: var(--inline-breakpoint-disabled);
51
- }
52
-
53
- :host-context(.-theme-with-dark-background) .breakpoint-entry .breakpoint {
54
- --inline-breakpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%235186EC" stroke="%231A73E8"/></svg>');
55
- --inline-conditional-breakpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.75489 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.75489 11.2583 6.29382 11.5 5.80138 11.5H0.5V0.5Z" fill="%23e9a33a" stroke="%23E37400"/><path d="M3.51074 7.75635H4.68408V9H3.51074V7.75635ZM4.68408 7.23779H3.51074V6.56104C3.51074 6.271 3.55615 6.02344 3.64697 5.81836C3.73779 5.61328 3.90039 5.39648 4.13477 5.16797L4.53027 4.77686C4.71484 4.59814 4.83936 4.4502 4.90381 4.33301C4.97119 4.21582 5.00488 4.09424 5.00488 3.96826C5.00488 3.77197 4.9375 3.62402 4.80273 3.52441C4.66797 3.4248 4.46582 3.375 4.19629 3.375C3.9502 3.375 3.69238 3.42773 3.42285 3.5332C3.15625 3.63574 2.88232 3.78955 2.60107 3.99463V2.81689C2.88818 2.65283 3.17822 2.52979 3.47119 2.44775C3.76709 2.36279 4.06299 2.32031 4.35889 2.32031C4.95068 2.32031 5.41504 2.45801 5.75195 2.7334C6.08887 3.00879 6.25732 3.38818 6.25732 3.87158C6.25732 4.09424 6.20752 4.30225 6.10791 4.49561C6.0083 4.68604 5.8208 4.91602 5.54541 5.18555L5.15869 5.56348C4.95947 5.75684 4.83203 5.91504 4.77637 6.03809C4.7207 6.16113 4.69287 6.31201 4.69287 6.49072C4.69287 6.51709 4.69141 6.54785 4.68848 6.58301C4.68848 6.61816 4.68701 6.65625 4.68408 6.69727V7.23779Z" fill="white"/></svg>');
56
- --inline-logpoint-enabled: url('data:image/svg+xml,<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 0.5H5.80139C6.29382 0.5 6.7549 0.741701 7.03503 1.14669L10.392 6L7.03503 10.8533C6.7549 11.2583 6.29382 11.5 5.80139 11.5H0.5V0.5Z" fill="%23E54D9B" stroke="%23D01884"/><circle cx="3" cy="6" r="1" fill="white"/><circle cx="7" cy="6" r="1" fill="white"/></svg>');
57
- }
28
+ .decoration-and-content {
29
+ --override-color-breakpoint-conditional: #f29900;
30
+ --override-color-logpoint: #f439a0;
58
31
 
59
- .breakpoint-entry .breakpoint-conditional {
60
- content: var(--inline-conditional-breakpoint-enabled);
32
+ padding: 0 8px;
33
+ border-left: 4px solid;
34
+ border-color: transparent;
61
35
  }
62
36
 
63
- .breakpoint-entry .breakpoint-conditional.disabled,
64
- .breakpoints-list-deactivated .breakpoint-entry .breakpoint-conditional {
65
- content: var(--inline-conditional-breakpoint-disabled);
37
+ .-theme-with-dark-background .decoration-and-content,
38
+ :host-context(.-theme-with-dark-background) .decoration-and-content {
39
+ --override-color-breakpoint-conditional: #e9a33a;
40
+ --override-color-logpoint: #e54d9b;
66
41
  }
67
42
 
68
- .breakpoint-entry .logpoint {
69
- content: var(--inline-logpoint-enabled);
43
+ .decoration-and-content.breakpoint-conditional {
44
+ border-color: var(--override-color-breakpoint-conditional);
70
45
  }
71
46
 
72
- .breakpoint-entry .logpoint.disabled,
73
- .breakpoints-list-deactivated .breakpoint-entry .logpoint {
74
- content: var(--inline-logpoint-disabled);
47
+ .decoration-and-content.logpoint {
48
+ border-color: var(--override-color-logpoint);
75
49
  }
76
50
 
77
- .breakpoint-entry .source-text {
51
+ .decoration-and-content > .source-text {
78
52
  cursor: pointer;
79
53
  text-overflow: ellipsis;
80
54
  overflow: hidden;
81
55
  white-space: nowrap;
82
- margin-left: 4px;
56
+ margin-left: 22px;
83
57
  }
84
58
 
85
59
  .breakpoints-list-deactivated {
@@ -33,7 +33,7 @@
33
33
 
34
34
  .icon,
35
35
  .icon-badge {
36
- margin: -3px -5px -3px -5px;
36
+ margin: -3px -5px;
37
37
  }
38
38
 
39
39
  .icon-stack {
@@ -41,7 +41,7 @@
41
41
  display: inline-flex;
42
42
  }
43
43
 
44
- .icon-stack > [is=ui-icon]:not(:first-child) {
44
+ .icon-stack > [is="ui-icon"]:not(:first-child) {
45
45
  position: absolute;
46
46
  left: 0;
47
47
  top: 0;
@@ -124,7 +124,7 @@
124
124
  }
125
125
 
126
126
  @media (forced-colors: active) {
127
- .tree-outline li .leading-icons [is=ui-icon].icon-mask {
127
+ .tree-outline li .leading-icons [is="ui-icon"].icon-mask {
128
128
  background: ButtonText;
129
129
  }
130
130
 
@@ -134,7 +134,7 @@
134
134
  }
135
135
 
136
136
  .tree-outline:not(.hide-selection-when-blurred) li.parent:hover:not(.selected)::before,
137
- .tree-outline:not(.hide-selection-when-blurred) li:hover:not(.selected) [is=ui-icon].icon-mask {
137
+ .tree-outline:not(.hide-selection-when-blurred) li:hover:not(.selected) [is="ui-icon"].icon-mask {
138
138
  background-color: HighlightText;
139
139
  }
140
140
 
@@ -51,13 +51,13 @@
51
51
  margin-top: 0;
52
52
  }
53
53
 
54
- .scripts-debug-toolbar-drawer > [is=dt-checkbox] {
54
+ .scripts-debug-toolbar-drawer > [is="dt-checkbox"] {
55
55
  display: none;
56
56
  padding-left: 3px;
57
57
  height: 28px;
58
58
  }
59
59
 
60
- .scripts-debug-toolbar-drawer.expanded > [is=dt-checkbox] {
60
+ .scripts-debug-toolbar-drawer.expanded > [is="dt-checkbox"] {
61
61
  display: flex;
62
62
  }
63
63
 
@@ -35,7 +35,7 @@
35
35
  .thread-item-paused-state {
36
36
  color: var(--color-text-disabled);
37
37
  margin-left: auto;
38
- padding: 0 10px 0 10px;
38
+ padding: 0 10px;
39
39
  }
40
40
 
41
41
  .selected-thread-icon {
@@ -59,7 +59,7 @@
59
59
  .bad {
60
60
  display: block;
61
61
  border: 1px solid transparent;
62
- border-width: 0 6px 12px 6px;
62
+ border-width: 0 6px 12px;
63
63
  border-bottom-color: var(--lighthouse-red);
64
64
  width: 0;
65
65
  }
@@ -45,7 +45,7 @@
45
45
  opacity: 100%;
46
46
  }
47
47
 
48
- .history-dropdown-button[disabled] [is=ui-icon].icon-mask {
48
+ .history-dropdown-button[disabled] [is="ui-icon"].icon-mask {
49
49
  background-color: GrayText;
50
50
  }
51
51
  }
@@ -7,7 +7,7 @@
7
7
  .timeline-status-dialog {
8
8
  display: flex;
9
9
  flex-direction: column;
10
- padding: 16px 16px 12px 16px;
10
+ padding: 16px 16px 12px;
11
11
  align-self: center;
12
12
  background-color: var(--color-background);
13
13
  box-shadow: var(--drop-shadow);
@@ -39,7 +39,7 @@
39
39
 
40
40
  .new-authenticator-container {
41
41
  display: none;
42
- margin: 10px 10px;
42
+ margin: 10px;
43
43
  }
44
44
 
45
45
  .webauthn-pane.enabled .new-authenticator-container {
@@ -97,7 +97,7 @@
97
97
  }
98
98
 
99
99
  .authenticator-field-value {
100
- padding: 5px 0 5px 0;
100
+ padding: 5px 0;
101
101
  display: inline-block;
102
102
  font-family: monospace;
103
103
  }
@@ -33,7 +33,7 @@ slot {
33
33
  border-color: var(--override-adorner-focus-border-color, var(--color-primary));
34
34
  }
35
35
 
36
- :host([aria-pressed=true]) slot {
36
+ :host([aria-pressed="true"]) slot {
37
37
  color: var(--override-adorner-active-text-color, var(--color-background));
38
38
  background-color: var(--override-adorner-active-background-color, var(--color-primary));
39
39
  border: 1px solid var(--override-adorner-active-background-color, var(--color-primary));
@@ -17,7 +17,7 @@ div {
17
17
 
18
18
  .arrow-icon {
19
19
  display: inline-block;
20
- -webkit-mask-image: url(Images/treeoutlineTriangles.svg);
20
+ -webkit-mask-image: url("Images/treeoutlineTriangles.svg");
21
21
  -webkit-mask-size: 32px 24px;
22
22
  -webkit-mask-position: 0 0;
23
23
  background-color: var(--color-text-primary);
@@ -17,8 +17,7 @@
17
17
  width: 100%;
18
18
  display: grid;
19
19
  grid-template-columns: auto auto 1fr;
20
- grid-column-gap: 24px;
21
- grid-row-gap: 4px;
20
+ gap: 4px 24px;
22
21
  min-height: 24px;
23
22
  overflow: hidden;
24
23
  padding: 2px 12px;
@@ -13,7 +13,7 @@
13
13
  .settings {
14
14
  display: flex;
15
15
  flex-wrap: wrap;
16
- margin: 0 12px 12px 12px;
16
+ margin: 0 12px 12px;
17
17
  column-gap: 45px;
18
18
  row-gap: 15px;
19
19
  }
@@ -6,7 +6,7 @@
6
6
 
7
7
  :host {
8
8
  line-height: 28px;
9
- margin: 0 0 8px 0;
9
+ margin: 0 0 8px;
10
10
  }
11
11
 
12
12
  .key {
@@ -6,7 +6,7 @@
6
6
 
7
7
  :host {
8
8
  line-height: 28px;
9
- margin: 0 0 8px 0;
9
+ margin: 0 0 8px;
10
10
  min-width: 150px;
11
11
  }
12
12
 
@@ -24,3 +24,8 @@ label {
24
24
  p {
25
25
  margin: 12px 0;
26
26
  }
27
+
28
+ /* Preserve look of legacy checkboxes in dark mode */
29
+ :host-context(.-theme-with-dark-background) input[type="checkbox"]:not(.-theme-preserve) {
30
+ accent-color: var(--color-checkbox-accent-color);
31
+ }
@@ -137,8 +137,11 @@ export class Section {
137
137
  this.items = [];
138
138
  }
139
139
 
140
- appendItem(label: string, handler: () => void, disabled?: boolean): Item {
140
+ appendItem(label: string, handler: () => void, disabled?: boolean, additionalElement?: Element): Item {
141
141
  const item = new Item(this.contextMenu, 'item', label, disabled);
142
+ if (additionalElement) {
143
+ item.customElement = additionalElement;
144
+ }
142
145
  this.items.push(item);
143
146
  if (this.contextMenu) {
144
147
  this.contextMenu.setHandler(item.id(), handler);
@@ -147,7 +150,7 @@ export class Section {
147
150
  }
148
151
 
149
152
  appendCustomItem(element: Element): Item {
150
- const item = new Item(this.contextMenu, 'item', '<custom>');
153
+ const item = new Item(this.contextMenu, 'item');
151
154
  item.customElement = element;
152
155
  this.items.push(item);
153
156
  return item;
@@ -331,6 +334,7 @@ export class SubMenu extends Item {
331
334
 
332
335
  export interface ContextMenuOptions {
333
336
  useSoftMenu?: boolean;
337
+ onSoftMenuClosed?: () => void;
334
338
  x?: number;
335
339
  y?: number;
336
340
  }
@@ -344,6 +348,7 @@ export class ContextMenu extends SubMenu {
344
348
  private readonly useSoftMenu: boolean;
345
349
  private x: number;
346
350
  private y: number;
351
+ private onSoftMenuClosed?: () => void;
347
352
  private readonly handlers: Map<number, () => void>;
348
353
  idInternal: number;
349
354
  private softMenu?: SoftContextMenu;
@@ -360,6 +365,7 @@ export class ContextMenu extends SubMenu {
360
365
  this.useSoftMenu = Boolean(options.useSoftMenu);
361
366
  this.x = options.x === undefined ? mouseEvent.x : options.x;
362
367
  this.y = options.y === undefined ? mouseEvent.y : options.y;
368
+ this.onSoftMenuClosed = options.onSoftMenuClosed;
363
369
  this.handlers = new Map();
364
370
  this.idInternal = 0;
365
371
 
@@ -431,7 +437,8 @@ export class ContextMenu extends SubMenu {
431
437
  const ownerDocument = (eventTarget as HTMLElement).ownerDocument;
432
438
  if (this.useSoftMenu || ContextMenu.useSoftMenu ||
433
439
  Host.InspectorFrontendHost.InspectorFrontendHostInstance.isHostedMode()) {
434
- this.softMenu = new SoftContextMenu((menuObject as SoftContextMenuDescriptor[]), this.itemSelected.bind(this));
440
+ this.softMenu = new SoftContextMenu(
441
+ (menuObject as SoftContextMenuDescriptor[]), this.itemSelected.bind(this), undefined, this.onSoftMenuClosed);
435
442
  this.softMenu.show((ownerDocument as Document), new AnchorBox(this.x, this.y, 0, 0));
436
443
  } else {
437
444
  Host.InspectorFrontendHost.InspectorFrontendHostInstance.showContextMenuAtPoint(
@@ -77,15 +77,18 @@ export class SoftContextMenu {
77
77
  private hideOnUserGesture?: ((event: Event) => void);
78
78
  private activeSubMenuElement?: HTMLElement;
79
79
  private subMenu?: SoftContextMenu;
80
+ private onMenuClosed?: () => void;
80
81
 
81
82
  constructor(
82
- items: SoftContextMenuDescriptor[], itemSelectedCallback: (arg0: number) => void, parentMenu?: SoftContextMenu) {
83
+ items: SoftContextMenuDescriptor[], itemSelectedCallback: (arg0: number) => void, parentMenu?: SoftContextMenu,
84
+ onMenuClosed?: () => void) {
83
85
  this.items = items;
84
86
  this.itemSelectedCallback = itemSelectedCallback;
85
87
  this.parentMenu = parentMenu;
86
88
  this.highlightedMenuItemElement = null;
87
89
 
88
90
  this.detailsForElementMap = new WeakMap();
91
+ this.onMenuClosed = onMenuClosed;
89
92
  }
90
93
 
91
94
  show(document: Document, anchorBox: AnchorBox): void {
@@ -165,6 +168,7 @@ export class SoftContextMenu {
165
168
  delete this.parentMenu.activeSubMenuElement;
166
169
  }
167
170
  }
171
+ this.onMenuClosed?.();
168
172
  }
169
173
 
170
174
  private createMenuItem(item: SoftContextMenuDescriptor): HTMLElement {
@@ -193,7 +197,7 @@ export class SoftContextMenu {
193
197
  subMenuTimer: undefined,
194
198
  };
195
199
 
196
- if (item.element) {
200
+ if (item.element && !item.label) {
197
201
  const wrapper = menuItemElement.createChild('div', 'soft-context-menu-custom-item');
198
202
  wrapper.appendChild(item.element);
199
203
  detailsForElement.customElement = (item.element as HTMLElement);
@@ -205,6 +209,9 @@ export class SoftContextMenu {
205
209
  menuItemElement.classList.add('soft-context-menu-disabled');
206
210
  }
207
211
  createTextChild(menuItemElement, item.label || '');
212
+ if (item.element) {
213
+ menuItemElement.appendChild(item.element);
214
+ }
208
215
  menuItemElement.createChild('span', 'soft-context-menu-shortcut').textContent = item.shortcut || '';
209
216
 
210
217
  menuItemElement.addEventListener('mousedown', this.menuItemMouseDown.bind(this), false);
@@ -44,7 +44,7 @@ input.dt-checkbox-themed {
44
44
  }
45
45
 
46
46
  input.dt-checkbox-themed::after {
47
- content: '';
47
+ content: "";
48
48
  line-height: 10px;
49
49
  position: absolute;
50
50
  cursor: pointer;
@@ -60,6 +60,10 @@ input.dt-checkbox-themed:checked::after {
60
60
  background-color: var(--color-background-inverted);
61
61
  }
62
62
 
63
+ :host-context(.-theme-with-dark-background) input:not(.dt-checkbox-themed) {
64
+ accent-color: var(--color-checkbox-accent-color);
65
+ }
66
+
63
67
  .dt-checkbox-text {
64
68
  margin-left: 3px;
65
69
  overflow: hidden;
@@ -242,26 +242,26 @@
242
242
  user-select: text;
243
243
  }
244
244
 
245
- .contrast-details-value [is=ui-icon] {
245
+ .contrast-details-value [is="ui-icon"] {
246
246
  display: none;
247
247
  margin-left: 5px;
248
248
  background-color: var(--color-text-primary);
249
249
  }
250
250
 
251
- .spectrum-contrast-details .toolbar-state-on [is=ui-icon] {
251
+ .spectrum-contrast-details .toolbar-state-on [is="ui-icon"] {
252
252
  background-color: var(--color-text-secondary);
253
253
  }
254
254
 
255
- [is=ui-icon].smallicon-no {
255
+ [is="ui-icon"].smallicon-no {
256
256
  background-color: var(--color-accent-red);
257
257
  }
258
258
 
259
- .contrast-pass-fail span[is=ui-icon] {
259
+ .contrast-pass-fail span[is="ui-icon"] {
260
260
  margin-left: 5px;
261
261
  }
262
262
 
263
- [is=ui-icon].smallicon-checkmark-square,
264
- [is=ui-icon].smallicon-checkmark-behind {
263
+ [is="ui-icon"].smallicon-checkmark-square,
264
+ [is="ui-icon"].smallicon-checkmark-behind {
265
265
  background-color: var(--color-accent-green);
266
266
  }
267
267
 
@@ -328,7 +328,7 @@
328
328
  background-color: var(--color-background-inverted-opacity-50);
329
329
  }
330
330
 
331
- [is=ui-icon].icon-mask.copy-color-icon {
331
+ [is="ui-icon"].icon-mask.copy-color-icon {
332
332
  background-color: var(--color-background);
333
333
  }
334
334
 
@@ -461,7 +461,7 @@
461
461
  }
462
462
 
463
463
  .palette-color-shades > .spectrum-palette-color {
464
- margin: 8px 0 0 0;
464
+ margin: 8px 0 0;
465
465
  margin-left: 8px;
466
466
  width: 12px;
467
467
  }
@@ -644,7 +644,7 @@ div.palette-preview {
644
644
  padding-bottom: 2px;
645
645
  }
646
646
 
647
- .swatch.contrast [is=ui-icon] {
647
+ .swatch.contrast [is="ui-icon"] {
648
648
  margin: -2px;
649
649
  }
650
650
 
@@ -292,7 +292,7 @@
292
292
  }
293
293
 
294
294
  @media (forced-colors: active) {
295
- .sort-order-icon-container [is=ui-icon].icon-mask,
295
+ .sort-order-icon-container [is="ui-icon"].icon-mask,
296
296
  .data-grid td.disclosure::before {
297
297
  forced-color-adjust: none;
298
298
  background-color: ButtonText;
@@ -303,7 +303,7 @@
303
303
  }
304
304
 
305
305
  .data-grid th.sortable:hover *,
306
- .data-grid th.sortable:hover .sort-order-icon-container [is=ui-icon].icon-mask,
306
+ .data-grid th.sortable:hover .sort-order-icon-container [is="ui-icon"].icon-mask,
307
307
  .data-grid tr.parent.selected td.disclosure::before,
308
308
  .data-grid:focus tr.parent.selected td.disclosure::before,
309
309
  .data-grid table.data tr.parent.revealed:hover td.disclosure::before {
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  .editor.interacting::before {
8
- content: '';
8
+ content: "";
9
9
  position: fixed;
10
10
  inset: 0;
11
11
  }
@@ -42,7 +42,7 @@
42
42
  width: 0;
43
43
  height: 0;
44
44
  border-style: solid;
45
- border-width: 0 0.9em 0.9em 0.9em;
45
+ border-width: 0 0.9em 0.9em;
46
46
  border-color: transparent transparent var(--color-background-elevation-1) transparent;
47
47
  }
48
48
 
@@ -76,7 +76,7 @@
76
76
  }
77
77
 
78
78
  .hand::before {
79
- content: '';
79
+ content: "";
80
80
  display: inline-block;
81
81
  position: absolute;
82
82
  top: -0.6em;
@@ -33,7 +33,7 @@
33
33
  -webkit-mask-size: 19px 6px;
34
34
  -webkit-mask-repeat: no-repeat;
35
35
  background-color: var(--color-text-primary);
36
- content: '';
36
+ content: "";
37
37
  height: 1em;
38
38
  width: 1em;
39
39
  }
@@ -6,7 +6,7 @@
6
6
 
7
7
  :host {
8
8
  user-select: none;
9
- padding: 4px 12px 12px 12px;
9
+ padding: 4px 12px 12px;
10
10
  border: 1px solid transparent;
11
11
  }
12
12
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  :host {
8
8
  user-select: none;
9
- padding: 4px 12px 12px 12px;
9
+ padding: 4px 12px 12px;
10
10
  }
11
11
 
12
12
  .error-input {
@@ -9,7 +9,7 @@
9
9
  }
10
10
 
11
11
  .object-properties-section {
12
- padding: 0 0 0 0;
12
+ padding: 0;
13
13
  color: var(--color-text-primary);
14
14
  display: flex;
15
15
  flex-direction: column;
@@ -25,7 +25,7 @@
25
25
 
26
26
  .object-properties-section li.editing-sub-part {
27
27
  padding: 3px 12px 8px 6px;
28
- margin: -1px -6px -8px -6px;
28
+ margin: -1px -6px -8px;
29
29
  text-overflow: clip;
30
30
  }
31
31
 
@@ -334,14 +334,20 @@ export class FilteredListWidget extends Common.ObjectWrapper.eventMixin<EventTyp
334
334
  break;
335
335
  }
336
336
  }
337
- if (!completion) {
338
- return false;
337
+ // If there is an auto-completion, press 'tab' first time will show the auto-completion, second time will rewrite
338
+ // the query. Otherwise it will select the next item.
339
+ if (completion) {
340
+ const selection = this.inputBoxElement.getComponentSelection();
341
+ if (selection && selection.toString().trim() !== '') {
342
+ this.setQuery(completion);
343
+ return true;
344
+ }
345
+ this.inputBoxElement.focus();
346
+ this.inputBoxElement.setText(completion);
347
+ this.setQuerySelectedRange(userEnteredText.length, completion.length);
348
+ return true;
339
349
  }
340
- this.inputBoxElement.focus();
341
- this.inputBoxElement.setText(completion);
342
- this.inputBoxElement.setSelectedRange(userEnteredText.length, completion.length);
343
- this.scheduleFilter();
344
- return true;
350
+ return this.list.selectNextItem(true, false);
345
351
  }
346
352
 
347
353
  private itemsFilteredForTest(): void {
@@ -30,7 +30,7 @@
30
30
  devtools-text-prompt {
31
31
  flex: 0 0 40px;
32
32
  font-size: 14px;
33
- font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', sans-serif;
33
+ font-family: ".SFNSDisplay-Regular", "Helvetica Neue", "Lucida Grande", sans-serif;
34
34
  line-height: 16px;
35
35
  padding: 12px;
36
36
  }
@@ -80,7 +80,7 @@ devtools-text-prompt {
80
80
  color: var(--color-text-primary);
81
81
  display: flex;
82
82
  border-bottom: 1px solid var(--color-details-hairline-light);
83
- font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', sans-serif;
83
+ font-family: ".SFNSDisplay-Regular", "Helvetica Neue", "Lucida Grande", sans-serif;
84
84
  padding-left: 8px;
85
85
  padding-right: 8px;
86
86
  }
@@ -9,7 +9,7 @@
9
9
  }
10
10
 
11
11
  .image-view > .image {
12
- padding: 20px 20px 10px 20px;
12
+ padding: 20px 20px 10px;
13
13
  text-align: center;
14
14
  }
15
15