chrome-devtools-frontend 1.0.1530564 → 1.0.1532228

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 (59) hide show
  1. package/AUTHORS +2 -0
  2. package/front_end/core/protocol_client/InspectorBackend.ts +15 -6
  3. package/front_end/core/protocol_client/protocol_client.ts +0 -10
  4. package/front_end/core/sdk/NetworkManager.ts +155 -41
  5. package/front_end/core/sdk/SourceMap.ts +6 -1
  6. package/front_end/core/sdk/SourceMapScopesInfo.ts +73 -7
  7. package/front_end/generated/ARIAProperties.js +1301 -174
  8. package/front_end/generated/Deprecation.ts +7 -0
  9. package/front_end/generated/InspectorBackendCommands.js +1 -0
  10. package/front_end/generated/protocol-mapping.d.ts +4 -0
  11. package/front_end/generated/protocol-proxy-api.d.ts +5 -0
  12. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +1 -1
  13. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +1 -1
  14. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatterBounds.snapshot.txt +4 -0
  15. package/front_end/models/bindings/CompilerScriptMapping.ts +16 -14
  16. package/front_end/models/issues_manager/AttributionReportingIssue.ts +4 -3
  17. package/front_end/models/issues_manager/BounceTrackingIssue.ts +4 -3
  18. package/front_end/models/issues_manager/ClientHintIssue.ts +4 -3
  19. package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +4 -3
  20. package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +5 -3
  21. package/front_end/models/issues_manager/CookieIssue.ts +4 -4
  22. package/front_end/models/issues_manager/CorsIssue.ts +3 -3
  23. package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +2 -1
  24. package/front_end/models/issues_manager/DeprecationIssue.ts +4 -3
  25. package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +4 -3
  26. package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +4 -3
  27. package/front_end/models/issues_manager/GenericIssue.ts +3 -3
  28. package/front_end/models/issues_manager/HeavyAdIssue.ts +3 -3
  29. package/front_end/models/issues_manager/IssuesManager.ts +3 -3
  30. package/front_end/models/issues_manager/LowTextContrastIssue.ts +5 -3
  31. package/front_end/models/issues_manager/MixedContentIssue.ts +4 -3
  32. package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +5 -3
  33. package/front_end/models/issues_manager/PropertyRuleIssue.ts +4 -3
  34. package/front_end/models/issues_manager/QuirksModeIssue.ts +4 -3
  35. package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +5 -3
  36. package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +5 -3
  37. package/front_end/models/issues_manager/SharedDictionaryIssue.ts +5 -3
  38. package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +5 -3
  39. package/front_end/models/issues_manager/UnencodedDigestIssue.ts +5 -3
  40. package/front_end/models/issues_manager/UserReidentificationIssue.ts +4 -3
  41. package/front_end/models/javascript_metadata/NativeFunctions.js +8 -2
  42. package/front_end/models/trace/insights/ForcedReflow.ts +1 -1
  43. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +17 -4
  44. package/front_end/panels/console/ConsoleInsightTeaser.ts +111 -60
  45. package/front_end/panels/console/ConsoleSidebar.ts +3 -3
  46. package/front_end/panels/network/NetworkLogView.ts +135 -33
  47. package/front_end/panels/network/{BlockedURLsPane.ts → RequestConditionsDrawer.ts} +64 -23
  48. package/front_end/panels/network/network-meta.ts +33 -9
  49. package/front_end/panels/network/network.ts +3 -3
  50. package/front_end/panels/network/{blockedURLsPane.css → requestConditionsDrawer.css} +5 -0
  51. package/front_end/panels/recorder/components/stepView.css +2 -2
  52. package/front_end/panels/sources/SourcesSearchScope.ts +5 -0
  53. package/front_end/panels/sources/sources-meta.ts +1 -0
  54. package/front_end/panels/timeline/components/insights/ForcedReflow.ts +2 -2
  55. package/front_end/third_party/chromium/README.chromium +1 -1
  56. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +31 -5
  57. package/front_end/ui/legacy/components/utils/TargetDetachedDialog.ts +3 -0
  58. package/front_end/ui/visual_logging/KnownContextValues.ts +5 -0
  59. package/package.json +1 -1
@@ -17,8 +17,9 @@ import * as Buttons from '../../ui/components/buttons/buttons.js';
17
17
  import * as UI from '../../ui/legacy/legacy.js';
18
18
  import {Directives, html, type LitTemplate, nothing, render} from '../../ui/lit/lit.js';
19
19
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
20
+ import * as MobileThrottling from '../mobile_throttling/mobile_throttling.js';
20
21
 
21
- import blockedURLsPaneStyles from './blockedURLsPane.css.js';
22
+ import requestConditionsDrawerStyles from './requestConditionsDrawer.css.js';
22
23
 
23
24
  const {ref} = Directives;
24
25
 
@@ -27,6 +28,10 @@ const UIStrings = {
27
28
  * @description Text to enable blocking of network requests
28
29
  */
29
30
  enableNetworkRequestBlocking: 'Enable network request blocking',
31
+ /**
32
+ * @description Text to enable blocking of network requests
33
+ */
34
+ enableBlockingAndThrottling: 'Enable blocking and throttling',
30
35
  /**
31
36
  * @description Tooltip text that appears when hovering over the plus button in the Blocked URLs Pane of the Network panel
32
37
  */
@@ -35,15 +40,23 @@ const UIStrings = {
35
40
  * @description Accessible label for the button to add request blocking patterns in the network request blocking tool
36
41
  */
37
42
  addNetworkRequestBlockingPattern: 'Add network request blocking pattern',
43
+ /**
44
+ * @description Accessible label for the button to add request blocking patterns in the network request blocking tool
45
+ */
46
+ addPatternLabel: 'Add network request throttling or blocking pattern',
38
47
  /**
39
48
  * @description Text that shows in the network request blocking panel if no pattern has yet been added.
40
49
  */
41
50
  noNetworkRequestsBlocked: 'No blocked network requests',
51
+ /**
52
+ * @description Text that shows in the network request blocking panel if no pattern has yet been added.
53
+ */
54
+ noPattern: 'No request throttling or blocking patterns',
42
55
  /**
43
56
  * @description Text that shows in the network request blocking panel if no pattern has yet been added.
44
57
  * @example {Add pattern} PH1
45
58
  */
46
- addPatternToBlock: 'Add a pattern to block network requests by clicking on the "{PH1}" button.',
59
+ addPatternToBlock: 'Add a pattern by clicking on the "{PH1}" button.',
47
60
  /**
48
61
  * @description Text in Blocked URLs Pane of the Network panel
49
62
  * @example {4} PH1
@@ -56,7 +69,7 @@ const UIStrings = {
56
69
  /**
57
70
  * @description Text in Blocked URLs Pane of the Network panel
58
71
  */
59
- textPatternToBlockMatchingURLPatterns: 'Text pattern to block matching requests; use URLPattern syntax.',
72
+ textEditPattern: 'Text pattern to block or throttle matching requests; use URLPattern syntax.',
60
73
  /**
61
74
  * @description Error text for empty list widget input in Request Blocking tool
62
75
  */
@@ -87,7 +100,7 @@ const UIStrings = {
87
100
  */
88
101
  learnMore: 'Learn more',
89
102
  } as const;
90
- const str_ = i18n.i18n.registerUIStrings('panels/network/BlockedURLsPane.ts', UIStrings);
103
+ const str_ = i18n.i18n.registerUIStrings('panels/network/RequestConditionsDrawer.ts', UIStrings);
91
104
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
92
105
 
93
106
  const NETWORK_REQUEST_BLOCKING_EXPLANATION_URL =
@@ -105,23 +118,27 @@ interface ViewInput {
105
118
  }
106
119
  type View = (input: ViewInput, output: object, target: HTMLElement) => void;
107
120
  export const DEFAULT_VIEW: View = (input, output, target) => {
121
+ const individualThrottlingEnabled = Boolean(Root.Runtime.hostConfig.devToolsIndividualRequestThrottling?.enabled);
108
122
  render(
109
123
  // clang-format off
110
124
  html`
111
- <style>${blockedURLsPaneStyles}</style>
125
+ <style>${RequestConditionsDrawer}</style>
112
126
  <devtools-toolbar jslog=${VisualLogging.toolbar()}>
113
127
  <devtools-checkbox
114
128
  ?checked=${input.enabled}
115
129
  @click=${input.toggleEnabled}
116
130
  .jslogContext=${'network.enable-request-blocking'}>
117
- ${i18nString(UIStrings.enableNetworkRequestBlocking)}
131
+ ${individualThrottlingEnabled ? i18nString(UIStrings.enableBlockingAndThrottling)
132
+ : i18nString(UIStrings.enableNetworkRequestBlocking)}
118
133
  </devtools-checkbox>
119
134
  <div class="toolbar-divider"></div>
120
135
  <devtools-button ${bindToAction('network.add-network-request-blocking-pattern')}></devtools-button>
121
136
  <devtools-button ${bindToAction('network.remove-all-network-request-blocking-patterns')}></devtools-button>
122
137
  </devtools-toolbar>
123
138
  <div class=empty-state ${ref(e => input.list.setEmptyPlaceholder(e ?? null))}>
124
- <span class=empty-state-header>${i18nString(UIStrings.noNetworkRequestsBlocked)}</span>
139
+ <span class=empty-state-header>${individualThrottlingEnabled
140
+ ? i18nString(UIStrings.noPattern)
141
+ : i18nString(UIStrings.noNetworkRequestsBlocked)}</span>
125
142
  <div class=empty-state-description>
126
143
  <span>${i18nString(UIStrings.addPatternToBlock, {PH1: i18nString(UIStrings.addPattern)})}</span>
127
144
  <x-link
@@ -136,7 +153,8 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
136
153
  @click=${input.addPattern}
137
154
  class=add-button
138
155
  .jslogContext=${'network.add-network-request-blocking-pattern'}
139
- aria-label=${i18nString(UIStrings.addNetworkRequestBlockingPattern)}
156
+ aria-label=${individualThrottlingEnabled ? i18nString(UIStrings.addPatternLabel)
157
+ : i18nString(UIStrings.addNetworkRequestBlockingPattern)}
140
158
  .variant=${Buttons.Button.Variant.TONAL}>
141
159
  ${i18nString(UIStrings.addPattern)}
142
160
  </devtools-button>
@@ -157,7 +175,7 @@ function learnMore(): LitTemplate {
157
175
  </x-link>`;
158
176
  }
159
177
 
160
- export class BlockedURLsPane extends UI.Widget.VBox implements
178
+ export class RequestConditionsDrawer extends UI.Widget.VBox implements
161
179
  UI.ListWidget.Delegate<SDK.NetworkManager.RequestCondition> {
162
180
  private manager: SDK.NetworkManager.MultitargetNetworkManager;
163
181
  private readonly list: UI.ListWidget.ListWidget<SDK.NetworkManager.RequestCondition>;
@@ -177,7 +195,7 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
177
195
  SDK.NetworkManager.MultitargetNetworkManager.Events.BLOCKED_PATTERNS_CHANGED, this.update, this);
178
196
 
179
197
  this.list = new UI.ListWidget.ListWidget(this);
180
- this.list.registerRequiredCSS(blockedURLsPaneStyles);
198
+ this.list.registerRequiredCSS(requestConditionsDrawerStyles);
181
199
  this.list.element.classList.add('blocked-urls');
182
200
 
183
201
  this.editor = null;
@@ -192,7 +210,7 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
192
210
  }
193
211
 
194
212
  override performUpdate(): void {
195
- const enabled = this.manager.blockingEnabled();
213
+ const enabled = this.manager.requestConditions.conditionsEnabled;
196
214
  this.list.element.classList.toggle('blocking-disabled', !enabled && Boolean(this.manager.requestConditions.count));
197
215
 
198
216
  const input: ViewInput = {
@@ -205,9 +223,11 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
205
223
  }
206
224
 
207
225
  addPattern(): void {
208
- this.manager.setBlockingEnabled(true);
226
+ this.manager.requestConditions.conditionsEnabled = true;
209
227
  this.list.addNewItem(
210
- 0, new SDK.NetworkManager.RequestCondition({url: Platform.DevToolsPath.EmptyUrlString, enabled: true}));
228
+ 0,
229
+ SDK.NetworkManager.RequestCondition.createFromSetting(
230
+ {url: Platform.DevToolsPath.EmptyUrlString, enabled: true}));
211
231
  }
212
232
 
213
233
  removeAllPatterns(): void {
@@ -224,6 +244,11 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
224
244
  condition.enabled = !condition.enabled;
225
245
  }
226
246
  };
247
+ const onConditionsChanged = (conditions: SDK.NetworkManager.ThrottlingConditions): void => {
248
+ if (editable) {
249
+ condition.conditions = conditions;
250
+ }
251
+ };
227
252
 
228
253
  const {enabled, originalOrUpgradedURLPattern, constructorStringOrWildcardURL, wildcardURL} = condition;
229
254
 
@@ -237,6 +262,17 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
237
262
  ?checked=${enabled}
238
263
  ?disabled=${!editable || !originalOrUpgradedURLPattern}
239
264
  .jslog=${VisualLogging.toggle().track({ change: true })}>
265
+ <devtools-widget
266
+ class=conditions-selector
267
+ ?disabled=${!editable}
268
+ .widgetConfig=${UI.Widget.widgetConfig(
269
+ MobileThrottling.NetworkThrottlingSelector.NetworkThrottlingSelectorWidget, {
270
+ variant:
271
+ MobileThrottling.NetworkThrottlingSelector.NetworkThrottlingSelect.Variant.INDIVIDUAL_REQUEST_CONDITIONS,
272
+ jslogContext: 'request-conditions',
273
+ onConditionsChanged,
274
+ currentConditions: condition.conditions,
275
+ })}></devtools-widget>
240
276
  ${originalOrUpgradedURLPattern ? html`
241
277
  <devtools-tooltip variant=rich jslogcontext=url-pattern id=url-pattern-${index}>
242
278
  <div>hash: ${originalOrUpgradedURLPattern.hash}</div>
@@ -267,7 +303,12 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
267
303
  : i18nString(UIStrings.patternFailedToParse)}
268
304
  ${learnMore()}
269
305
  </devtools-tooltip>`: nothing}
270
- <div @click=${toggle} class=blocked-url-label aria-details=url-pattern-${index}>${constructorStringOrWildcardURL}</div>
306
+ <div
307
+ @click=${toggle}
308
+ class=blocked-url-label
309
+ aria-details=url-pattern-${index}>
310
+ ${constructorStringOrWildcardURL}
311
+ </div>
271
312
  <div class=blocked-url-count>${i18nString(UIStrings.dBlocked, {PH1: count})}</div>`,
272
313
  // clang-format on
273
314
  element);
@@ -290,7 +331,7 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
290
331
  }
291
332
 
292
333
  private toggleEnabled(): void {
293
- this.manager.setBlockingEnabled(!this.manager.blockingEnabled());
334
+ this.manager.requestConditions.conditionsEnabled = !this.manager.requestConditions.conditionsEnabled;
294
335
  this.update();
295
336
  }
296
337
 
@@ -333,7 +374,7 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
333
374
  const titles = content.createChild('div', 'blocked-url-edit-row');
334
375
  const label = titles.createChild('div');
335
376
  if (Root.Runtime.hostConfig.devToolsIndividualRequestThrottling?.enabled) {
336
- label.textContent = i18nString(UIStrings.textPatternToBlockMatchingURLPatterns);
377
+ label.textContent = i18nString(UIStrings.textEditPattern);
337
378
  label.append(UI.XLink.XLink.create(
338
379
  PATTERN_API_DOCS_URL, i18nString(UIStrings.learnMore), undefined, undefined, 'learn-more'));
339
380
  } else {
@@ -368,7 +409,7 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
368
409
  }
369
410
 
370
411
  update(): void {
371
- const enabled = this.manager.blockingEnabled();
412
+ const enabled = this.manager.requestConditions.conditionsEnabled;
372
413
  this.list.clear();
373
414
  for (const pattern of this.manager.requestConditions.conditions) {
374
415
  if (Root.Runtime.hostConfig.devToolsIndividualRequestThrottling?.enabled || pattern.wildcardURL) {
@@ -422,30 +463,30 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
422
463
  }
423
464
  }
424
465
  override wasShown(): void {
425
- UI.Context.Context.instance().setFlavor(BlockedURLsPane, this);
466
+ UI.Context.Context.instance().setFlavor(RequestConditionsDrawer, this);
426
467
  super.wasShown();
427
468
  }
428
469
 
429
470
  override willHide(): void {
430
471
  super.willHide();
431
- UI.Context.Context.instance().setFlavor(BlockedURLsPane, null);
472
+ UI.Context.Context.instance().setFlavor(RequestConditionsDrawer, null);
432
473
  }
433
474
  }
434
475
 
435
476
  export class ActionDelegate implements UI.ActionRegistration.ActionDelegate {
436
477
  handleAction(context: UI.Context.Context, actionId: string): boolean {
437
- const blockedURLsPane = context.flavor(BlockedURLsPane);
438
- if (blockedURLsPane === null) {
478
+ const drawer = context.flavor(RequestConditionsDrawer);
479
+ if (drawer === null) {
439
480
  return false;
440
481
  }
441
482
  switch (actionId) {
442
483
  case 'network.add-network-request-blocking-pattern': {
443
- blockedURLsPane.addPattern();
484
+ drawer.addPattern();
444
485
  return true;
445
486
  }
446
487
 
447
488
  case 'network.remove-all-network-request-blocking-patterns': {
448
- blockedURLsPane.removeAllPatterns();
489
+ drawer.removeAllPatterns();
449
490
  return true;
450
491
  }
451
492
  }
@@ -27,10 +27,18 @@ const UIStrings = {
27
27
  * @description Command for showing the 'Network request blocking' tool
28
28
  */
29
29
  showNetworkRequestBlocking: 'Show Network request blocking',
30
+ /**
31
+ * @description Command for showing the 'Network request blocking' tool
32
+ */
33
+ showRequestConditions: 'Show Request conditions',
30
34
  /**
31
35
  * @description Title of the 'Network request blocking' tool in the bottom drawer
32
36
  */
33
37
  networkRequestBlocking: 'Network request blocking',
38
+ /**
39
+ * @description Title of the 'Request conditions' tool in the bottom drawer
40
+ */
41
+ networkRequestConditions: 'Request conditions',
34
42
  /**
35
43
  * @description Command for showing the 'Network conditions' tool
36
44
  */
@@ -123,6 +131,14 @@ const UIStrings = {
123
131
  * @description Title of an action in the Network request blocking panel to clear all URL patterns.
124
132
  */
125
133
  removeAllNetworkRequestBlockingPatterns: 'Remove all network request blocking patterns',
134
+ /**
135
+ * @description Title of an action in the Network request blocking panel to add a new URL pattern to the blocklist.
136
+ */
137
+ addNetworkRequestBlockingOrThrottlingPattern: 'Add network request blocking or throttling pattern',
138
+ /**
139
+ * @description Title of an action in the Network request blocking panel to clear all URL patterns.
140
+ */
141
+ removeAllNetworkRequestBlockingOrThrottlingPatterns: 'Remove all network request blocking or throttling patterns',
126
142
  /**
127
143
  * @description Title of an action in the Network panel (and title of a setting in the Network category)
128
144
  * that enables options in the UI to copy or export HAR (not translatable) with sensitive data.
@@ -142,6 +158,7 @@ const UIStrings = {
142
158
  } as const;
143
159
  const str_ = i18n.i18n.registerUIStrings('panels/network/network-meta.ts', UIStrings);
144
160
  const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
161
+ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
145
162
  let loadedNetworkModule: (typeof Network|undefined);
146
163
 
147
164
  const isNode = Root.Runtime.Runtime.isNode();
@@ -173,16 +190,20 @@ UI.ViewManager.registerViewExtension({
173
190
  },
174
191
  });
175
192
 
193
+ const individualThrottlingEnabled = (): boolean =>
194
+ Boolean(Root.Runtime.hostConfig.devToolsIndividualRequestThrottling?.enabled);
176
195
  UI.ViewManager.registerViewExtension({
177
196
  location: UI.ViewManager.ViewLocationValues.DRAWER_VIEW,
178
197
  id: 'network.blocked-urls',
179
- commandPrompt: i18nLazyString(UIStrings.showNetworkRequestBlocking),
180
- title: i18nLazyString(UIStrings.networkRequestBlocking),
198
+ commandPrompt: () => individualThrottlingEnabled() ? i18nString(UIStrings.showRequestConditions) :
199
+ i18nString(UIStrings.showNetworkRequestBlocking),
200
+ title: () => individualThrottlingEnabled() ? i18nString(UIStrings.networkRequestConditions) :
201
+ i18nString(UIStrings.networkRequestBlocking),
181
202
  persistence: UI.ViewManager.ViewPersistence.CLOSEABLE,
182
203
  order: 60,
183
204
  async loadView() {
184
205
  const Network = await loadNetworkModule();
185
- return new Network.BlockedURLsPane.BlockedURLsPane();
206
+ return new Network.RequestConditionsDrawer.RequestConditionsDrawer();
186
207
  },
187
208
  });
188
209
 
@@ -329,28 +350,31 @@ UI.ActionRegistration.registerActionExtension({
329
350
  UI.ActionRegistration.registerActionExtension({
330
351
  actionId: 'network.add-network-request-blocking-pattern',
331
352
  category: UI.ActionRegistration.ActionCategory.NETWORK,
332
- title: i18nLazyString(UIStrings.addNetworkRequestBlockingPattern),
353
+ title: () => individualThrottlingEnabled() ? i18nString(UIStrings.addNetworkRequestBlockingOrThrottlingPattern) :
354
+ i18nString(UIStrings.addNetworkRequestBlockingPattern),
333
355
  iconClass: UI.ActionRegistration.IconClass.PLUS,
334
356
  contextTypes() {
335
- return maybeRetrieveContextTypes(Network => [Network.BlockedURLsPane.BlockedURLsPane]);
357
+ return maybeRetrieveContextTypes(Network => [Network.RequestConditionsDrawer.RequestConditionsDrawer]);
336
358
  },
337
359
  async loadActionDelegate() {
338
360
  const Network = await loadNetworkModule();
339
- return new Network.BlockedURLsPane.ActionDelegate();
361
+ return new Network.RequestConditionsDrawer.ActionDelegate();
340
362
  },
341
363
  });
342
364
 
343
365
  UI.ActionRegistration.registerActionExtension({
344
366
  actionId: 'network.remove-all-network-request-blocking-patterns',
345
367
  category: UI.ActionRegistration.ActionCategory.NETWORK,
346
- title: i18nLazyString(UIStrings.removeAllNetworkRequestBlockingPatterns),
368
+ title: () => individualThrottlingEnabled() ?
369
+ i18nString(UIStrings.removeAllNetworkRequestBlockingOrThrottlingPatterns) :
370
+ i18nString(UIStrings.removeAllNetworkRequestBlockingPatterns),
347
371
  iconClass: UI.ActionRegistration.IconClass.CLEAR,
348
372
  contextTypes() {
349
- return maybeRetrieveContextTypes(Network => [Network.BlockedURLsPane.BlockedURLsPane]);
373
+ return maybeRetrieveContextTypes(Network => [Network.RequestConditionsDrawer.RequestConditionsDrawer]);
350
374
  },
351
375
  async loadActionDelegate() {
352
376
  const Network = await loadNetworkModule();
353
- return new Network.BlockedURLsPane.ActionDelegate();
377
+ return new Network.RequestConditionsDrawer.ActionDelegate();
354
378
  },
355
379
  });
356
380
 
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import './BinaryResourceView.js';
6
- import './BlockedURLsPane.js';
6
+ import './RequestConditionsDrawer.js';
7
7
  import './EventSourceMessagesView.js';
8
8
  import './NetworkConfigView.js';
9
9
  import './NetworkDataGridNode.js';
@@ -28,7 +28,6 @@ import './NetworkOverview.js';
28
28
  import './NetworkPanel.js';
29
29
 
30
30
  import * as BinaryResourceView from './BinaryResourceView.js';
31
- import * as BlockedURLsPane from './BlockedURLsPane.js';
32
31
  import * as EventSourceMessagesView from './EventSourceMessagesView.js';
33
32
  import * as NetworkConfigView from './NetworkConfigView.js';
34
33
  import * as NetworkDataGridNode from './NetworkDataGridNode.js';
@@ -41,6 +40,7 @@ import * as NetworkOverview from './NetworkOverview.js';
41
40
  import * as NetworkPanel from './NetworkPanel.js';
42
41
  import * as NetworkSearchScope from './NetworkSearchScope.js';
43
42
  import * as NetworkWaterfallColumn from './NetworkWaterfallColumn.js';
43
+ import * as RequestConditionsDrawer from './RequestConditionsDrawer.js';
44
44
  import * as RequestCookiesView from './RequestCookiesView.js';
45
45
  import * as RequestHTMLView from './RequestHTMLView.js';
46
46
  import * as RequestInitiatorView from './RequestInitiatorView.js';
@@ -54,7 +54,6 @@ import * as SignedExchangeInfoView from './SignedExchangeInfoView.js';
54
54
 
55
55
  export {
56
56
  BinaryResourceView,
57
- BlockedURLsPane,
58
57
  EventSourceMessagesView,
59
58
  NetworkConfigView,
60
59
  NetworkDataGridNode,
@@ -67,6 +66,7 @@ export {
67
66
  NetworkPanel,
68
67
  NetworkSearchScope,
69
68
  NetworkWaterfallColumn,
69
+ RequestConditionsDrawer,
70
70
  RequestCookiesView,
71
71
  RequestHTMLView,
72
72
  RequestInitiatorView,
@@ -74,3 +74,8 @@
74
74
  text-align: inherit;
75
75
  height: 22px;
76
76
  }
77
+
78
+ .conditions-selector {
79
+ max-width: 120px;
80
+ margin: var(--sys-size-3);
81
+ }
@@ -12,8 +12,8 @@
12
12
  }
13
13
 
14
14
  .title-container {
15
- /* 18px for 3 dot menu icon */
16
- max-width: calc(100% - 18px);
15
+ /* Vertically center items with min-width: 0; */
16
+ min-width: 0;
17
17
  font-size: 13px;
18
18
  line-height: 16px;
19
19
  letter-spacing: 0.03em;
@@ -72,6 +72,8 @@ export class SourcesSearchScope implements Search.SearchScope.SearchScope {
72
72
  private projects(): Workspace.Workspace.Project[] {
73
73
  const searchInAnonymousAndContentScripts =
74
74
  Common.Settings.Settings.instance().moduleSetting('search-in-anonymous-and-content-scripts').get();
75
+ const localOverridesEnabled =
76
+ Common.Settings.Settings.instance().moduleSetting('persistence-network-overrides-enabled').get();
75
77
 
76
78
  return Workspace.Workspace.WorkspaceImpl.instance().projects().filter(project => {
77
79
  if (project.type() === Workspace.Workspace.projectTypes.Service) {
@@ -84,6 +86,9 @@ export class SourcesSearchScope implements Search.SearchScope.SearchScope {
84
86
  if (!searchInAnonymousAndContentScripts && project.type() === Workspace.Workspace.projectTypes.ContentScripts) {
85
87
  return false;
86
88
  }
89
+ if (!localOverridesEnabled && project.type() === Workspace.Workspace.projectTypes.FileSystem) {
90
+ return false;
91
+ }
87
92
  return true;
88
93
  });
89
94
  }
@@ -516,6 +516,7 @@ UI.ViewManager.registerViewExtension({
516
516
  title: i18nLazyString(UIStrings.workspace),
517
517
  order: 3,
518
518
  persistence: UI.ViewManager.ViewPersistence.PERMANENT,
519
+ condition: () => !Root.Runtime.Runtime.isTraceApp(),
519
520
  async loadView() {
520
521
  const Sources = await loadSourcesModule();
521
522
  return new Sources.SourcesNavigator.FilesNavigatorView();
@@ -41,7 +41,7 @@ export class ForcedReflow extends BaseInsightComponent<ForcedReflowInsightModel>
41
41
  }
42
42
 
43
43
  #linkifyUrl(callFrame: Trace.Types.Events.CallFrame|Protocol.Runtime.CallFrame|null): Lit.LitTemplate {
44
- const style = 'display: flex; gap: 4px; padding: 4px 0; overflow: hidden; white-space: nowrap';
44
+ const style = 'display: flex; gap: 4px; overflow: hidden; white-space: nowrap';
45
45
  if (!callFrame) {
46
46
  return html`<div style=${style}>${i18nString(UIStrings.unattributed)}</div>`;
47
47
  }
@@ -105,7 +105,7 @@ export class ForcedReflow extends BaseInsightComponent<ForcedReflowInsightModel>
105
105
  <devtools-performance-table
106
106
  .data=${{
107
107
  insight: this,
108
- headers: [i18nString(UIStrings.relatedStackTrace)],
108
+ headers: [i18nString(UIStrings.reflowCallFrames)],
109
109
  rows,
110
110
  } as TableData}>
111
111
  </devtools-performance-table>
@@ -1,7 +1,7 @@
1
1
  Name: Dependencies sourced from the upstream `chromium` repository
2
2
  URL: https://source.chromium.org/chromium/chromium/src/+/main:components/variations/proto/devtools/
3
3
  Version: N/A
4
- Revision: b8cee13d6f07e8bccc83905ddeccf1865b86b5e4
4
+ Revision: d9f4be1af20015ff4b3850d8e33f8038de6b5c2c
5
5
  Update Mechanism: Manual (https://crbug.com/428069060)
6
6
  License: BSD-3-Clause
7
7
  License File: LICENSE
@@ -98,6 +98,32 @@ const UIStrings = {
98
98
  * @description Text for the size of something
99
99
  */
100
100
  size: 'Size',
101
+ /**
102
+ * @description Text for the "Domain" of the cookie
103
+ * https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#domaindomain-value
104
+ */
105
+ domain: 'Domain',
106
+ /**
107
+ * @description Text for the "Path" of the cookie
108
+ * https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#pathpath-value
109
+ */
110
+ path: 'Path',
111
+ /**
112
+ * @description Text for the "Secure" property of the cookie
113
+ * https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#secure
114
+ */
115
+ secure: 'Secure',
116
+ /**
117
+ * @description Text for the "Partition Key Site" property of the cookie
118
+ * https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#partitioned
119
+ */
120
+ partitionKeySite: 'Partition Key Site',
121
+ /**
122
+ * @description Text for the "Priority" property of the cookie
123
+ * Contains Low, Medium (default), or High if using deprecated cookie Priority attribute.
124
+ * https://bugs.chromium.org/p/chromium/issues/detail?id=232693
125
+ */
126
+ priority: 'Priority',
101
127
  /**
102
128
  * @description Data grid name for Editable Cookies data grid
103
129
  */
@@ -195,10 +221,10 @@ export class CookiesTable extends UI.Widget.VBox {
195
221
  ${i18nString(UIStrings.value)}
196
222
  </th>
197
223
  <th id=${SDK.Cookie.Attribute.DOMAIN} sortable weight="7" ?editable=${input.editable}>
198
- Domain
224
+ ${i18nString(UIStrings.domain)}
199
225
  </th>
200
226
  <th id=${SDK.Cookie.Attribute.PATH} sortable weight="7" ?editable=${input.editable}>
201
- Path
227
+ ${i18nString(UIStrings.path)}
202
228
  </th>
203
229
  <th id=${SDK.Cookie.Attribute.EXPIRES} sortable weight="7" ?editable=${input.editable}>
204
230
  Expires / Max-Age
@@ -210,19 +236,19 @@ export class CookiesTable extends UI.Widget.VBox {
210
236
  HttpOnly
211
237
  </th>
212
238
  <th id=${SDK.Cookie.Attribute.SECURE} sortable align="center" weight="7" ?editable=${input.editable} type="boolean">
213
- Secure
239
+ ${i18nString(UIStrings.secure)}
214
240
  </th>
215
241
  <th id=${SDK.Cookie.Attribute.SAME_SITE} sortable weight="7" ?editable=${input.editable}>
216
242
  SameSite
217
243
  </th>
218
244
  <th id=${SDK.Cookie.Attribute.PARTITION_KEY_SITE} sortable weight="7" ?editable=${input.editable}>
219
- Partition Key Site
245
+ ${i18nString(UIStrings.partitionKeySite)}
220
246
  </th>
221
247
  <th id=${SDK.Cookie.Attribute.HAS_CROSS_SITE_ANCESTOR} sortable align="center" weight="7" ?editable=${input.editable} type="boolean">
222
248
  Cross Site
223
249
  </th>
224
250
  <th id=${SDK.Cookie.Attribute.PRIORITY} sortable weight="7" ?editable=${input.editable}>
225
- Priority
251
+ ${i18nString(UIStrings.priority)}
226
252
  </th>
227
253
  ${input.schemeBindingEnabled ? html`
228
254
  <th id=${SDK.Cookie.Attribute.SOURCE_SCHEME} sortable align="center" weight="7" ?editable=${input.editable} type="string">
@@ -21,6 +21,9 @@ export class TargetDetachedDialog extends SDK.SDKModel.SDKModel<void> implements
21
21
  }
22
22
  }
23
23
 
24
+ workerScriptLoaded(): void {
25
+ }
26
+
24
27
  detached({reason}: Protocol.Inspector.DetachedEvent): void {
25
28
  UI.RemoteDebuggingTerminatedScreen.RemoteDebuggingTerminatedScreen.show(reason);
26
29
  }
@@ -575,6 +575,7 @@ export const knownContextValues = new Set([
575
575
  'black-berry-play-book-2.1',
576
576
  'blackbox',
577
577
  'ble',
578
+ 'block',
578
579
  'block-ellipsis',
579
580
  'block-request-domain',
580
581
  'block-request-url',
@@ -1688,6 +1689,7 @@ export const knownContextValues = new Set([
1688
1689
  'freestyler.feedback',
1689
1690
  'freestyler.help',
1690
1691
  'freestyler.history',
1692
+ 'freestyler.history-item',
1691
1693
  'freestyler.main-menu',
1692
1694
  'freestyler.new-chat',
1693
1695
  'freestyler.send-feedback',
@@ -3082,6 +3084,7 @@ export const knownContextValues = new Set([
3082
3084
  'request-animation-frame.callback',
3083
3085
  'request-blocking-enabled',
3084
3086
  'request-blocking-enabled-true',
3087
+ 'request-conditions',
3085
3088
  'request-details',
3086
3089
  'request-header',
3087
3090
  'request-header-accept',
@@ -3745,6 +3748,8 @@ export const knownContextValues = new Set([
3745
3748
  'third-party-tree',
3746
3749
  'third-property',
3747
3750
  'this-origin',
3751
+ 'throttle-request-domain',
3752
+ 'throttle-request-url',
3748
3753
  'throttling-conditions',
3749
3754
  'throttling.calibrate',
3750
3755
  'throttling.calibrate-cancel',
package/package.json CHANGED
@@ -102,5 +102,5 @@
102
102
  "flat-cache": "6.1.12"
103
103
  }
104
104
  },
105
- "version": "1.0.1530564"
105
+ "version": "1.0.1532228"
106
106
  }