chrome-devtools-frontend 1.0.1679060 → 1.0.1679704

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/front_end/core/root/Runtime.ts +5 -0
  2. package/front_end/core/sdk/CSSMetadata.ts +1 -6
  3. package/front_end/core/sdk/DOMModel.ts +44 -3
  4. package/front_end/core/sdk/EmulationModel.ts +18 -9
  5. package/front_end/core/sdk/SDKSettings.ts +66 -0
  6. package/front_end/core/sdk/sdk-meta.ts +0 -430
  7. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +19 -17
  8. package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +385 -0
  9. package/front_end/generated/InspectorBackendCommands.ts +1 -1
  10. package/front_end/generated/protocol.ts +1 -0
  11. package/front_end/models/emulation/DeviceModeModel.ts +9 -2
  12. package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +48 -0
  13. package/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsBlockedByConnectionAllowlist.md +1 -0
  14. package/front_end/models/issues_manager/descriptions/federatedAuthRequestConfigBlockedByConnectionAllowlist.md +1 -0
  15. package/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenBlockedByConnectionAllowlist.md +1 -0
  16. package/front_end/models/issues_manager/descriptions/federatedAuthRequestWellKnownBlockedByConnectionAllowlist.md +1 -0
  17. package/front_end/models/issues_manager/issues_manager.ts +2 -0
  18. package/front_end/models/javascript_metadata/NativeFunctions.js +4 -0
  19. package/front_end/panels/console/ConsoleViewMessage.ts +56 -20
  20. package/front_end/panels/console/consoleView.css +4 -2
  21. package/front_end/panels/emulation/DeviceModeView.ts +11 -2
  22. package/front_end/panels/emulation/InspectedPagePlaceholder.ts +0 -10
  23. package/front_end/panels/issues/AffectedBlockedByResponseView.ts +6 -6
  24. package/front_end/panels/issues/AffectedCookiesView.ts +8 -8
  25. package/front_end/panels/issues/AffectedDescendantsWithinSelectElementView.ts +2 -2
  26. package/front_end/panels/issues/AffectedDirectivesView.ts +11 -12
  27. package/front_end/panels/issues/AffectedDocumentsInQuirksModeView.ts +4 -4
  28. package/front_end/panels/issues/AffectedElementsView.ts +1 -1
  29. package/front_end/panels/issues/AffectedHeavyAdView.ts +10 -14
  30. package/front_end/panels/issues/AffectedLazyLoadImagesView.ts +1 -1
  31. package/front_end/panels/issues/AffectedMetadataAllowedSitesView.ts +1 -5
  32. package/front_end/panels/issues/AffectedPartitioningBlobURLView.ts +4 -4
  33. package/front_end/panels/issues/AffectedPermissionElementsView.ts +1 -1
  34. package/front_end/panels/issues/AffectedResourcesView.ts +5 -5
  35. package/front_end/panels/issues/AffectedSelectivePermissionsInterventionView.ts +9 -9
  36. package/front_end/panels/issues/AffectedSharedArrayBufferIssueDetailsView.ts +15 -14
  37. package/front_end/panels/issues/AffectedSourcesView.ts +1 -1
  38. package/front_end/panels/issues/AffectedTrackingSitesView.ts +1 -5
  39. package/front_end/panels/issues/CorsIssueDetailsView.ts +47 -47
  40. package/front_end/panels/issues/GenericIssueDetailsView.ts +3 -3
  41. package/front_end/panels/issues/HiddenIssuesRow.ts +2 -2
  42. package/front_end/panels/issues/IssueKindView.ts +6 -6
  43. package/front_end/panels/issues/IssueView.ts +15 -16
  44. package/front_end/panels/issues/IssuesPane.ts +32 -37
  45. package/front_end/panels/issues/components/HideIssuesMenu.ts +1 -1
  46. package/front_end/panels/issues/issues-meta.ts +2 -2
  47. package/front_end/panels/profiler/HeapDetachedElementsDataGrid.ts +106 -91
  48. package/front_end/panels/profiler/HeapDetachedElementsView.ts +4 -7
  49. package/front_end/panels/profiler/heapDetachedElementsDataGrid.css +14 -0
  50. package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +38 -29
  51. package/front_end/panels/sources/SourcesView.ts +16 -12
  52. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +214 -51
  53. package/front_end/panels/whats_new/ReleaseNoteText.ts +9 -15
  54. package/front_end/panels/whats_new/resources/WNDT.md +5 -8
  55. package/front_end/third_party/chromium/README.chromium +1 -1
  56. package/front_end/third_party/puppeteer/README.chromium +2 -2
  57. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +8 -0
  58. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +33 -18
  59. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Frame.js +2 -2
  60. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Frame.js.map +1 -1
  61. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.d.ts.map +1 -1
  62. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.js +11 -4
  63. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.js.map +1 -1
  64. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.d.ts.map +1 -1
  65. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.js +1 -2
  66. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.js.map +1 -1
  67. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.js +1 -1
  68. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.js.map +1 -1
  69. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/util.js +1 -1
  70. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/util.js.map +1 -1
  71. package/front_end/third_party/puppeteer/package/lib/puppeteer/environment.d.ts +16 -2
  72. package/front_end/third_party/puppeteer/package/lib/puppeteer/environment.d.ts.map +1 -1
  73. package/front_end/third_party/puppeteer/package/lib/puppeteer/environment.js +16 -3
  74. package/front_end/third_party/puppeteer/package/lib/puppeteer/environment.js.map +1 -1
  75. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  76. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.js +5 -0
  77. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.js.map +1 -1
  78. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  79. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ChromeLauncher.js +1 -2
  80. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ChromeLauncher.js.map +1 -1
  81. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/FirefoxLauncher.d.ts.map +1 -1
  82. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/FirefoxLauncher.js +0 -1
  83. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/FirefoxLauncher.js.map +1 -1
  84. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/PuppeteerNode.d.ts +8 -0
  85. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/PuppeteerNode.d.ts.map +1 -1
  86. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/PuppeteerNode.js +11 -0
  87. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/PuppeteerNode.js.map +1 -1
  88. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.d.ts +1 -3
  89. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
  90. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.js +1 -10
  91. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/ScreenRecorder.js.map +1 -1
  92. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/util/fs.d.ts.map +1 -1
  93. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/util/fs.js +2 -1
  94. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/util/fs.js.map +1 -1
  95. package/front_end/third_party/puppeteer/package/lib/puppeteer/node-env-setup.js +69 -1
  96. package/front_end/third_party/puppeteer/package/lib/puppeteer/node-env-setup.js.map +1 -1
  97. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts +1 -1
  98. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js +1 -1
  99. package/front_end/third_party/puppeteer/package/lib/types.d.ts +8 -0
  100. package/front_end/third_party/puppeteer/package/package.json +2 -2
  101. package/front_end/third_party/puppeteer/package/src/api/Frame.ts +2 -2
  102. package/front_end/third_party/puppeteer/package/src/api/Page.ts +15 -4
  103. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +1 -2
  104. package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +1 -4
  105. package/front_end/third_party/puppeteer/package/src/common/util.ts +1 -1
  106. package/front_end/third_party/puppeteer/package/src/environment.ts +35 -5
  107. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +5 -0
  108. package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +7 -5
  109. package/front_end/third_party/puppeteer/package/src/node/FirefoxLauncher.ts +0 -1
  110. package/front_end/third_party/puppeteer/package/src/node/PuppeteerNode.ts +12 -0
  111. package/front_end/third_party/puppeteer/package/src/node/ScreenRecorder.ts +0 -14
  112. package/front_end/third_party/puppeteer/package/src/node/util/fs.ts +2 -1
  113. package/front_end/third_party/puppeteer/package/src/node-env-setup.ts +97 -1
  114. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  115. package/front_end/ui/comments/CommentAnchorResolver.ts +1 -2
  116. package/front_end/ui/comments/CommentOverlayManager.ts +30 -9
  117. package/front_end/ui/legacy/TextPrompt.ts +1 -1
  118. package/front_end/ui/legacy/Treeoutline.ts +22 -10
  119. package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +5 -6
  120. package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +1 -1
  121. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +9 -4
  122. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +11 -43
  123. package/front_end/ui/legacy/components/settings_ui/SettingsUI.ts +2 -2
  124. package/mcp/mcp.ts +2 -0
  125. package/package.json +1 -1
@@ -544,6 +544,10 @@ interface DevToolsAriaLiveRecording {
544
544
  enabled: boolean;
545
545
  }
546
546
 
547
+ interface DevToolsMobileSafeAreaEmulation {
548
+ enabled: boolean;
549
+ }
550
+
547
551
  /**
548
552
  * The host configuration that we expect from the DevTools back-end.
549
553
  *
@@ -601,6 +605,7 @@ export type HostConfig = Platform.TypeScriptUtilities.RecursivePartial<{
601
605
  devToolsPlusButton: DevToolsPlusButton,
602
606
  devToolsAriaLiveRecording: DevToolsAriaLiveRecording,
603
607
  devToolsInstrumentationBreakpoints: DevToolsInstrumentationBreakpoints,
608
+ devToolsMobileSafeAreaEmulation: DevToolsMobileSafeAreaEmulation,
604
609
  extensionsOnChromeUrls: ExtensionsOnChromeUrls,
605
610
  devToolsComments: HostConfigDevToolsComments,
606
611
  }>;
@@ -160,7 +160,7 @@ export class CSSMetadata {
160
160
  if (partialValueKeywordsNoPresets.get(name)?.has(value)) {
161
161
  return false;
162
162
  }
163
- return CSS.supports(name, value);
163
+ return true;
164
164
  })
165
165
  .sort(CSSMetadata.sortPrefixesAndCSSWideKeywordsToEnd);
166
166
  const presets = values.map(value => `${name}: ${value}`);
@@ -340,11 +340,6 @@ export class CSSMetadata {
340
340
  let keywords: (string[]|undefined) = propertyValues.get(propertyName) || propertyValues.get(unprefixedName);
341
341
  if (!keywords) {
342
342
  keywords = [];
343
- for (const commonKeyword of CommonKeywords) {
344
- if (CSS.supports(propertyName, commonKeyword)) {
345
- keywords.push(commonKeyword);
346
- }
347
- }
348
343
  propertyValues.set(propertyName, keywords);
349
344
  }
350
345
  return keywords;
@@ -140,6 +140,47 @@ export interface DOMNodeEventTypes {
140
140
  [DOMNodeEvents.CONTAINER_QUERY_OVERLAY_STATE_CHANGED]: {enabled: boolean};
141
141
  }
142
142
 
143
+ export function cssEscape(value: string): string {
144
+ const length = value.length;
145
+ let index = -1;
146
+ let codeUnit: number;
147
+ let result = '';
148
+ const firstCodeUnit = value.charCodeAt(0);
149
+
150
+ if (length === 0) {
151
+ return '';
152
+ }
153
+
154
+ if (length === 1 && firstCodeUnit === 0x002D) {
155
+ return '\\' + value;
156
+ }
157
+
158
+ while (++index < length) {
159
+ codeUnit = value.charCodeAt(index);
160
+ if (codeUnit === 0x0000) {
161
+ result += '\uFFFD';
162
+ continue;
163
+ }
164
+
165
+ if ((codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit === 0x007F ||
166
+ (index === 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
167
+ (index === 1 && codeUnit >= 0x0030 && codeUnit <= 0x0039 && firstCodeUnit === 0x002D)) {
168
+ result += '\\' + codeUnit.toString(16) + ' ';
169
+ continue;
170
+ }
171
+
172
+ if (codeUnit >= 0x0080 || codeUnit === 0x002D || codeUnit === 0x005F ||
173
+ (codeUnit >= 0x0030 && codeUnit <= 0x0039) || (codeUnit >= 0x0041 && codeUnit <= 0x005A) ||
174
+ (codeUnit >= 0x0061 && codeUnit <= 0x007A)) {
175
+ result += value.charAt(index);
176
+ continue;
177
+ }
178
+
179
+ result += '\\' + value.charAt(index);
180
+ }
181
+ return result;
182
+ }
183
+
143
184
  export class DOMNode extends Common.ObjectWrapper.ObjectWrapper<DOMNodeEventTypes> {
144
185
  #domModel: DOMModel;
145
186
  readonly #frameManager: FrameManager;
@@ -1243,14 +1284,14 @@ export class DOMNode extends Common.ObjectWrapper.ObjectWrapper<DOMNodeEventType
1243
1284
  const classes = this.getAttribute('class');
1244
1285
 
1245
1286
  if (lowerCaseName === 'input' && type && !id && !classes) {
1246
- return lowerCaseName + '[type="' + CSS.escape(type) + '"]';
1287
+ return lowerCaseName + '[type="' + cssEscape(type) + '"]';
1247
1288
  }
1248
1289
  if (id) {
1249
- return lowerCaseName + '#' + CSS.escape(id);
1290
+ return lowerCaseName + '#' + cssEscape(id);
1250
1291
  }
1251
1292
  if (classes) {
1252
1293
  const classList = classes.trim().split(/\s+/g);
1253
- return (lowerCaseName === 'div' ? '' : lowerCaseName) + '.' + classList.map(cls => CSS.escape(cls)).join('.');
1294
+ return (lowerCaseName === 'div' ? '' : lowerCaseName) + '.' + classList.map(cls => cssEscape(cls)).join('.');
1254
1295
  }
1255
1296
  if (this.pseudoIdentifier()) {
1256
1297
  return `${lowerCaseName}(${this.pseudoIdentifier()})`;
@@ -10,13 +10,22 @@ import type {MultitargetNetworkManager} from './NetworkManager.js';
10
10
  import {Events, OverlayModel} from './OverlayModel.js';
11
11
  import {SDKModel} from './SDKModel.js';
12
12
  import {
13
+ avifFormatDisabledSettingDescriptor,
13
14
  cpuPressureSettingDescriptor,
15
+ emulatedCSSMediaFeatureColorGamutSettingDescriptor,
14
16
  emulatedCSSMediaFeatureForcedColorsSettingDescriptor,
15
17
  emulatedCSSMediaFeaturePrefersColorSchemeSettingDescriptor,
18
+ emulatedCSSMediaFeaturePrefersContrastSettingDescriptor,
19
+ emulatedCSSMediaFeaturePrefersReducedDataSettingDescriptor,
16
20
  emulatedCSSMediaFeaturePrefersReducedMotionSettingDescriptor,
21
+ emulatedCSSMediaFeaturePrefersReducedTransparencySettingDescriptor,
17
22
  emulatedCSSMediaSettingDescriptor,
23
+ emulatedOSTextScaleSettingDescriptor,
24
+ emulatedVisionDeficiencySettingDescriptor,
18
25
  idleDetectionSettingDescriptor,
19
26
  javaScriptDisabledSettingDescriptor,
27
+ jpegXlFormatDisabledSettingDescriptor,
28
+ localFontsDisabledSettingDescriptor,
20
29
  touchSettingDescriptor,
21
30
  } from './SDKSettings.js';
22
31
  import {Capability, type Target} from './Target.js';
@@ -111,16 +120,16 @@ export class EmulationModel extends SDKModel<EmulationModelEventTypes> implement
111
120
  });
112
121
 
113
122
  const mediaTypeSetting = settings.resolve(emulatedCSSMediaSettingDescriptor);
114
- const mediaFeatureColorGamutSetting = settings.moduleSetting<string>('emulated-css-media-feature-color-gamut');
123
+ const mediaFeatureColorGamutSetting = settings.resolve(emulatedCSSMediaFeatureColorGamutSettingDescriptor);
115
124
  const mediaFeaturePrefersColorSchemeSetting =
116
125
  settings.resolve(emulatedCSSMediaFeaturePrefersColorSchemeSettingDescriptor);
117
126
  const mediaFeatureForcedColorsSetting = settings.resolve(emulatedCSSMediaFeatureForcedColorsSettingDescriptor);
118
127
  const mediaFeaturePrefersContrastSetting =
119
- settings.moduleSetting<string>('emulated-css-media-feature-prefers-contrast');
128
+ settings.resolve(emulatedCSSMediaFeaturePrefersContrastSettingDescriptor);
120
129
  const mediaFeaturePrefersReducedDataSetting =
121
- settings.moduleSetting<string>('emulated-css-media-feature-prefers-reduced-data');
130
+ settings.resolve(emulatedCSSMediaFeaturePrefersReducedDataSettingDescriptor);
122
131
  const mediaFeaturePrefersReducedTransparencySetting =
123
- settings.moduleSetting<string>('emulated-css-media-feature-prefers-reduced-transparency');
132
+ settings.resolve(emulatedCSSMediaFeaturePrefersReducedTransparencySettingDescriptor);
124
133
  const mediaFeaturePrefersReducedMotionSetting =
125
134
  settings.resolve(emulatedCSSMediaFeaturePrefersReducedMotionSettingDescriptor);
126
135
  // Note: this uses a different format than what the CDP API expects,
@@ -182,13 +191,13 @@ export class EmulationModel extends SDKModel<EmulationModelEventTypes> implement
182
191
  void this.emulateAutoDarkMode(true);
183
192
  }
184
193
 
185
- const visionDeficiencySetting = settings.moduleSetting('emulated-vision-deficiency');
194
+ const visionDeficiencySetting = settings.resolve(emulatedVisionDeficiencySettingDescriptor);
186
195
  visionDeficiencySetting.addChangeListener(() => this.emulateVisionDeficiency(visionDeficiencySetting.get()));
187
196
  if (visionDeficiencySetting.get()) {
188
197
  void this.emulateVisionDeficiency(visionDeficiencySetting.get());
189
198
  }
190
199
 
191
- const osTextScaleSetting = settings.moduleSetting('emulated-os-text-scale');
200
+ const osTextScaleSetting = settings.resolve(emulatedOSTextScaleSettingDescriptor);
192
201
  osTextScaleSetting.addChangeListener(() => {
193
202
  void this.emulateOSTextScale(parseFloat(osTextScaleSetting.get()) || undefined);
194
203
  });
@@ -196,14 +205,14 @@ export class EmulationModel extends SDKModel<EmulationModelEventTypes> implement
196
205
  void this.emulateOSTextScale(parseFloat(osTextScaleSetting.get()) || undefined);
197
206
  }
198
207
 
199
- const localFontsDisabledSetting = settings.moduleSetting('local-fonts-disabled');
208
+ const localFontsDisabledSetting = settings.resolve(localFontsDisabledSettingDescriptor);
200
209
  localFontsDisabledSetting.addChangeListener(() => this.setLocalFontsDisabled(localFontsDisabledSetting.get()));
201
210
  if (localFontsDisabledSetting.get()) {
202
211
  this.setLocalFontsDisabled(localFontsDisabledSetting.get());
203
212
  }
204
213
 
205
- const avifFormatDisabledSetting = settings.moduleSetting('avif-format-disabled');
206
- const jpegXlFormatDisabledSetting = settings.moduleSetting('jpeg-xl-format-disabled');
214
+ const avifFormatDisabledSetting = settings.resolve(avifFormatDisabledSettingDescriptor);
215
+ const jpegXlFormatDisabledSetting = settings.resolve(jpegXlFormatDisabledSettingDescriptor);
207
216
  const webpFormatDisabledSetting = settings.moduleSetting('webp-format-disabled');
208
217
 
209
218
  const updateDisabledImageFormats = (): void => {
@@ -2,6 +2,7 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
+ import type * as Protocol from '../../generated/protocol.js';
5
6
  import * as Common from '../common/common.js';
6
7
 
7
8
  export const jsSourceMapsEnabledSettingDescriptor: Common.Settings.SettingDescriptor<boolean> = {
@@ -199,3 +200,68 @@ export const emulatedCSSMediaFeaturePrefersReducedMotionSettingDescriptor: Commo
199
200
  defaultValue: '',
200
201
  storageType: Common.Settings.SettingStorageType.SESSION,
201
202
  };
203
+
204
+ export const emulatedCSSMediaFeaturePrefersContrastSettingDescriptor: Common.Settings.SettingDescriptor<string> = {
205
+ name: 'emulated-css-media-feature-prefers-contrast',
206
+ type: Common.Settings.SettingType.ENUM,
207
+ defaultValue: '',
208
+ storageType: Common.Settings.SettingStorageType.SESSION,
209
+ };
210
+
211
+ export const emulatedCSSMediaFeaturePrefersReducedDataSettingDescriptor: Common.Settings.SettingDescriptor<string> = {
212
+ name: 'emulated-css-media-feature-prefers-reduced-data',
213
+ type: Common.Settings.SettingType.ENUM,
214
+ defaultValue: '',
215
+ storageType: Common.Settings.SettingStorageType.SESSION,
216
+ };
217
+
218
+ export const emulatedCSSMediaFeaturePrefersReducedTransparencySettingDescriptor:
219
+ Common.Settings.SettingDescriptor<string> = {
220
+ name: 'emulated-css-media-feature-prefers-reduced-transparency',
221
+ type: Common.Settings.SettingType.ENUM,
222
+ defaultValue: '',
223
+ storageType: Common.Settings.SettingStorageType.SESSION,
224
+ };
225
+
226
+ export const emulatedCSSMediaFeatureColorGamutSettingDescriptor: Common.Settings.SettingDescriptor<string> = {
227
+ name: 'emulated-css-media-feature-color-gamut',
228
+ type: Common.Settings.SettingType.ENUM,
229
+ defaultValue: '',
230
+ storageType: Common.Settings.SettingStorageType.SESSION,
231
+ };
232
+
233
+ export const emulatedVisionDeficiencySettingDescriptor:
234
+ Common.Settings.SettingDescriptor<Protocol.Emulation.SetEmulatedVisionDeficiencyRequestType> = {
235
+ name: 'emulated-vision-deficiency',
236
+ type: Common.Settings.SettingType.ENUM,
237
+ defaultValue: 'none' as Protocol.Emulation.SetEmulatedVisionDeficiencyRequestType,
238
+ storageType: Common.Settings.SettingStorageType.SESSION,
239
+ };
240
+
241
+ export const emulatedOSTextScaleSettingDescriptor: Common.Settings.SettingDescriptor<string> = {
242
+ name: 'emulated-os-text-scale',
243
+ type: Common.Settings.SettingType.ENUM,
244
+ defaultValue: '',
245
+ storageType: Common.Settings.SettingStorageType.SESSION,
246
+ };
247
+
248
+ export const localFontsDisabledSettingDescriptor: Common.Settings.SettingDescriptor<boolean> = {
249
+ name: 'local-fonts-disabled',
250
+ type: Common.Settings.SettingType.BOOLEAN,
251
+ defaultValue: false,
252
+ storageType: Common.Settings.SettingStorageType.SESSION,
253
+ };
254
+
255
+ export const avifFormatDisabledSettingDescriptor: Common.Settings.SettingDescriptor<boolean> = {
256
+ name: 'avif-format-disabled',
257
+ type: Common.Settings.SettingType.BOOLEAN,
258
+ defaultValue: false,
259
+ storageType: Common.Settings.SettingStorageType.SESSION,
260
+ };
261
+
262
+ export const jpegXlFormatDisabledSettingDescriptor: Common.Settings.SettingDescriptor<boolean> = {
263
+ name: 'jpeg-xl-format-disabled',
264
+ type: Common.Settings.SettingType.BOOLEAN,
265
+ defaultValue: false,
266
+ storageType: Common.Settings.SettingStorageType.SESSION,
267
+ };