chrome-devtools-frontend 1.0.1577886 → 1.0.1578486

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.
@@ -11,6 +11,7 @@ import type {RemoteObject} from './RemoteObject.js';
11
11
  import {RuntimeModel} from './RuntimeModel.js';
12
12
  import {SDKModel} from './SDKModel.js';
13
13
  import {Capability, type Target} from './Target.js';
14
+ import {TargetManager} from './TargetManager.js';
14
15
 
15
16
  export class HeapProfilerModel extends SDKModel<EventTypes> {
16
17
  #enabled: boolean;
@@ -106,7 +107,12 @@ export class HeapProfilerModel extends SDKModel<EventTypes> {
106
107
  }
107
108
 
108
109
  async takeHeapSnapshot(heapSnapshotOptions: Protocol.HeapProfiler.TakeHeapSnapshotRequest): Promise<void> {
109
- await this.#heapProfilerAgent.invoke_takeHeapSnapshot(heapSnapshotOptions);
110
+ await TargetManager.instance().suspendAllTargets('heap-snapshot');
111
+ try {
112
+ await this.#heapProfilerAgent.invoke_takeHeapSnapshot(heapSnapshotOptions);
113
+ } finally {
114
+ await TargetManager.instance().resumeAllTargets();
115
+ }
110
116
  }
111
117
 
112
118
  async startTrackingHeapObjects(recordAllocationStacks: boolean): Promise<boolean> {
@@ -783,7 +783,7 @@ inspectorBackend.registerEnum("Network.InterceptionStage", {Request: "Request",
783
783
  inspectorBackend.registerEnum("Network.SignedExchangeErrorField", {SignatureSig: "signatureSig", SignatureIntegrity: "signatureIntegrity", SignatureCertUrl: "signatureCertUrl", SignatureCertSha256: "signatureCertSha256", SignatureValidityUrl: "signatureValidityUrl", SignatureTimestamps: "signatureTimestamps"});
784
784
  inspectorBackend.registerEnum("Network.ContentEncoding", {Deflate: "deflate", Gzip: "gzip", Br: "br", Zstd: "zstd"});
785
785
  inspectorBackend.registerEnum("Network.DirectSocketDnsQueryType", {Ipv4: "ipv4", Ipv6: "ipv6"});
786
- inspectorBackend.registerEnum("Network.PrivateNetworkRequestPolicy", {Allow: "Allow", BlockFromInsecureToMorePrivate: "BlockFromInsecureToMorePrivate", WarnFromInsecureToMorePrivate: "WarnFromInsecureToMorePrivate", PermissionBlock: "PermissionBlock", PermissionWarn: "PermissionWarn"});
786
+ inspectorBackend.registerEnum("Network.LocalNetworkAccessRequestPolicy", {Allow: "Allow", BlockFromInsecureToMorePrivate: "BlockFromInsecureToMorePrivate", WarnFromInsecureToMorePrivate: "WarnFromInsecureToMorePrivate", PermissionBlock: "PermissionBlock", PermissionWarn: "PermissionWarn"});
787
787
  inspectorBackend.registerEnum("Network.IPAddressSpace", {Loopback: "Loopback", Local: "Local", Public: "Public", Unknown: "Unknown"});
788
788
  inspectorBackend.registerEnum("Network.CrossOriginOpenerPolicyValue", {SameOrigin: "SameOrigin", SameOriginAllowPopups: "SameOriginAllowPopups", RestrictProperties: "RestrictProperties", UnsafeNone: "UnsafeNone", SameOriginPlusCoep: "SameOriginPlusCoep", RestrictPropertiesPlusCoep: "RestrictPropertiesPlusCoep", NoopenerAllowPopups: "NoopenerAllowPopups"});
789
789
  inspectorBackend.registerEnum("Network.CrossOriginEmbedderPolicyValue", {None: "None", Credentialless: "Credentialless", RequireCorp: "RequireCorp"});
@@ -913,7 +913,7 @@ inspectorBackend.registerType("Network.DirectTCPSocketOptions", [{"name": "noDel
913
913
  inspectorBackend.registerType("Network.DirectUDPSocketOptions", [{"name": "remoteAddr", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "remotePort", "type": "number", "optional": true, "description": "Unsigned int 16.", "typeRef": null}, {"name": "localAddr", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "localPort", "type": "number", "optional": true, "description": "Unsigned int 16.", "typeRef": null}, {"name": "dnsQueryType", "type": "string", "optional": true, "description": "", "typeRef": "Network.DirectSocketDnsQueryType"}, {"name": "sendBufferSize", "type": "number", "optional": true, "description": "Expected to be unsigned integer.", "typeRef": null}, {"name": "receiveBufferSize", "type": "number", "optional": true, "description": "Expected to be unsigned integer.", "typeRef": null}, {"name": "multicastLoopback", "type": "boolean", "optional": true, "description": "", "typeRef": null}, {"name": "multicastTimeToLive", "type": "number", "optional": true, "description": "Unsigned int 8.", "typeRef": null}, {"name": "multicastAllowAddressSharing", "type": "boolean", "optional": true, "description": "", "typeRef": null}]);
914
914
  inspectorBackend.registerType("Network.DirectUDPMessage", [{"name": "data", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "remoteAddr", "type": "string", "optional": true, "description": "Null for connected mode.", "typeRef": null}, {"name": "remotePort", "type": "number", "optional": true, "description": "Null for connected mode. Expected to be unsigned integer.", "typeRef": null}]);
915
915
  inspectorBackend.registerType("Network.ConnectTiming", [{"name": "requestTime", "type": "number", "optional": false, "description": "Timing's requestTime is a baseline in seconds, while the other numbers are ticks in milliseconds relatively to this requestTime. Matches ResourceTiming's requestTime for the same request (but not for redirected requests).", "typeRef": null}]);
916
- inspectorBackend.registerType("Network.ClientSecurityState", [{"name": "initiatorIsSecureContext", "type": "boolean", "optional": false, "description": "", "typeRef": null}, {"name": "initiatorIPAddressSpace", "type": "string", "optional": false, "description": "", "typeRef": "Network.IPAddressSpace"}, {"name": "privateNetworkRequestPolicy", "type": "string", "optional": false, "description": "", "typeRef": "Network.PrivateNetworkRequestPolicy"}]);
916
+ inspectorBackend.registerType("Network.ClientSecurityState", [{"name": "initiatorIsSecureContext", "type": "boolean", "optional": false, "description": "", "typeRef": null}, {"name": "initiatorIPAddressSpace", "type": "string", "optional": false, "description": "", "typeRef": "Network.IPAddressSpace"}, {"name": "localNetworkAccessRequestPolicy", "type": "string", "optional": false, "description": "", "typeRef": "Network.LocalNetworkAccessRequestPolicy"}]);
917
917
  inspectorBackend.registerType("Network.CrossOriginOpenerPolicyStatus", [{"name": "value", "type": "string", "optional": false, "description": "", "typeRef": "Network.CrossOriginOpenerPolicyValue"}, {"name": "reportOnlyValue", "type": "string", "optional": false, "description": "", "typeRef": "Network.CrossOriginOpenerPolicyValue"}, {"name": "reportingEndpoint", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "reportOnlyReportingEndpoint", "type": "string", "optional": true, "description": "", "typeRef": null}]);
918
918
  inspectorBackend.registerType("Network.CrossOriginEmbedderPolicyStatus", [{"name": "value", "type": "string", "optional": false, "description": "", "typeRef": "Network.CrossOriginEmbedderPolicyValue"}, {"name": "reportOnlyValue", "type": "string", "optional": false, "description": "", "typeRef": "Network.CrossOriginEmbedderPolicyValue"}, {"name": "reportingEndpoint", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "reportOnlyReportingEndpoint", "type": "string", "optional": true, "description": "", "typeRef": null}]);
919
919
  inspectorBackend.registerType("Network.ContentSecurityPolicyStatus", [{"name": "effectiveDirectives", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "isEnforced", "type": "boolean", "optional": false, "description": "", "typeRef": null}, {"name": "source", "type": "string", "optional": false, "description": "", "typeRef": "Network.ContentSecurityPolicySource"}]);
@@ -11223,7 +11223,7 @@ export namespace Network {
11223
11223
  remotePort?: integer;
11224
11224
  }
11225
11225
 
11226
- export const enum PrivateNetworkRequestPolicy {
11226
+ export const enum LocalNetworkAccessRequestPolicy {
11227
11227
  Allow = 'Allow',
11228
11228
  BlockFromInsecureToMorePrivate = 'BlockFromInsecureToMorePrivate',
11229
11229
  WarnFromInsecureToMorePrivate = 'WarnFromInsecureToMorePrivate',
@@ -11250,7 +11250,7 @@ export namespace Network {
11250
11250
  export interface ClientSecurityState {
11251
11251
  initiatorIsSecureContext: boolean;
11252
11252
  initiatorIPAddressSpace: IPAddressSpace;
11253
- privateNetworkRequestPolicy: PrivateNetworkRequestPolicy;
11253
+ localNetworkAccessRequestPolicy: LocalNetworkAccessRequestPolicy;
11254
11254
  }
11255
11255
 
11256
11256
  export const enum CrossOriginOpenerPolicyValue {
@@ -323,7 +323,6 @@ export const DEFAULT_VIEW = (input: ChatMessageViewInput, output: ViewOutput, ta
323
323
  }
324
324
  return renderStep({
325
325
  step: part.step,
326
- isLoading: input.isLoading,
327
326
  markdownRenderer: input.markdownRenderer,
328
327
  isLast: isLastPart,
329
328
  });
@@ -451,12 +450,11 @@ function renderStepDetails({
451
450
  // clang-format on
452
451
  }
453
452
 
454
- function renderStepBadge({step, isLoading, isLast}: {
453
+ function renderStepBadge({step, isLast}: {
455
454
  step: Step,
456
- isLoading: boolean,
457
455
  isLast: boolean,
458
456
  }): Lit.LitTemplate {
459
- if (isLoading && isLast && !step.sideEffect) {
457
+ if (step.isLoading && isLast && !step.sideEffect) {
460
458
  return html`<devtools-spinner></devtools-spinner>`;
461
459
  }
462
460
 
@@ -480,9 +478,8 @@ function renderStepBadge({step, isLoading, isLast}: {
480
478
  ></devtools-icon>`;
481
479
  }
482
480
 
483
- function renderStep({step, isLoading, markdownRenderer, isLast}: {
481
+ function renderStep({step, markdownRenderer, isLast}: {
484
482
  step: Step,
485
- isLoading: boolean,
486
483
  markdownRenderer: MarkdownLitRenderer,
487
484
  isLast: boolean,
488
485
  }): Lit.LitTemplate {
@@ -499,7 +496,7 @@ function renderStep({step, isLoading, markdownRenderer, isLast}: {
499
496
  .open=${Boolean(step.sideEffect)}>
500
497
  <summary>
501
498
  <div class="summary">
502
- ${renderStepBadge({ step, isLoading, isLast })}
499
+ ${renderStepBadge({ step, isLast })}
503
500
  ${renderTitle(step)}
504
501
  <devtools-icon
505
502
  class="arrow"
@@ -105,7 +105,7 @@ const DEFAULT_VIEW: View = (input, output, target) => {
105
105
  ${repeat(input.messages, message =>
106
106
  html`<devtools-widget .widgetConfig=${UI.Widget.widgetConfig(ChatMessage, {
107
107
  message,
108
- isLoading: input.isLoading,
108
+ isLoading: input.isLoading && input.messages.at(-1) === message,
109
109
  isReadOnly: input.isReadOnly,
110
110
  canShowFeedbackForm: input.canShowFeedbackForm,
111
111
  userInfo: input.userInfo,
@@ -582,25 +582,27 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: ViewOutput, target: HTML
582
582
  <devtools-report>
583
583
  <devtools-report-section-header role="heading" aria-level="2">${
584
584
  i18nString(UIStrings.sessionConfig)}</devtools-report-section-header>
585
- <devtools-report-key>${i18nString(UIStrings.keySite)}</devtools-report-key>
586
- <devtools-report-value>${key.site}</devtools-report-value>
587
- <devtools-report-key>${i18nString(UIStrings.keyId)}</devtools-report-key>
588
- <devtools-report-value>${key.id}</devtools-report-value>
589
- <devtools-report-key>${i18nString(UIStrings.refreshUrl)}</devtools-report-key>
590
- <devtools-report-value>${sessionAndEvents.session.refreshUrl}</devtools-report-value>
591
- <devtools-report-key>${i18nString(UIStrings.expiryDate)}</devtools-report-key>
592
- <devtools-report-value>${
593
- new Date(sessionAndEvents.session.expiryDate * 1000).toLocaleString()}</devtools-report-value>
594
- <devtools-report-key>${i18nString(UIStrings.cachedChallenge)}</devtools-report-key>
595
- <devtools-report-value>${sessionAndEvents.session.cachedChallenge || ''}</devtools-report-value>
596
- <devtools-report-key>${i18nString(UIStrings.allowedRefreshInitiators)}</devtools-report-key>
597
- <devtools-report-value>${sessionAndEvents.session.allowedRefreshInitiators.join(', ')}</devtools-report-value>
585
+ ${renderKeyValue(i18nString(UIStrings.keySite), key.site, 'dbsc-site')}
586
+ ${renderKeyValue(i18nString(UIStrings.keyId), key.id, 'dbsc-id')}
587
+ ${renderKeyValue(i18nString(UIStrings.refreshUrl), sessionAndEvents.session.refreshUrl, 'dbsc-refresh-url')}
588
+ ${
589
+ renderKeyValue(
590
+ i18nString(UIStrings.expiryDate), new Date(sessionAndEvents.session.expiryDate * 1000).toLocaleString(),
591
+ 'dbsc-expiry-date')}
592
+ ${
593
+ renderKeyValue(
594
+ i18nString(UIStrings.cachedChallenge), sessionAndEvents.session.cachedChallenge || '',
595
+ 'dbsc-cached-challenge')}
596
+ ${
597
+ renderKeyValue(
598
+ i18nString(UIStrings.allowedRefreshInitiators),
599
+ sessionAndEvents.session.allowedRefreshInitiators.join(', '), 'dbsc-allowed-refresh-initiators')}
598
600
  <devtools-report-section-header role="heading" aria-level="2">${
599
601
  i18nString(UIStrings.scope)}</devtools-report-section-header>
600
- <devtools-report-key>${i18nString(UIStrings.origin)}</devtools-report-key>
601
- <devtools-report-value>${inclusionRules.origin}</devtools-report-value>
602
- <devtools-report-key>${i18nString(UIStrings.includeSite)}</devtools-report-key>
603
- <devtools-report-value>${boolToString(inclusionRules.includeSite)}</devtools-report-value>
602
+ ${renderKeyValue(i18nString(UIStrings.origin), inclusionRules.origin, 'dbsc-origin')}
603
+ ${
604
+ renderKeyValue(
605
+ i18nString(UIStrings.includeSite), boolToString(inclusionRules.includeSite), 'dbsc-include-site')}
604
606
  </devtools-report>
605
607
  ${
606
608
  inclusionRules.urlRules.length > 0 ? html`
@@ -708,62 +710,78 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: ViewOutput, target: HTML
708
710
  const creationEventDetails =
709
711
  selectedEvent?.creationEventDetails &&
710
712
  html`
711
- <devtools-report-key>${i18nString(UIStrings.fetchResult)}</devtools-report-key>
712
- <devtools-report-value>${
713
- fetchResultToString(selectedEvent.creationEventDetails.fetchResult)}</devtools-report-value>
714
- ${selectedEvent.creationEventDetails.newSession && html`
715
- <devtools-report-key>${i18nString(UIStrings.updatedSessionConfig)}</devtools-report-key>
716
- <devtools-report-value>${i18nString(UIStrings.yes)}</devtools-report-value>
713
+ ${
714
+ renderKeyValue(
715
+ i18nString(UIStrings.fetchResult), fetchResultToString(selectedEvent.creationEventDetails.fetchResult),
716
+ 'dbsc-creation-fetch-result')}
717
+ ${
718
+ selectedEvent.creationEventDetails.newSession &&
719
+ html`
720
+ ${
721
+ renderKeyValue(
722
+ i18nString(UIStrings.updatedSessionConfig), i18nString(UIStrings.yes),
723
+ 'dbsc-creation-updated-session-config')}
717
724
  `}
718
725
  `;
719
726
  const refreshEventDetails =
720
727
  selectedEvent?.refreshEventDetails &&
721
728
  html`
722
- <devtools-report-key>${i18nString(UIStrings.refreshResult)}</devtools-report-key>
723
- <devtools-report-value>${
724
- refreshResultToString(selectedEvent.refreshEventDetails.refreshResult)}</devtools-report-value>
725
- <devtools-report-key>${i18nString(UIStrings.causedAnyRequestDeferrals)}</devtools-report-key>
726
- <devtools-report-value>${
727
- boolToString(!selectedEvent.refreshEventDetails.wasFullyProactiveRefresh)}</devtools-report-value>
729
+ ${
730
+ renderKeyValue(
731
+ i18nString(UIStrings.refreshResult),
732
+ refreshResultToString(selectedEvent.refreshEventDetails.refreshResult), 'dbsc-refresh-result')}
733
+ ${
734
+ renderKeyValue(
735
+ i18nString(UIStrings.causedAnyRequestDeferrals),
736
+ boolToString(!selectedEvent.refreshEventDetails.wasFullyProactiveRefresh),
737
+ 'dbsc-refresh-was-fully-proactive-refresh')}
728
738
  ${
729
739
  selectedEvent.refreshEventDetails.fetchResult &&
730
740
  html`
731
- <devtools-report-key>${i18nString(UIStrings.fetchResult)}</devtools-report-key>
732
- <devtools-report-value>${
733
- fetchResultToString(selectedEvent.refreshEventDetails.fetchResult)}</devtools-report-value>
741
+ ${
742
+ renderKeyValue(
743
+ i18nString(UIStrings.fetchResult), fetchResultToString(selectedEvent.refreshEventDetails.fetchResult),
744
+ 'dbsc-refresh-fetch-result')}
734
745
  `}
735
- ${selectedEvent.refreshEventDetails.newSession && html`
736
- <devtools-report-key>${i18nString(UIStrings.updatedSessionConfig)}</devtools-report-key>
737
- <devtools-report-value>${i18nString(UIStrings.yes)}</devtools-report-value>
746
+ ${
747
+ selectedEvent.refreshEventDetails.newSession &&
748
+ html`
749
+ ${
750
+ renderKeyValue(
751
+ i18nString(UIStrings.updatedSessionConfig), i18nString(UIStrings.yes),
752
+ 'dbsc-refresh-updated-session-config')}
738
753
  `}
739
754
  `;
740
755
  const challengeEventDetails =
741
756
  selectedEvent?.challengeEventDetails &&
742
757
  html`
743
- <devtools-report-key>${i18nString(UIStrings.challengeResult)}</devtools-report-key>
744
- <devtools-report-value>${
745
- challengeResultToString(selectedEvent.challengeEventDetails.challengeResult)}</devtools-report-value>
746
- <devtools-report-key>${i18nString(UIStrings.challenge)}</devtools-report-key>
747
- <devtools-report-value>${selectedEvent.challengeEventDetails.challenge}</devtools-report-value>
758
+ ${
759
+ renderKeyValue(
760
+ i18nString(UIStrings.challengeResult),
761
+ challengeResultToString(selectedEvent.challengeEventDetails.challengeResult), 'dbsc-challenge-result')}
762
+ ${
763
+ renderKeyValue(
764
+ i18nString(UIStrings.challenge), selectedEvent.challengeEventDetails.challenge, 'dbsc-challenge')}
748
765
  `;
749
766
  const terminationEventDetails =
750
767
  selectedEvent?.terminationEventDetails &&
751
768
  html`
752
- <devtools-report-key>${i18nString(UIStrings.deletionReason)}</devtools-report-key>
753
- <devtools-report-value>${
754
- deletionReasonToString(selectedEvent.terminationEventDetails.deletionReason)}</devtools-report-value>
769
+ ${
770
+ renderKeyValue(
771
+ i18nString(UIStrings.deletionReason),
772
+ deletionReasonToString(selectedEvent.terminationEventDetails.deletionReason), 'dbsc-termination-reason')}
755
773
  `;
756
774
  const eventDetailsContentHtml = selectedEvent ?
757
775
  html`
758
776
  <devtools-report>
759
- <devtools-report-key>${i18nString(UIStrings.keySite)}</devtools-report-key>
760
- <devtools-report-value>${selectedEvent.site}</devtools-report-value>
761
- <devtools-report-key>${i18nString(UIStrings.sessionId)}</devtools-report-key>
762
- <devtools-report-value>${selectedEvent.sessionId}</devtools-report-value>
763
- <devtools-report-key>${i18nString(UIStrings.type)}</devtools-report-key>
764
- <devtools-report-value>${getEventTypeString(selectedEvent)}</devtools-report-value>
765
- <devtools-report-key>${i18nString(UIStrings.eventResult)}</devtools-report-key>
766
- <devtools-report-value>${succeededToString(selectedEvent.succeeded)}</devtools-report-value>
777
+ ${renderKeyValue(i18nString(UIStrings.keySite), selectedEvent.site, 'dbsc-event-site')}
778
+ ${
779
+ selectedEvent.sessionId &&
780
+ renderKeyValue(i18nString(UIStrings.sessionId), selectedEvent.sessionId, 'dbsc-event-session-id')}
781
+ ${renderKeyValue(i18nString(UIStrings.type), getEventTypeString(selectedEvent), 'dbsc-event-type')}
782
+ ${
783
+ renderKeyValue(
784
+ i18nString(UIStrings.eventResult), succeededToString(selectedEvent.succeeded), 'dbsc-event-result')}
767
785
  ${creationEventDetails}
768
786
  ${refreshEventDetails}
769
787
  ${challengeEventDetails}
@@ -870,6 +888,13 @@ export class DeviceBoundSessionsView extends UI.Widget.VBox {
870
888
  }
871
889
  }
872
890
 
891
+ function renderKeyValue(key: string, value: string, id: string): TemplateResult {
892
+ return html`
893
+ <devtools-report-key id=${id}>${key}</devtools-report-key>
894
+ <devtools-report-value role="text" aria-describedby=${id}>${value}</devtools-report-value>
895
+ `;
896
+ }
897
+
873
898
  function ruleTypeToString(ruleType: Protocol.Network.DeviceBoundSessionUrlRuleRuleType): string {
874
899
  switch (ruleType) {
875
900
  case Protocol.Network.DeviceBoundSessionUrlRuleRuleType.Exclude:
@@ -166,3 +166,60 @@ button.text-button {
166
166
  min-height: fit-content;
167
167
  margin-top: 10px;
168
168
  }
169
+
170
+ @media (forced-colors: active) {
171
+ /* Keyboard focus on wrapper element (shortcut items) */
172
+ .keybinds-list-item-wrapper {
173
+ &:focus,
174
+ &:focus-visible {
175
+ background-color: Highlight !important; /* stylelint-disable-line declaration-no-important */
176
+ forced-color-adjust: none;
177
+
178
+ & .keybinds-list-text,
179
+ & .keybinds-action-name {
180
+ color: HighlightText !important; /* stylelint-disable-line declaration-no-important */
181
+ }
182
+
183
+ & .keybinds-key {
184
+ background: HighlightText;
185
+ color: Highlight;
186
+ }
187
+ }
188
+
189
+ /* Hover state (shortcut items) */
190
+ &:has(.keybinds-list-item:hover) {
191
+ background-color: Highlight !important; /* stylelint-disable-line declaration-no-important */
192
+ forced-color-adjust: none;
193
+
194
+ & .keybinds-list-text {
195
+ color: HighlightText !important; /* stylelint-disable-line declaration-no-important */
196
+ }
197
+
198
+ & .keybinds-key {
199
+ background: HighlightText;
200
+ color: Highlight;
201
+ }
202
+ }
203
+ }
204
+
205
+ /* Editing state */
206
+ .keybinds-list-item.keybinds-editing {
207
+ background-color: Highlight !important; /* stylelint-disable-line declaration-no-important */
208
+ forced-color-adjust: none;
209
+
210
+ & .keybinds-list-text {
211
+ color: HighlightText !important; /* stylelint-disable-line declaration-no-important */
212
+ }
213
+ }
214
+
215
+ /* Category headers (e.g., "Background Services", "Debugger") */
216
+ .keybinds-category-header {
217
+ &:hover,
218
+ &:focus,
219
+ &:focus-visible {
220
+ background-color: Highlight !important; /* stylelint-disable-line declaration-no-important */
221
+ color: HighlightText !important; /* stylelint-disable-line declaration-no-important */
222
+ forced-color-adjust: none;
223
+ }
224
+ }
225
+ }
@@ -1,7 +1,7 @@
1
1
  Name: Dependencies sourced from the upstream `chromium` repository
2
2
  URL: https://chromium.googlesource.com/chromium/src
3
3
  Version: N/A
4
- Revision: b49b82a652effc8081624941a4f102e6ac80fba9
4
+ Revision: 646502f8c6f04517f8d3605c4a5a5fa20d0af6f5
5
5
  Update Mechanism: Manual (https://crbug.com/428069060)
6
6
  License: BSD-3-Clause
7
7
  License File: LICENSE
package/package.json CHANGED
@@ -105,5 +105,5 @@
105
105
  "flat-cache": "6.1.12"
106
106
  }
107
107
  },
108
- "version": "1.0.1577886"
108
+ "version": "1.0.1578486"
109
109
  }