chrome-devtools-frontend 1.0.934332 → 1.0.935974

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 (99) hide show
  1. package/config/gni/all_devtools_files.gni +0 -23
  2. package/config/gni/devtools_grd_files.gni +7 -15
  3. package/front_end/Tests.js +15 -2
  4. package/front_end/core/host/UserMetrics.ts +0 -1
  5. package/front_end/core/i18n/locales/en-US.json +18 -6
  6. package/front_end/core/i18n/locales/en-XL.json +18 -6
  7. package/front_end/core/root/Runtime.ts +0 -1
  8. package/front_end/core/sdk/ConsoleModel.ts +0 -20
  9. package/front_end/core/sdk/DOMModel.ts +3 -3
  10. package/front_end/core/sdk/sdk-meta.ts +3 -0
  11. package/front_end/entrypoints/devtools_app/devtools_app.json +0 -5
  12. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +1 -1
  13. package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +1 -0
  14. package/front_end/entrypoints/main/MainImpl.ts +1 -11
  15. package/front_end/entrypoints/main/main-meta.ts +2 -1
  16. package/front_end/entrypoints/shell/shell.json +0 -10
  17. package/front_end/entrypoints/worker_app/worker_app.json +0 -3
  18. package/front_end/models/emulation/EmulatedDevices.ts +306 -84
  19. package/front_end/models/issues_manager/IssuesManager.ts +2 -2
  20. package/front_end/models/issues_manager/{DeprecationIssue.ts → NavigatorUserAgentIssue.ts} +4 -4
  21. package/front_end/models/issues_manager/issues_manager.ts +2 -2
  22. package/front_end/panels/application/BackForwardCacheView.ts +54 -6
  23. package/front_end/panels/application/module.json +0 -3
  24. package/front_end/panels/changes/changes-meta.ts +0 -3
  25. package/front_end/panels/console/ConsoleFilter.ts +1 -1
  26. package/front_end/panels/console/ConsoleViewMessage.ts +2 -19
  27. package/front_end/panels/console/module.json +0 -2
  28. package/front_end/panels/console_counters/console_counters-meta.ts +0 -3
  29. package/front_end/panels/coverage/module.json +0 -1
  30. package/front_end/panels/css_overview/module.json +1 -2
  31. package/front_end/panels/developer_resources/developer_resources-meta.ts +0 -2
  32. package/front_end/panels/elements/ElementsTreeElement.ts +1 -1
  33. package/front_end/panels/elements/StylesSidebarPane.ts +15 -0
  34. package/front_end/panels/elements/elements-meta.ts +5 -0
  35. package/front_end/panels/elements/module.json +0 -1
  36. package/front_end/panels/emulation/DeviceModeWrapper.ts +4 -0
  37. package/front_end/panels/event_listeners/module.json +1 -2
  38. package/front_end/panels/help/help-meta.ts +0 -3
  39. package/front_end/panels/input/input-meta.ts +0 -2
  40. package/front_end/panels/lighthouse/LighthouseProtocolService.ts +1 -5
  41. package/front_end/panels/media/module.json +0 -1
  42. package/front_end/panels/mobile_throttling/mobile_throttling-meta.ts +1 -0
  43. package/front_end/panels/network/module.json +0 -4
  44. package/front_end/panels/network/network-meta.ts +2 -0
  45. package/front_end/panels/profiler/module.json +1 -3
  46. package/front_end/panels/profiler/profiler-meta.ts +1 -0
  47. package/front_end/panels/profiler/profilesPanel.css +1 -1
  48. package/front_end/panels/sensors/sensors-meta.ts +1 -0
  49. package/front_end/panels/settings/emulation/devicesSettingsTab.css +1 -1
  50. package/front_end/panels/settings/settings-meta.ts +0 -2
  51. package/front_end/panels/sources/CallStackSidebarPane.ts +21 -0
  52. package/front_end/panels/sources/NavigatorView.ts +8 -8
  53. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +15 -0
  54. package/front_end/panels/sources/module.json +0 -5
  55. package/front_end/panels/sources/sources-meta.ts +12 -0
  56. package/front_end/panels/sources/watchExpressionsSidebarPane.css +10 -3
  57. package/front_end/panels/timeline/module.json +0 -1
  58. package/front_end/panels/timeline/timeline-meta.ts +1 -0
  59. package/front_end/panels/web_audio/web_audio-meta.ts +0 -3
  60. package/front_end/panels/webauthn/webauthn-meta.ts +0 -2
  61. package/front_end/ui/components/buttons/button.css +1 -0
  62. package/front_end/ui/components/text_editor/config.ts +1 -1
  63. package/front_end/ui/components/text_editor/theme.ts +13 -0
  64. package/front_end/ui/legacy/GlassPane.ts +4 -0
  65. package/front_end/ui/legacy/InspectorView.ts +0 -4
  66. package/front_end/ui/legacy/TabbedPane.ts +4 -0
  67. package/front_end/ui/legacy/ViewManager.ts +10 -2
  68. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +2 -1
  69. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +6 -1
  70. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +3 -1
  71. package/front_end/ui/legacy/components/data_grid/dataGrid.css +5 -0
  72. package/front_end/ui/legacy/components/inline_editor/CSSLength.ts +10 -3
  73. package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +1 -1
  74. package/front_end/ui/legacy/components/inline_editor/cssLength.css +30 -9
  75. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +2 -1
  76. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +4 -3
  77. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +5 -5
  78. package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +1 -0
  79. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +3 -1
  80. package/front_end/ui/legacy/components/quick_open/quick_open-meta.ts +0 -3
  81. package/front_end/ui/legacy/components/source_frame/module.json +1 -2
  82. package/front_end/ui/legacy/components/source_frame/source_frame-meta.ts +1 -0
  83. package/front_end/ui/legacy/themeColors.css +4 -0
  84. package/package.json +1 -1
  85. package/front_end/panels/changes/module.json +0 -7
  86. package/front_end/panels/console_counters/module.json +0 -5
  87. package/front_end/panels/developer_resources/module.json +0 -6
  88. package/front_end/panels/help/module.json +0 -5
  89. package/front_end/panels/input/module.json +0 -5
  90. package/front_end/panels/search/module.json +0 -5
  91. package/front_end/panels/settings/module.json +0 -5
  92. package/front_end/panels/snippets/module.json +0 -6
  93. package/front_end/panels/web_audio/module.json +0 -5
  94. package/front_end/panels/webauthn/module.json +0 -6
  95. package/front_end/ui/legacy/components/color_picker/module.json +0 -8
  96. package/front_end/ui/legacy/components/cookie_table/module.json +0 -9
  97. package/front_end/ui/legacy/components/data_grid/module.json +0 -8
  98. package/front_end/ui/legacy/components/object_ui/module.json +0 -11
  99. package/front_end/ui/legacy/components/quick_open/module.json +0 -8
@@ -1249,6 +1249,7 @@ Common.Settings.registerSettingExtension({
1249
1249
 
1250
1250
  Common.Settings.registerSettingExtension({
1251
1251
  category: Common.Settings.SettingCategory.SOURCES,
1252
+ storageType: Common.Settings.SettingStorageType.Synced,
1252
1253
  title: i18nLazyString(UIStrings.searchInAnonymousAndContent),
1253
1254
  settingName: 'searchInAnonymousAndContentScripts',
1254
1255
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -1267,6 +1268,7 @@ Common.Settings.registerSettingExtension({
1267
1268
 
1268
1269
  Common.Settings.registerSettingExtension({
1269
1270
  category: Common.Settings.SettingCategory.SOURCES,
1271
+ storageType: Common.Settings.SettingStorageType.Synced,
1270
1272
  title: i18nLazyString(UIStrings.automaticallyRevealFilesIn),
1271
1273
  settingName: 'autoRevealInNavigator',
1272
1274
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -1285,6 +1287,7 @@ Common.Settings.registerSettingExtension({
1285
1287
 
1286
1288
  Common.Settings.registerSettingExtension({
1287
1289
  category: Common.Settings.SettingCategory.SOURCES,
1290
+ storageType: Common.Settings.SettingStorageType.Synced,
1288
1291
  title: i18nLazyString(UIStrings.enableJavascriptSourceMaps),
1289
1292
  settingName: 'jsSourceMapsEnabled',
1290
1293
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -1303,6 +1306,7 @@ Common.Settings.registerSettingExtension({
1303
1306
 
1304
1307
  Common.Settings.registerSettingExtension({
1305
1308
  category: Common.Settings.SettingCategory.SOURCES,
1309
+ storageType: Common.Settings.SettingStorageType.Synced,
1306
1310
  title: i18nLazyString(UIStrings.enableTabMovesFocus),
1307
1311
  settingName: 'textEditorTabMovesFocus',
1308
1312
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -1321,6 +1325,7 @@ Common.Settings.registerSettingExtension({
1321
1325
 
1322
1326
  Common.Settings.registerSettingExtension({
1323
1327
  category: Common.Settings.SettingCategory.SOURCES,
1328
+ storageType: Common.Settings.SettingStorageType.Synced,
1324
1329
  title: i18nLazyString(UIStrings.detectIndentation),
1325
1330
  settingName: 'textEditorAutoDetectIndent',
1326
1331
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -1339,6 +1344,7 @@ Common.Settings.registerSettingExtension({
1339
1344
 
1340
1345
  Common.Settings.registerSettingExtension({
1341
1346
  category: Common.Settings.SettingCategory.SOURCES,
1347
+ storageType: Common.Settings.SettingStorageType.Synced,
1342
1348
  title: i18nLazyString(UIStrings.autocompletion),
1343
1349
  settingName: 'textEditorAutocompletion',
1344
1350
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -1375,6 +1381,7 @@ Common.Settings.registerSettingExtension({
1375
1381
 
1376
1382
  Common.Settings.registerSettingExtension({
1377
1383
  category: Common.Settings.SettingCategory.SOURCES,
1384
+ storageType: Common.Settings.SettingStorageType.Synced,
1378
1385
  title: i18nLazyString(UIStrings.codeFolding),
1379
1386
  settingName: 'textEditorCodeFolding',
1380
1387
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -1393,6 +1400,7 @@ Common.Settings.registerSettingExtension({
1393
1400
 
1394
1401
  Common.Settings.registerSettingExtension({
1395
1402
  category: Common.Settings.SettingCategory.SOURCES,
1403
+ storageType: Common.Settings.SettingStorageType.Synced,
1396
1404
  title: i18nLazyString(UIStrings.showWhitespaceCharacters),
1397
1405
  settingName: 'showWhitespacesInEditor',
1398
1406
  settingType: Common.Settings.SettingType.ENUM,
@@ -1418,6 +1426,7 @@ Common.Settings.registerSettingExtension({
1418
1426
 
1419
1427
  Common.Settings.registerSettingExtension({
1420
1428
  category: Common.Settings.SettingCategory.SOURCES,
1429
+ storageType: Common.Settings.SettingStorageType.Synced,
1421
1430
  title: i18nLazyString(UIStrings.displayVariableValuesInlineWhile),
1422
1431
  settingName: 'inlineVariableValues',
1423
1432
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -1436,6 +1445,7 @@ Common.Settings.registerSettingExtension({
1436
1445
 
1437
1446
  Common.Settings.registerSettingExtension({
1438
1447
  category: Common.Settings.SettingCategory.SOURCES,
1448
+ storageType: Common.Settings.SettingStorageType.Synced,
1439
1449
  title: i18nLazyString(UIStrings.enableAutoFocusOnDebuggerPaused),
1440
1450
  settingName: 'autoFocusOnDebuggerPausedEnabled',
1441
1451
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -1454,6 +1464,7 @@ Common.Settings.registerSettingExtension({
1454
1464
 
1455
1465
  Common.Settings.registerSettingExtension({
1456
1466
  category: Common.Settings.SettingCategory.SOURCES,
1467
+ storageType: Common.Settings.SettingStorageType.Synced,
1457
1468
  title: i18nLazyString(UIStrings.enableCssSourceMaps),
1458
1469
  settingName: 'cssSourceMapsEnabled',
1459
1470
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -1472,6 +1483,7 @@ Common.Settings.registerSettingExtension({
1472
1483
 
1473
1484
  Common.Settings.registerSettingExtension({
1474
1485
  category: Common.Settings.SettingCategory.SOURCES,
1486
+ storageType: Common.Settings.SettingStorageType.Synced,
1475
1487
  title: i18nLazyString(UIStrings.allowScrollingPastEndOfFile),
1476
1488
  settingName: 'allowScrollPastEof',
1477
1489
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -7,12 +7,19 @@
7
7
  .watch-expression-delete-button {
8
8
  position: absolute;
9
9
  top: 5px;
10
- right: 16px;
11
10
  cursor: pointer;
12
11
  opacity: 0%;
13
12
  }
14
13
 
15
- .watch-expression-header:hover .watch-expression-delete-button {
14
+ .right-aligned {
15
+ right: 16px;
16
+ }
17
+
18
+ .left-aligned {
19
+ left: -11px;
20
+ }
21
+
22
+ .watch-expression-title:hover .watch-expression-delete-button {
16
23
  opacity: 100%;
17
24
  }
18
25
 
@@ -108,7 +115,7 @@ li.watch-expression-editing::before {
108
115
  }
109
116
 
110
117
  @media (forced-colors: active) {
111
- .watch-expression-header:hover .watch-expression-delete-button,
118
+ .watch-expression-title:hover .watch-expression-delete-button,
112
119
  .watch-expressions .dimmed {
113
120
  opacity: 100%;
114
121
  }
@@ -4,7 +4,6 @@
4
4
  "panels/coverage",
5
5
  "panels/layer_viewer",
6
6
  "ui/legacy/components/perf_ui",
7
- "ui/legacy/components/data_grid",
8
7
  "panels/profiler",
9
8
  "panels/mobile_throttling"
10
9
  ]
@@ -390,6 +390,7 @@ UI.ActionRegistration.registerActionExtension({
390
390
 
391
391
  Common.Settings.registerSettingExtension({
392
392
  category: Common.Settings.SettingCategory.PERFORMANCE,
393
+ storageType: Common.Settings.SettingStorageType.Synced,
393
394
  title: i18nLazyString(UIStrings.hideChromeFrameInLayersView),
394
395
  settingName: 'frameViewerHideChromeWindow',
395
396
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -3,7 +3,6 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as i18n from '../../core/i18n/i18n.js';
6
- import * as Root from '../../core/root/root.js';
7
6
  import * as UI from '../../ui/legacy/legacy.js';
8
7
 
9
8
  // eslint-disable-next-line rulesdir/es_modules_import
@@ -30,8 +29,6 @@ let loadedWebAudioModule: (typeof WebAudio|undefined);
30
29
 
31
30
  async function loadWebAudioModule(): Promise<typeof WebAudio> {
32
31
  if (!loadedWebAudioModule) {
33
- // Side-effect import resources in module.json
34
- await Root.Runtime.Runtime.instance().loadModulePromise('panels/web_audio');
35
32
  loadedWebAudioModule = await import('./web_audio.js');
36
33
  }
37
34
  return loadedWebAudioModule;
@@ -26,8 +26,6 @@ let loadedWebauthnModule: (typeof Webauthn|undefined);
26
26
 
27
27
  async function loadWebauthnModule(): Promise<typeof Webauthn> {
28
28
  if (!loadedWebauthnModule) {
29
- // Side-effect import resources in module.json
30
- await Root.Runtime.Runtime.instance().loadModulePromise('panels/webauthn');
31
29
  loadedWebauthnModule = await import('./webauthn.js');
32
30
  }
33
31
  return loadedWebauthnModule;
@@ -32,6 +32,7 @@ button {
32
32
  display: inline-flex;
33
33
  font-family: inherit;
34
34
  font-size: 12px;
35
+ font-weight: 500;
35
36
  height: 24px;
36
37
  line-height: 14px;
37
38
  padding: 5px 12px;
@@ -57,7 +57,7 @@ export const tabMovesFocus = DynamicSetting.bool('textEditorTabMovesFocus', CM.k
57
57
  shift: (view: CM.EditorView): boolean => view.state.doc.length ? CM.indentLess(view) : false,
58
58
  }]));
59
59
 
60
- export const autocompletion = DynamicSetting.bool('textEditorAutocompletion', CM.autocompletion());
60
+ export const autocompletion = DynamicSetting.bool('textEditorAutocompletion', CM.autocompletion({icons: false}));
61
61
 
62
62
  export const bracketMatching = DynamicSetting.bool('textEditorBracketMatching', CM.bracketMatching());
63
63
 
@@ -57,6 +57,11 @@ export const editorTheme = CM.EditorView.theme({
57
57
  padding: '0 3px 0 9px',
58
58
  },
59
59
 
60
+ '.cm-matchingBracket, .cm-nonmatchingBracket': {
61
+ background: 'transparent',
62
+ borderBottom: 'none',
63
+ },
64
+
60
65
  '&:focus-within .cm-matchingBracket': {
61
66
  color: 'inherit',
62
67
  backgroundColor: 'var(--color-matching-bracket-background)',
@@ -112,6 +117,14 @@ export const editorTheme = CM.EditorView.theme({
112
117
  width: 'fit-content',
113
118
  },
114
119
 
120
+ '.cm-tooltip.cm-tooltip-autocomplete > ul': {
121
+ minWidth: '16em',
122
+ '& > li[aria-selected]': {
123
+ backgroundColor: 'var(--color-selected-option-background)',
124
+ color: 'var(--color-selected-option)',
125
+ },
126
+ },
127
+
115
128
  '.cm-highlightedLine': {
116
129
  animation: 'cm-fading-highlight 2s 0s',
117
130
  },
@@ -58,6 +58,10 @@ export class GlassPane {
58
58
  this.widgetInternal.registerRequiredCSS(cssFile);
59
59
  }
60
60
 
61
+ registerCSSFiles(cssFiles: CSSStyleSheet[]): void {
62
+ this.widgetInternal.registerCSSFiles(cssFiles);
63
+ }
64
+
61
65
  setDefaultFocusedElement(element: Element|null): void {
62
66
  this.widgetInternal.setDefaultFocusedElement(element);
63
67
  }
@@ -443,10 +443,6 @@ function getDisableLocaleInfoBarSetting(): Common.Settings.Setting<boolean> {
443
443
  }
444
444
 
445
445
  function shouldShowLocaleInfobar(): boolean {
446
- if (!Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.LOCALIZED_DEVTOOLS)) {
447
- return false;
448
- }
449
-
450
446
  if (getDisableLocaleInfoBarSetting().get()) {
451
447
  return false;
452
448
  }
@@ -251,6 +251,10 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
251
251
  }
252
252
 
253
253
  closeTabs(ids: string[], userGesture?: boolean): void {
254
+ if (ids.length === 0) {
255
+ return;
256
+ }
257
+
254
258
  const focused = this.hasFocus();
255
259
  for (let i = 0; i < ids.length; ++i) {
256
260
  this.innerCloseTab(ids[i], userGesture);
@@ -28,6 +28,11 @@ const UIStrings = {
28
28
  };
29
29
  const str_ = i18n.i18n.registerUIStrings('ui/legacy/ViewManager.ts', UIStrings);
30
30
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
31
+
32
+ export const defaultOptionsForTabs = {
33
+ security: true,
34
+ };
35
+
31
36
  export class PreRegisteredView implements View {
32
37
  private readonly viewRegistration: ViewRegistration;
33
38
  private widgetRequested: boolean;
@@ -615,9 +620,12 @@ export class _TabbedLocation extends Location implements TabbedViewLocation {
615
620
  private setOrUpdateCloseableTabsSetting(): void {
616
621
  // Update the setting value, we respect the closed state decided by the user
617
622
  // and append the new tabs with value of true so they are shown open
618
- const defaultOptionsForTabs = {'security': true};
619
623
  const tabs = this.closeableTabSetting.get();
620
- const newClosable = Object.assign(defaultOptionsForTabs, tabs);
624
+ const newClosable = Object.assign(
625
+ {
626
+ ...defaultOptionsForTabs,
627
+ },
628
+ tabs);
621
629
  this.closeableTabSetting.set(newClosable);
622
630
  }
623
631
 
@@ -42,6 +42,7 @@ import {ContrastDetails, Events as ContrastDetailsEvents} from './ContrastDetail
42
42
 
43
43
  import type {ContrastInfo} from './ContrastInfo.js';
44
44
  import {ContrastOverlay} from './ContrastOverlay.js';
45
+ import spectrumStyles from './spectrum.css.js';
45
46
 
46
47
  const UIStrings = {
47
48
  /**
@@ -183,7 +184,6 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
183
184
  private colorFormat?: string;
184
185
  constructor(contrastInfo?: ContrastInfo|null) {
185
186
  super(true);
186
- this.registerRequiredCSS('ui/legacy/components/color_picker/spectrum.css');
187
187
 
188
188
  this.contentElement.tabIndex = 0;
189
189
  this.colorElement = this.contentElement.createChild('div', 'spectrum-color');
@@ -1140,6 +1140,7 @@ export class Spectrum extends Common.ObjectWrapper.eventMixin<EventTypes, typeof
1140
1140
  }
1141
1141
 
1142
1142
  wasShown(): void {
1143
+ this.registerCSSFiles([spectrumStyles]);
1143
1144
  this.hueAlphaWidth = this.hueElement.offsetWidth;
1144
1145
  this.slideHelperWidth = this.hueSlider.offsetWidth / 2;
1145
1146
  this.dragWidth = this.colorElement.offsetWidth;
@@ -43,6 +43,8 @@ import * as NetworkForward from '../../../../panels/network/forward/forward.js';
43
43
  import * as UI from '../../legacy.js';
44
44
  import * as DataGrid from '../data_grid/data_grid.js';
45
45
 
46
+ import cookiesTableStyles from './cookiesTable.css.js';
47
+
46
48
  const UIStrings = {
47
49
  /**
48
50
  *@description Cookie table cookies table expires session value in Cookies Table of the Cookies table in the Application panel
@@ -124,7 +126,6 @@ export class CookiesTable extends UI.Widget.VBox {
124
126
  deleteCallback?: ((arg0: SDK.Cookie.Cookie, arg1: () => void) => void)) {
125
127
  super();
126
128
 
127
- this.registerRequiredCSS('ui/legacy/components/cookie_table/cookiesTable.css');
128
129
  this.element.classList.add('cookies-table');
129
130
 
130
131
  this.saveCallback = saveCallback;
@@ -286,6 +287,10 @@ export class CookiesTable extends UI.Widget.VBox {
286
287
  this.cookieToBlockedReasons = null;
287
288
  }
288
289
 
290
+ wasShown(): void {
291
+ this.registerCSSFiles([cookiesTableStyles]);
292
+ }
293
+
289
294
  setCookies(
290
295
  cookies: SDK.Cookie.Cookie[],
291
296
  cookieToBlockedReasons?: ReadonlyMap<SDK.Cookie.Cookie, SDK.CookieModel.BlockedReason[]>): void {
@@ -31,6 +31,8 @@ import * as i18n from '../../../../core/i18n/i18n.js';
31
31
  import * as Platform from '../../../../core/platform/platform.js';
32
32
  import * as UI from '../../legacy.js';
33
33
 
34
+ import dataGridStyles from './dataGrid.css.js';
35
+
34
36
  const UIStrings = {
35
37
  /**
36
38
  *@description Accessible text label for expandible nodes in datagrids
@@ -169,7 +171,6 @@ export class DataGridImpl<T> extends Common.ObjectWrapper.ObjectWrapper<EventTyp
169
171
  const {displayName, columns: columnsArray, editCallback, deleteCallback, refreshCallback} = dataGridParameters;
170
172
  this.element = document.createElement('div');
171
173
  this.element.classList.add('data-grid');
172
- UI.Utils.appendStyle(this.element, 'ui/legacy/components/data_grid/dataGrid.css');
173
174
  this.element.tabIndex = 0;
174
175
  this.element.addEventListener('keydown', this.keyDown.bind(this), false);
175
176
  this.element.addEventListener('contextmenu', this.contextMenu.bind(this), true);
@@ -2351,6 +2352,7 @@ export class DataGridWidget<T> extends UI.Widget.VBox {
2351
2352
  }
2352
2353
 
2353
2354
  wasShown(): void {
2355
+ this.registerCSSFiles([dataGridStyles]);
2354
2356
  this.dataGrid.wasShown();
2355
2357
  }
2356
2358
 
@@ -154,6 +154,7 @@
154
154
  }
155
155
 
156
156
  .data-grid th .sort-order-icon-container {
157
+ background-color: var(--color-background-elevation-1);
157
158
  position: absolute;
158
159
  top: 1px;
159
160
  right: 0;
@@ -162,6 +163,10 @@
162
163
  align-items: center;
163
164
  }
164
165
 
166
+ .data-grid th:hover .sort-order-icon-container {
167
+ background-color: var(--color-background-highlight);
168
+ }
169
+
165
170
  .data-grid th .sort-order-icon {
166
171
  margin-right: 4px;
167
172
  margin-bottom: -2px;
@@ -77,6 +77,10 @@ export class CSSLength extends HTMLElement {
77
77
  }
78
78
 
79
79
  private onValueMousedown(event: MouseEvent): void {
80
+ if (event.button !== 0) {
81
+ return;
82
+ }
83
+
80
84
  this.currentMouseClientX = event.clientX;
81
85
  const targetDocument = event.target instanceof Node && event.target.ownerDocument;
82
86
  if (targetDocument) {
@@ -136,9 +140,12 @@ export class CSSLength extends HTMLElement {
136
140
  <span class="value"
137
141
  @mousedown=${this.onValueMousedown}
138
142
  @mouseup=${this.onValueMouseup}
139
- >${this.length.value}</span><select class="unit ${this.length.unit}" @mouseup=${this.onUnitMouseup} @change=${this.onUnitChange}>
140
- ${options}
141
- </select>
143
+ >${this.length.value}</span><span class="unit">${this.length.unit}</span><div class="unit-dropdown">
144
+ <span class="icon"></span>
145
+ <select @mouseup=${this.onUnitMouseup} @change=${this.onUnitChange}>
146
+ ${options}
147
+ </select>
148
+ </div>
142
149
  `;
143
150
  // clang-format on
144
151
  }
@@ -106,7 +106,7 @@ export class CSSShadowEditor extends Common.ObjectWrapper.eventMixin<EventTypes,
106
106
  field.appendChild(textInput);
107
107
  textInput.id = propertyName;
108
108
  textInput.addEventListener('keydown', this.handleValueModification.bind(this), false);
109
- textInput.addEventListener('mousewheel', this.handleValueModification.bind(this), false);
109
+ textInput.addEventListener('wheel', this.handleValueModification.bind(this), false);
110
110
  textInput.addEventListener('input', this.onTextInput.bind(this), false);
111
111
  textInput.addEventListener('blur', this.onTextBlur.bind(this), false);
112
112
  return textInput;
@@ -14,21 +14,42 @@
14
14
  cursor: ew-resize;
15
15
  }
16
16
 
17
- select.unit {
17
+ .unit-dropdown {
18
+ display: none;
19
+ }
20
+
21
+ .unit-dropdown select {
18
22
  all: unset;
19
23
  cursor: pointer;
20
- width: 2ch;
24
+ opacity: 0%;
25
+ width: 0.8em;
26
+ }
27
+
28
+ .icon {
29
+ position: absolute;
30
+ display: inline-block;
31
+ -webkit-mask-image: var(--image-file-chevrons);
32
+ -webkit-mask-position: -12px 4px;
33
+ -webkit-mask-size: 19px 6px;
34
+ -webkit-mask-repeat: no-repeat;
35
+ background-color: var(--color-text-primary);
36
+ content: '';
37
+ height: 1em;
38
+ width: 1em;
39
+ }
40
+
41
+ :host(:not(:last-child)) {
42
+ margin-right: 0.1em;
21
43
  }
22
44
 
23
- select.unit:hover {
24
- text-decoration: underline;
45
+ :host(:not(:last-child)) .unit-dropdown {
46
+ position: absolute;
25
47
  }
26
48
 
27
- select.unit.rem {
28
- width: 3ch;
49
+ .css-length:hover .unit-dropdown {
50
+ display: inline-block;
29
51
  }
30
52
 
31
- select.unit.vmin,
32
- select.unit.vmax {
33
- width: 4ch;
53
+ :host(:last-child) .unit-dropdown select {
54
+ width: 0.6em;
34
55
  }
@@ -9,6 +9,7 @@ import * as UI from '../../legacy.js';
9
9
  import type * as Protocol from '../../../../generated/protocol.js';
10
10
 
11
11
  import {ObjectPropertiesSection} from './ObjectPropertiesSection.js';
12
+ import customPreviewComponentStyles from './customPreviewComponent.css.js';
12
13
 
13
14
  const UIStrings = {
14
15
  /**
@@ -188,7 +189,7 @@ export class CustomPreviewComponent {
188
189
  this.element = document.createElement('span');
189
190
  this.element.classList.add('source-code');
190
191
  const shadowRoot = UI.Utils.createShadowRootWithCoreStyles(this.element, {
191
- cssFile: 'ui/legacy/components/object_ui/customPreviewComponent.css',
192
+ cssFile: [customPreviewComponentStyles],
192
193
  delegatesFocus: undefined,
193
194
  });
194
195
  this.element.addEventListener('contextmenu', this.contextMenuEventFired.bind(this), false);
@@ -34,7 +34,9 @@ import * as UI from '../../legacy.js';
34
34
  import * as Components from '../utils/utils.js';
35
35
 
36
36
  import {CustomPreviewComponent} from './CustomPreviewComponent.js';
37
+ import objectPopoverStyles from './objectPopover.css.js';
37
38
  import {ObjectPropertiesSection} from './ObjectPropertiesSection.js';
39
+ import objectValueStyles from './objectValue.css.js';
38
40
 
39
41
  export class ObjectPopoverHelper {
40
42
  private readonly linkifier: Components.Linkifier.Linkifier|null;
@@ -72,7 +74,7 @@ export class ObjectPopoverHelper {
72
74
  } else {
73
75
  popoverContentElement = document.createElement('div');
74
76
  popoverContentElement.classList.add('object-popover-content');
75
- UI.Utils.appendStyle(popoverContentElement, 'ui/legacy/components/object_ui/objectPopover.css');
77
+ popover.registerCSSFiles([objectPopoverStyles]);
76
78
  const titleElement = popoverContentElement.createChild('div', 'monospace object-popover-title');
77
79
  titleElement.createChild('span').textContent = description;
78
80
  linkifier = new Components.Linkifier.Linkifier();
@@ -90,8 +92,7 @@ export class ObjectPopoverHelper {
90
92
 
91
93
  popoverContentElement = document.createElement('span');
92
94
  popoverContentElement.dataset.stableNameForTest = 'object-popover-content';
93
- UI.Utils.appendStyle(popoverContentElement, 'ui/legacy/components/object_ui/objectValue.css');
94
- UI.Utils.appendStyle(popoverContentElement, 'ui/legacy/components/object_ui/objectPopover.css');
95
+ popover.registerCSSFiles([objectValueStyles, objectPopoverStyles]);
95
96
  const valueElement = popoverContentElement.createChild('span', 'monospace object-value-' + result.type);
96
97
  valueElement.style.whiteSpace = 'pre';
97
98
 
@@ -43,6 +43,8 @@ import {CustomPreviewComponent} from './CustomPreviewComponent.js';
43
43
  import {JavaScriptAutocomplete} from './JavaScriptAutocomplete.js';
44
44
  import {JavaScriptREPL} from './JavaScriptREPL.js';
45
45
  import {createSpansForNodeTitle, RemoteObjectPreviewFormatter} from './RemoteObjectPreviewFormatter.js';
46
+ import objectValueStyles from './objectValue.css.js';
47
+ import objectPropertiesSectionStyles from './objectPropertiesSection.css.js';
46
48
 
47
49
  const UIStrings = {
48
50
  /**
@@ -161,8 +163,7 @@ export class ObjectPropertiesSection extends UI.TreeOutline.TreeOutlineInShadow
161
163
  }
162
164
 
163
165
  objectPropertiesSectionMap.set(this.element, this);
164
- this.registerRequiredCSS('ui/legacy/components/object_ui/objectValue.css');
165
- this.registerRequiredCSS('ui/legacy/components/object_ui/objectPropertiesSection.css');
166
+ this.registerCSSFiles([objectValueStyles, objectPropertiesSectionStyles]);
166
167
  this.rootElement().childrenListElement.classList.add('source-code', 'object-properties-section');
167
168
  }
168
169
 
@@ -183,7 +184,7 @@ export class ObjectPropertiesSection extends UI.TreeOutline.TreeOutlineInShadow
183
184
  const titleElement = document.createElement('span');
184
185
  titleElement.classList.add('source-code');
185
186
  const shadowRoot = UI.Utils.createShadowRootWithCoreStyles(titleElement, {
186
- cssFile: 'ui/legacy/components/object_ui/objectValue.css',
187
+ cssFile: [objectValueStyles],
187
188
  delegatesFocus: undefined,
188
189
  });
189
190
  const propertyValue =
@@ -578,8 +579,7 @@ export class ObjectPropertiesSectionsTreeOutline extends UI.TreeOutline.TreeOutl
578
579
  private readonly editable: boolean;
579
580
  constructor(options?: TreeOutlineOptions|null) {
580
581
  super();
581
- this.registerRequiredCSS('ui/legacy/components/object_ui/objectValue.css');
582
- this.registerRequiredCSS('ui/legacy/components/object_ui/objectPropertiesSection.css');
582
+ this.registerCSSFiles([objectValueStyles, objectPropertiesSectionStyles]);
583
583
  this.editable = !(options && options.readOnly);
584
584
  this.contentElement.classList.add('source-code');
585
585
  this.contentElement.classList.add('object-properties-section');
@@ -71,6 +71,7 @@ UI.ActionRegistration.registerActionExtension({
71
71
 
72
72
  Common.Settings.registerSettingExtension({
73
73
  category: Common.Settings.SettingCategory.PERFORMANCE,
74
+ storageType: Common.Settings.SettingStorageType.Synced,
74
75
  title: i18nLazyString(UIStrings.flamechartMouseWheelAction),
75
76
  settingName: 'flamechartMouseWheelAction',
76
77
  settingType: Common.Settings.SettingType.ENUM,
@@ -13,6 +13,8 @@ import * as Diff from '../../../../third_party/diff/diff.js';
13
13
  import * as TextPrompt from '../../../../ui/components/text_prompt/text_prompt.js';
14
14
  import * as UI from '../../legacy.js';
15
15
 
16
+ import filteredListWidgetStyles from './filteredListWidget.css.js';
17
+
16
18
  const UIStrings = {
17
19
  /**
18
20
  * @description Aria label for quick open dialog prompt
@@ -64,7 +66,6 @@ export class FilteredListWidget extends Common.ObjectWrapper.eventMixin<EventTyp
64
66
  const listener = (this.onKeyDown.bind(this) as (arg0: Event) => void);
65
67
  this.contentElement.addEventListener('keydown', listener, true);
66
68
  UI.ARIAUtils.markAsCombobox(this.contentElement);
67
- this.registerRequiredCSS('ui/legacy/components/quick_open/filteredListWidget.css');
68
69
 
69
70
  this.inputBoxElement = new TextPrompt.TextPrompt.TextPrompt();
70
71
  this.inputBoxElement.data = {ariaLabel: i18nString(UIStrings.quickOpenPrompt), prefix: '', suggestion: ''};
@@ -212,6 +213,7 @@ export class FilteredListWidget extends Common.ObjectWrapper.eventMixin<EventTyp
212
213
  }
213
214
 
214
215
  wasShown(): void {
216
+ this.registerCSSFiles([filteredListWidgetStyles]);
215
217
  this.attachProvider();
216
218
  }
217
219
 
@@ -3,7 +3,6 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as i18n from '../../../../core/i18n/i18n.js';
6
- import * as Root from '../../../../core/root/root.js';
7
6
  import * as UI from '../../legacy.js';
8
7
 
9
8
  const UIStrings = {
@@ -26,8 +25,6 @@ let loadedQuickOpenModule: (typeof QuickOpen|undefined);
26
25
 
27
26
  async function loadQuickOpenModule(): Promise<typeof QuickOpen> {
28
27
  if (!loadedQuickOpenModule) {
29
- // Side-effect import resources in module.json
30
- await Root.Runtime.Runtime.instance().loadModulePromise('ui/legacy/components/quick_open');
31
28
  loadedQuickOpenModule = await import('./quick_open.js');
32
29
  }
33
30
  return loadedQuickOpenModule;
@@ -1,8 +1,7 @@
1
1
  {
2
2
  "dependencies": [
3
3
  "ui/legacy/components/text_editor",
4
- "ui/legacy",
5
- "ui/legacy/components/object_ui"
4
+ "ui/legacy"
6
5
  ],
7
6
  "resources": [
8
7
  "fontView.css",
@@ -48,6 +48,7 @@ const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined
48
48
 
49
49
  Common.Settings.registerSettingExtension({
50
50
  category: Common.Settings.SettingCategory.SOURCES,
51
+ storageType: Common.Settings.SettingStorageType.Synced,
51
52
  title: i18nLazyString(UIStrings.defaultIndentation),
52
53
  settingName: 'textEditorIndent',
53
54
  settingType: Common.Settings.SettingType.ENUM,
@@ -163,6 +163,8 @@
163
163
  --color-nonmatching-bracket-background: rgb(255 0 0 / 7%);
164
164
  --color-editor-selection: #cfe8fc;
165
165
  --color-editor-selection-blurred: #e0e0e0;
166
+ --color-selected-option: #fff;
167
+ --color-selected-option-background: #1a73e8;
166
168
  --color-highlighted-line: rgb(255 255 0 / 50%);
167
169
  }
168
170
 
@@ -282,5 +284,7 @@
282
284
  --color-nonmatching-bracket-background: initial;
283
285
  --color-editor-selection: hsl(207deg 88% 22%);
284
286
  --color-editor-selection-blurred: #454545;
287
+ --color-selected-option: #fff;
288
+ --color-selected-option-background: #0e639c;
285
289
  --color-highlighted-line: hsl(133deg 100% 30% / 50%);
286
290
  }
package/package.json CHANGED
@@ -55,5 +55,5 @@
55
55
  "unittest": "scripts/test/run_unittests.py --no-text-coverage",
56
56
  "watch": "third_party/node/node.py --output scripts/watch_build.js"
57
57
  },
58
- "version": "1.0.934332"
58
+ "version": "1.0.935974"
59
59
  }