chrome-devtools-frontend 1.0.1000057 → 1.0.1000934

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.
@@ -11531,6 +11531,9 @@
11531
11531
  "panels/webauthn/WebauthnPane.ts | signCount": {
11532
11532
  "message": "Signature Count"
11533
11533
  },
11534
+ "panels/webauthn/WebauthnPane.ts | supportsLargeBlob": {
11535
+ "message": "Supports large blob"
11536
+ },
11534
11537
  "panels/webauthn/WebauthnPane.ts | supportsResidentKeys": {
11535
11538
  "message": "Supports resident keys"
11536
11539
  },
@@ -11531,6 +11531,9 @@
11531
11531
  "panels/webauthn/WebauthnPane.ts | signCount": {
11532
11532
  "message": "Ŝíĝńât́ûŕê Ćôún̂t́"
11533
11533
  },
11534
+ "panels/webauthn/WebauthnPane.ts | supportsLargeBlob": {
11535
+ "message": "Ŝúp̂ṕôŕt̂ś l̂ár̂ǵê b́l̂ób̂"
11536
+ },
11534
11537
  "panels/webauthn/WebauthnPane.ts | supportsResidentKeys": {
11535
11538
  "message": "Ŝúp̂ṕôŕt̂ś r̂éŝíd̂én̂t́ k̂éŷś"
11536
11539
  },
@@ -28,7 +28,7 @@
28
28
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
29
  */
30
30
 
31
- import type * as Platform from '../../core/platform/platform.js';
31
+ import * as Platform from '../../core/platform/platform.js';
32
32
  import type * as PublicAPI from '../../../extension-api/ExtensionAPI'; // eslint-disable-line rulesdir/es_modules_import
33
33
  import type * as HAR from '../har/har.js';
34
34
 
@@ -141,7 +141,7 @@ export namespace PrivateAPI {
141
141
  type UpdateButtonRequest =
142
142
  {command: Commands.UpdateButton, id: string, icon?: string, tooltip?: string, disabled?: boolean};
143
143
  type CompleteTraceSessionRequest =
144
- {command: Commands.CompleteTraceSession, id: string, url: string, timeOffset: number};
144
+ {command: Commands.CompleteTraceSession, id: string, url: Platform.DevToolsPath.UrlString, timeOffset: number};
145
145
  type CreateSidebarPaneRequest = {command: Commands.CreateSidebarPane, id: string, panel: string, title: string};
146
146
  type SetSidebarHeightRequest = {command: Commands.SetSidebarHeight, id: string, height: string};
147
147
  type SetSidebarContentRequest = {
@@ -930,11 +930,11 @@ self.injectedExtensionAPI = function(
930
930
  }
931
931
 
932
932
  (TraceSessionImpl.prototype as Pick<APIImpl.TraceSession, 'complete'>) = {
933
- complete: function(this: APIImpl.TraceSession, url?: string, timeOffset?: number): void {
933
+ complete: function(this: APIImpl.TraceSession, url?: Platform.DevToolsPath.UrlString, timeOffset?: number): void {
934
934
  extensionServer.sendRequest({
935
935
  command: PrivateAPI.Commands.CompleteTraceSession,
936
936
  id: this._id,
937
- url: url || '',
937
+ url: url || Platform.DevToolsPath.EmptyUrlString,
938
938
  timeOffset: timeOffset || 0,
939
939
  });
940
940
  },
@@ -3,6 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import {ExtensionServer} from './ExtensionServer.js';
6
+ import type * as Platform from '../../core/platform/platform.js';
6
7
 
7
8
  export class ExtensionTraceProvider {
8
9
  private readonly extensionOrigin: string;
@@ -43,5 +44,5 @@ export class ExtensionTraceProvider {
43
44
  let _lastSessionId = 0;
44
45
 
45
46
  export interface TracingSession {
46
- complete(url: string, timeOffsetMicroseconds: number): void;
47
+ complete(url: Platform.DevToolsPath.UrlString, timeOffsetMicroseconds: number): void;
47
48
  }
@@ -327,8 +327,13 @@ const
327
327
  xmlHttpRequestSynchronousInNonWorkerOutsideBeforeUnload:
328
328
  'Synchronous `XMLHttpRequest` on the main thread is deprecated because of its detrimental effects to the end user\u2019s experience. For more help, check https://xhr.spec.whatwg.org/.',
329
329
  /**
330
- *@description TODO(crbug.com/1320365): Description needed for translation
331
- */
330
+ *@description Warning displayed to developers that instead of using
331
+ * `supportsSession()`, which returns a promise that resolves if
332
+ * the XR session can be supported and rejects if not, they should
333
+ * use `isSessionSupported()` which will return a promise which
334
+ * resolves to a boolean indicating if the XR session can be
335
+ * supported or not, but may reject to throw an exception.
336
+ */
332
337
  xrSupportsSession:
333
338
  '`supportsSession()` is deprecated. Please use `isSessionSupported()` and check the resolved boolean value instead.',
334
339
  };
@@ -143,7 +143,7 @@ export class NetworkItemView extends UI.TabbedPane.TabbedPane {
143
143
  this.element.classList.add('network-item-view');
144
144
 
145
145
  this.resourceViewTabSetting = Common.Settings.Settings.instance().createSetting(
146
- 'resourceViewTab', NetworkForward.UIRequestLocation.UIRequestTabs.Preview);
146
+ 'resourceViewTab', NetworkForward.UIRequestLocation.UIRequestTabs.Headers);
147
147
 
148
148
  this.headersView = new RequestHeadersView(request);
149
149
  this.appendTab(
@@ -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 Platform from '../../core/platform/platform.js';
5
6
  import type * as SDK from '../../core/sdk/sdk.js';
6
7
  import type * as Extensions from '../../models/extensions/extensions.js';
7
8
 
@@ -42,7 +43,7 @@ export class ExtensionTracingSession implements Extensions.ExtensionTraceProvide
42
43
  this.completionCallback();
43
44
  }
44
45
 
45
- complete(url: string, timeOffsetMicroseconds: number): void {
46
+ complete(url: Platform.DevToolsPath.UrlString, timeOffsetMicroseconds: number): void {
46
47
  if (!url) {
47
48
  this.completionCallback();
48
49
  return;
@@ -161,7 +161,7 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
161
161
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
162
162
  private readonly groupBySetting: Common.Settings.Setting<any>;
163
163
  private searchableView!: UI.SearchableView.SearchableView;
164
- private urlToColorCache?: Map<string, string>;
164
+ private urlToColorCache?: Map<Platform.DevToolsPath.UrlString, string>;
165
165
  private needsResizeToPreferredHeights?: boolean;
166
166
  private selectedSearchResult?: number;
167
167
  private searchRegex?: RegExp;
@@ -5,6 +5,7 @@
5
5
  import * as Common from '../../core/common/common.js';
6
6
  import * as Host from '../../core/host/host.js';
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
+ import type * as Platform from '../../core/platform/platform.js';
8
9
  import * as SDK from '../../core/sdk/sdk.js';
9
10
  import * as Bindings from '../../models/bindings/bindings.js';
10
11
  import * as TextUtils from '../../models/text_utils/text_utils.js';
@@ -95,7 +96,7 @@ export class TimelineLoader implements Common.StringOutputStream.OutputStream {
95
96
  return loader;
96
97
  }
97
98
 
98
- static loadFromURL(url: string, client: Client): TimelineLoader {
99
+ static loadFromURL(url: Platform.DevToolsPath.UrlString, client: Client): TimelineLoader {
99
100
  const loader = new TimelineLoader(client);
100
101
  Host.ResourceLoader.loadAsStream(url, null, loader);
101
102
  return loader;
@@ -695,7 +695,7 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
695
695
  this.createFileSelector();
696
696
  }
697
697
 
698
- loadFromURL(url: string): void {
698
+ loadFromURL(url: Platform.DevToolsPath.UrlString): void {
699
699
  if (this.state !== State.Idle) {
700
700
  return;
701
701
  }
@@ -1249,7 +1249,7 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
1249
1249
  const item = items[0];
1250
1250
  Host.userMetrics.actionTaken(Host.UserMetrics.Action.PerfPanelTraceImported);
1251
1251
  if (item.kind === 'string') {
1252
- const url = dataTransfer.getData('text/uri-list');
1252
+ const url = dataTransfer.getData('text/uri-list') as Platform.DevToolsPath.UrlString;
1253
1253
  if (new Common.ParsedURL.ParsedURL(url).isValid) {
1254
1254
  this.loadFromURL(url);
1255
1255
  }
@@ -1492,7 +1492,7 @@ export class LoadTimelineHandler implements Common.QueryParamHandler.QueryParamH
1492
1492
 
1493
1493
  handleQueryParam(value: string): void {
1494
1494
  void UI.ViewManager.ViewManager.instance().showView('timeline').then(() => {
1495
- TimelinePanel.instance().loadFromURL(window.decodeURIComponent(value));
1495
+ TimelinePanel.instance().loadFromURL(window.decodeURIComponent(value) as Platform.DevToolsPath.UrlString);
1496
1496
  });
1497
1497
  }
1498
1498
  }
@@ -756,9 +756,9 @@ export class AggregatedTimelineTreeView extends TimelineTreeView {
756
756
  }
757
757
 
758
758
  private beautifyDomainName(this: AggregatedTimelineTreeView, name: string): string {
759
- if (AggregatedTimelineTreeView.isExtensionInternalURL(name)) {
759
+ if (AggregatedTimelineTreeView.isExtensionInternalURL(name as Platform.DevToolsPath.UrlString)) {
760
760
  name = i18nString(UIStrings.chromeExtensionsOverhead);
761
- } else if (AggregatedTimelineTreeView.isV8NativeURL(name)) {
761
+ } else if (AggregatedTimelineTreeView.isV8NativeURL(name as Platform.DevToolsPath.UrlString)) {
762
762
  name = i18nString(UIStrings.vRuntime);
763
763
  } else if (name.startsWith('chrome-extension')) {
764
764
  name = this.executionContextNamesByOrigin.get(name) || name;
@@ -949,11 +949,11 @@ export class AggregatedTimelineTreeView extends TimelineTreeView {
949
949
  contextMenu.appendApplicableItems(frame.ownerNode);
950
950
  }
951
951
 
952
- private static isExtensionInternalURL(url: string): boolean {
952
+ private static isExtensionInternalURL(url: Platform.DevToolsPath.UrlString): boolean {
953
953
  return url.startsWith(AggregatedTimelineTreeView.extensionInternalPrefix);
954
954
  }
955
955
 
956
- private static isV8NativeURL(url: string): boolean {
956
+ private static isV8NativeURL(url: Platform.DevToolsPath.UrlString): boolean {
957
957
  return url.startsWith(AggregatedTimelineTreeView.v8NativePrefix);
958
958
  }
959
959
 
@@ -1473,7 +1473,7 @@ export class TimelineUIUtils {
1473
1473
  }
1474
1474
  }
1475
1475
 
1476
- static eventURL(event: SDK.TracingModel.Event): string|null {
1476
+ static eventURL(event: SDK.TracingModel.Event): Platform.DevToolsPath.UrlString|null {
1477
1477
  const data = event.args['data'] || event.args['beginData'];
1478
1478
  const url = data && data.url;
1479
1479
  if (url) {
@@ -1482,7 +1482,7 @@ export class TimelineUIUtils {
1482
1482
  const stackTrace = data && data['stackTrace'];
1483
1483
  const frame = stackTrace && stackTrace.length && stackTrace[0] ||
1484
1484
  TimelineModel.TimelineModel.TimelineData.forEvent(event).topFrame();
1485
- return frame && frame.url || null;
1485
+ return frame && frame.url as Platform.DevToolsPath.UrlString || null;
1486
1486
  }
1487
1487
 
1488
1488
  static eventStyle(event: SDK.TracingModel.Event): TimelineRecordStyle {
@@ -1533,7 +1533,7 @@ export class TimelineUIUtils {
1533
1533
  static eventColorByProduct(
1534
1534
  model: TimelineModel.TimelineModel.TimelineModelImpl, urlToColorCache: Map<string, string>,
1535
1535
  event: SDK.TracingModel.Event): string {
1536
- const url = TimelineUIUtils.eventURL(event) || '';
1536
+ const url = TimelineUIUtils.eventURL(event) || Platform.DevToolsPath.EmptyUrlString;
1537
1537
  let color = urlToColorCache.get(url);
1538
1538
  if (color) {
1539
1539
  return color;
@@ -84,6 +84,12 @@ const UIStrings = {
84
84
  */
85
85
  supportsResidentKeys: 'Supports resident keys',
86
86
  /**
87
+ *@description Label for checkbox that toggles large blob support on virtual authenticators. Large blobs are opaque data associated
88
+ * with a WebAuthn credential that a website can store, like an SSH certificate or a symmetric encryption key.
89
+ * See https://w3c.github.io/webauthn/#sctn-large-blob-extension
90
+ */
91
+ supportsLargeBlob: 'Supports large blob',
92
+ /**
87
93
  *@description Text to add something
88
94
  */
89
95
  add: 'Add',
@@ -244,10 +250,12 @@ export class WebauthnPaneImpl extends UI.Widget.VBox implements
244
250
  #protocolSelect: HTMLSelectElement|undefined;
245
251
  #transportSelect: HTMLSelectElement|undefined;
246
252
  #residentKeyCheckboxLabel: UI.UIUtils.CheckboxLabel|undefined;
247
- #residentKeyCheckbox: HTMLInputElement|undefined;
253
+ residentKeyCheckbox: HTMLInputElement|undefined;
248
254
  #userVerificationCheckboxLabel: UI.UIUtils.CheckboxLabel|undefined;
249
255
  #userVerificationCheckbox: HTMLInputElement|undefined;
250
- #addAuthenticatorButton: HTMLButtonElement|undefined;
256
+ #largeBlobCheckboxLabel: UI.UIUtils.CheckboxLabel|undefined;
257
+ largeBlobCheckbox: HTMLInputElement|undefined;
258
+ addAuthenticatorButton: HTMLButtonElement|undefined;
251
259
  #isEnabling?: Promise<void>;
252
260
 
253
261
  constructor() {
@@ -475,13 +483,18 @@ export class WebauthnPaneImpl extends UI.Widget.VBox implements
475
483
  }
476
484
 
477
485
  #updateNewAuthenticatorSectionOptions(): void {
478
- if (!this.#protocolSelect || !this.#residentKeyCheckbox || !this.#userVerificationCheckbox) {
486
+ if (!this.#protocolSelect || !this.residentKeyCheckbox || !this.#userVerificationCheckbox ||
487
+ !this.largeBlobCheckbox) {
479
488
  return;
480
489
  }
481
490
 
482
491
  if (this.#protocolSelect.value === Protocol.WebAuthn.AuthenticatorProtocol.Ctap2) {
483
- this.#residentKeyCheckbox.disabled = false;
492
+ this.residentKeyCheckbox.disabled = false;
484
493
  this.#userVerificationCheckbox.disabled = false;
494
+ this.largeBlobCheckbox.disabled = !this.residentKeyCheckbox.checked;
495
+ if (this.largeBlobCheckbox.disabled) {
496
+ this.largeBlobCheckbox.checked = false;
497
+ }
485
498
  this.#updateEnabledTransportOptions([
486
499
  Protocol.WebAuthn.AuthenticatorTransport.Usb,
487
500
  Protocol.WebAuthn.AuthenticatorTransport.Ble,
@@ -491,10 +504,12 @@ export class WebauthnPaneImpl extends UI.Widget.VBox implements
491
504
  Protocol.WebAuthn.AuthenticatorTransport.Internal,
492
505
  ]);
493
506
  } else {
494
- this.#residentKeyCheckbox.checked = false;
495
- this.#residentKeyCheckbox.disabled = true;
507
+ this.residentKeyCheckbox.checked = false;
508
+ this.residentKeyCheckbox.disabled = true;
496
509
  this.#userVerificationCheckbox.checked = false;
497
510
  this.#userVerificationCheckbox.disabled = true;
511
+ this.largeBlobCheckbox.checked = false;
512
+ this.largeBlobCheckbox.disabled = true;
498
513
  this.#updateEnabledTransportOptions([
499
514
  Protocol.WebAuthn.AuthenticatorTransport.Usb,
500
515
  Protocol.WebAuthn.AuthenticatorTransport.Ble,
@@ -524,6 +539,7 @@ export class WebauthnPaneImpl extends UI.Widget.VBox implements
524
539
  const transportGroup = this.#newAuthenticatorForm.createChild('div', 'authenticator-option');
525
540
  const residentKeyGroup = this.#newAuthenticatorForm.createChild('div', 'authenticator-option');
526
541
  const userVerificationGroup = this.#newAuthenticatorForm.createChild('div', 'authenticator-option');
542
+ const largeBlobGroup = this.#newAuthenticatorForm.createChild('div', 'authenticator-option');
527
543
  const addButtonGroup = this.#newAuthenticatorForm.createChild('div', 'authenticator-option');
528
544
 
529
545
  const protocolSelectTitle = UI.UIUtils.createLabel(i18nString(UIStrings.protocol), 'authenticator-option-label');
@@ -551,9 +567,9 @@ export class WebauthnPaneImpl extends UI.Widget.VBox implements
551
567
  this.#residentKeyCheckboxLabel = UI.UIUtils.CheckboxLabel.create(i18nString(UIStrings.supportsResidentKeys), false);
552
568
  this.#residentKeyCheckboxLabel.textElement.classList.add('authenticator-option-label');
553
569
  residentKeyGroup.appendChild(this.#residentKeyCheckboxLabel.textElement);
554
- this.#residentKeyCheckbox = this.#residentKeyCheckboxLabel.checkboxElement;
555
- this.#residentKeyCheckbox.checked = false;
556
- this.#residentKeyCheckbox.classList.add('authenticator-option-checkbox');
570
+ this.residentKeyCheckbox = this.#residentKeyCheckboxLabel.checkboxElement;
571
+ this.residentKeyCheckbox.checked = false;
572
+ this.residentKeyCheckbox.classList.add('authenticator-option-checkbox');
557
573
  residentKeyGroup.appendChild(this.#residentKeyCheckboxLabel);
558
574
 
559
575
  this.#userVerificationCheckboxLabel = UI.UIUtils.CheckboxLabel.create('Supports user verification', false);
@@ -564,17 +580,29 @@ export class WebauthnPaneImpl extends UI.Widget.VBox implements
564
580
  this.#userVerificationCheckbox.classList.add('authenticator-option-checkbox');
565
581
  userVerificationGroup.appendChild(this.#userVerificationCheckboxLabel);
566
582
 
567
- this.#addAuthenticatorButton =
583
+ this.#largeBlobCheckboxLabel = UI.UIUtils.CheckboxLabel.create(i18nString(UIStrings.supportsLargeBlob), false);
584
+ this.#largeBlobCheckboxLabel.textElement.classList.add('authenticator-option-label');
585
+ largeBlobGroup.appendChild(this.#largeBlobCheckboxLabel.textElement);
586
+ this.largeBlobCheckbox = this.#largeBlobCheckboxLabel.checkboxElement;
587
+ this.largeBlobCheckbox.checked = false;
588
+ this.largeBlobCheckbox.classList.add('authenticator-option-checkbox');
589
+ this.largeBlobCheckbox.name = 'large-blob-checkbox';
590
+ largeBlobGroup.appendChild(this.#largeBlobCheckboxLabel);
591
+
592
+ this.addAuthenticatorButton =
568
593
  UI.UIUtils.createTextButton(i18nString(UIStrings.add), this.#handleAddAuthenticatorButton.bind(this), '');
569
594
  addButtonGroup.createChild('div', 'authenticator-option-label');
570
- addButtonGroup.appendChild(this.#addAuthenticatorButton);
595
+ addButtonGroup.appendChild(this.addAuthenticatorButton);
571
596
  const addAuthenticatorTitle = UI.UIUtils.createLabel(i18nString(UIStrings.addAuthenticator), '');
572
- UI.ARIAUtils.bindLabelToControl(addAuthenticatorTitle, this.#addAuthenticatorButton);
597
+ UI.ARIAUtils.bindLabelToControl(addAuthenticatorTitle, this.addAuthenticatorButton);
573
598
 
574
599
  this.#updateNewAuthenticatorSectionOptions();
575
600
  if (this.#protocolSelect) {
576
601
  this.#protocolSelect.addEventListener('change', this.#updateNewAuthenticatorSectionOptions.bind(this));
577
602
  }
603
+ if (this.residentKeyCheckbox) {
604
+ this.residentKeyCheckbox.addEventListener('change', this.#updateNewAuthenticatorSectionOptions.bind(this));
605
+ }
578
606
  }
579
607
 
580
608
  async #handleAddAuthenticatorButton(): Promise<void> {
@@ -702,6 +730,7 @@ export class WebauthnPaneImpl extends UI.Widget.VBox implements
702
730
  const protocolField = sectionFields.createChild('div', 'authenticator-field');
703
731
  const transportField = sectionFields.createChild('div', 'authenticator-field');
704
732
  const srkField = sectionFields.createChild('div', 'authenticator-field');
733
+ const slbField = sectionFields.createChild('div', 'authenticator-field');
705
734
  const suvField = sectionFields.createChild('div', 'authenticator-field');
706
735
 
707
736
  uuidField.appendChild(UI.UIUtils.createLabel(i18nString(UIStrings.uuid), 'authenticator-option-label'));
@@ -709,6 +738,7 @@ export class WebauthnPaneImpl extends UI.Widget.VBox implements
709
738
  transportField.appendChild(UI.UIUtils.createLabel(i18nString(UIStrings.transport), 'authenticator-option-label'));
710
739
  srkField.appendChild(
711
740
  UI.UIUtils.createLabel(i18nString(UIStrings.supportsResidentKeys), 'authenticator-option-label'));
741
+ slbField.appendChild(UI.UIUtils.createLabel(i18nString(UIStrings.supportsLargeBlob), 'authenticator-option-label'));
712
742
  suvField.appendChild(
713
743
  UI.UIUtils.createLabel(i18nString(UIStrings.supportsUserVerification), 'authenticator-option-label'));
714
744
 
@@ -717,6 +747,8 @@ export class WebauthnPaneImpl extends UI.Widget.VBox implements
717
747
  transportField.createChild('div', 'authenticator-field-value').textContent = options.transport;
718
748
  srkField.createChild('div', 'authenticator-field-value').textContent =
719
749
  options.hasResidentKey ? i18nString(UIStrings.yes) : i18nString(UIStrings.no);
750
+ slbField.createChild('div', 'authenticator-field-value').textContent =
751
+ options.hasLargeBlob ? i18nString(UIStrings.yes) : i18nString(UIStrings.no);
720
752
  suvField.createChild('div', 'authenticator-field-value').textContent =
721
753
  options.hasUserVerification ? i18nString(UIStrings.yes) : i18nString(UIStrings.no);
722
754
  }
@@ -779,18 +811,20 @@ export class WebauthnPaneImpl extends UI.Widget.VBox implements
779
811
 
780
812
  #createOptionsFromCurrentInputs(): Protocol.WebAuthn.VirtualAuthenticatorOptions {
781
813
  // TODO(crbug.com/1034663): Add optionality for isUserVerified param.
782
- if (!this.#protocolSelect || !this.#transportSelect || !this.#residentKeyCheckbox ||
783
- !this.#userVerificationCheckbox) {
814
+ if (!this.#protocolSelect || !this.#transportSelect || !this.residentKeyCheckbox ||
815
+ !this.#userVerificationCheckbox || !this.largeBlobCheckbox) {
784
816
  throw new Error('Unable to create options from current inputs');
785
817
  }
786
818
 
787
819
  return {
788
820
  protocol: this.#protocolSelect.options[this.#protocolSelect.selectedIndex].value as
789
821
  Protocol.WebAuthn.AuthenticatorProtocol,
822
+ ctap2Version: Protocol.WebAuthn.Ctap2Version.Ctap2_1,
790
823
  transport: this.#transportSelect.options[this.#transportSelect.selectedIndex].value as
791
824
  Protocol.WebAuthn.AuthenticatorTransport,
792
- hasResidentKey: this.#residentKeyCheckbox.checked,
825
+ hasResidentKey: this.residentKeyCheckbox.checked,
793
826
  hasUserVerification: this.#userVerificationCheckbox.checked,
827
+ hasLargeBlob: this.largeBlobCheckbox.checked,
794
828
  automaticPresenceSimulation: true,
795
829
  isUserVerified: true,
796
830
  };
package/package.json CHANGED
@@ -55,5 +55,5 @@
55
55
  "unittest": "scripts/test/run_unittests.py --no-text-coverage",
56
56
  "watch": "vpython third_party/node/node.py --output scripts/watch_build.js"
57
57
  },
58
- "version": "1.0.1000057"
58
+ "version": "1.0.1000934"
59
59
  }