Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a34c5293eb0921167c306a88a2c7fc38d2b1ee31
      
https://github.com/WebKit/WebKit/commit/a34c5293eb0921167c306a88a2c7fc38d2b1ee31
  Author: Pascoe <pas...@apple.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M LayoutTests/TestExpectations
    M 
LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt
    M 
LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https.html
    M 
LayoutTests/http/wpt/webauthn/public-key-credential-get-success-hid.https-expected.txt
    M 
LayoutTests/http/wpt/webauthn/public-key-credential-get-success-hid.https.html
    M LayoutTests/imported/w3c/resources/import-expectations.json
    A LayoutTests/imported/w3c/web-platform-tests/webauthn/META.yml
    A LayoutTests/imported/w3c/web-platform-tests/webauthn/WEB_FEATURES.yml
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/conditional-mediation.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-abort.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-attachment.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-badargs-authnrselection.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-badargs-challenge.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-badargs-rp.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-badargs-user.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-clientdata.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-cross-origin-iframe.https.sub.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-excludecredentials.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-extensions.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-getpublickey.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-hints.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-large-blob-not-supported.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-large-blob-supported.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-minpinlength.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-passing.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-prf.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-pubkeycredparams.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-resident-key.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-timeout.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/credblob-not-supported.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/credblob-supported.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getclientcapabilities.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getclientcapabilities.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-abort.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-allowcredentials.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-attachment.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-badargs-rpid.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-badargs-userverification.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-extensions.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-hints.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-large-blob-not-supported.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-large-blob-supported.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-passing.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-prf.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-rk-passing.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-timeout.https.html
    A LayoutTests/imported/w3c/web-platform-tests/webauthn/helpers.js
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness-manual.https.window-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness-manual.https.window.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness-manual.https.window.js
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness.https.window-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness.https.window.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness.https.window.js
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-creation-options-from-json.https.window-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-creation-options-from-json.https.window.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-creation-options-from-json.https.window.js
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-request-options-from-json.https.window-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-request-options-from-json.https.window.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-request-options-from-json.https.window.js
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-to-json.https.window-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-to-json.https.window.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-to-json.https.window.js
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/remote-desktop-client-override.tentative.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/resources/common-inputs.js
    A LayoutTests/imported/w3c/web-platform-tests/webauthn/resources/utils.js
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/resources/w3c-import.log
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/resources/webauthn-subframe.sub.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/securecontext.http-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/securecontext.http.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/securecontext.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/securecontext.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/signal-all-accepted-credentials.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/signal-current-user-details.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/signal-unknown-credential.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/storecredential.https.html
    A LayoutTests/imported/w3c/web-platform-tests/webauthn/w3c-import.log
    A 
LayoutTests/imported/w3c/web-platform-tests/webauthn/webauthn-testdriver-basic.https.html
    M LayoutTests/platform/glib/TestExpectations
    M LayoutTests/platform/mac-wk1/TestExpectations
    M LayoutTests/platform/win/TestExpectations
    M LayoutTests/tests-options.json
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/DerivedSources-input.xcfilelist
    M Source/WebCore/DerivedSources-output.xcfilelist
    M Source/WebCore/DerivedSources.make
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.cpp
    M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.h
    M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl
    A Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputsJSON.h
    A 
Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputsJSON.idl
    M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.cpp
    M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.h
    M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.idl
    A 
Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputsJSON.h
    A 
Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputsJSON.idl
    A Source/WebCore/Modules/webauthn/AuthenticationResponseJSON.h
    A Source/WebCore/Modules/webauthn/AuthenticationResponseJSON.idl
    M Source/WebCore/Modules/webauthn/AuthenticatorAssertionResponse.cpp
    M Source/WebCore/Modules/webauthn/AuthenticatorAssertionResponse.h
    M Source/WebCore/Modules/webauthn/AuthenticatorAttestationResponse.cpp
    M Source/WebCore/Modules/webauthn/AuthenticatorAttestationResponse.h
    M Source/WebCore/Modules/webauthn/AuthenticatorResponse.cpp
    A Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.h
    A Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.idl
    A Source/WebCore/Modules/webauthn/CredentialPropertiesOutput.h
    A Source/WebCore/Modules/webauthn/CredentialPropertiesOutput.idl
    M Source/WebCore/Modules/webauthn/PublicKeyCredential.cpp
    M Source/WebCore/Modules/webauthn/PublicKeyCredential.h
    M Source/WebCore/Modules/webauthn/PublicKeyCredential.idl
    M Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h
    M Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.idl
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptionsJSON.h
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptionsJSON.idl
    M Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptorJSON.h
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptorJSON.idl
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialEntity.h
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialEntity.idl
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialParameters.h
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialParameters.idl
    M Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptionsJSON.h
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptionsJSON.idl
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialRpEntity.h
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialRpEntity.idl
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntity.h
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntity.idl
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntityJSON.h
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntityJSON.idl
    A Source/WebCore/Modules/webauthn/RegistrationResponseJSON.h
    A Source/WebCore/Modules/webauthn/RegistrationResponseJSON.idl
    M Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.cpp
    M Source/WebCore/Modules/webauthn/fido/U2fCommandConstructor.cpp
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm
    M Source/WebCore/bindings/IDLTypes.h
    M Source/WebCore/bindings/js/BufferSource.h
    M Source/WebCore/bindings/js/JSDOMConvertBufferSource.h
    M Source/WebCore/bindings/js/JSDOMConvertUnion.h
    M Source/WebCore/bindings/js/JSDOMPromiseDeferredForward.h
    M Source/WebCore/bindings/scripts/IDLParser.pm
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm
    M Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm
    M 
Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm
    M Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp
    M Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Tools/TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp
    M Tools/TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm

  Log Message:
  -----------
  [WebAuthn] Implement JSON serialization methods
https://bugs.webkit.org/show_bug.cgi?id=256856
rdar://problem/109419228

Reviewed by Charlie Wolfe.

This patch implements methods to turn different webauthn dictionaries into
more JSON friendly versions. This was added to make ergonomics for developers
easier in https://w3c.github.io/webauthn/#dom-publickeycredential-tojson.

BufferSource is tricky here, because it is currently not defined in IDL to the
BufferSource type, but instead IDLUnion<ArrayBuffer, ArrayBufferView>, which we
maintain. To get around this issue I defined a new IDLBufferSource to be used
for situations where we need JSGenerateToJSObject and JSGenerateToNativeObject.
This is the first instance of an IDL type containing a BufferSource needing both
JSGenerateToJSObject and JSGenerateToNativeObject.

I imported the WPT tests that exercise fromJSON, but the WPT toJSON ones require
virtual authenticator support. This is currently only available with WebDriver,
so I instead added WKTR-friendly test cases for toJSON.

* LayoutTests/TestExpectations:
* 
LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt:
* 
LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https.html:
* LayoutTests/imported/w3c/resources/import-expectations.json:
* LayoutTests/imported/w3c/web-platform-tests/webauthn/META.yml: Added.
* LayoutTests/imported/w3c/web-platform-tests/webauthn/WEB_FEATURES.yml: Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/conditional-mediation.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-abort.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-attachment.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-badargs-authnrselection.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-badargs-challenge.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-badargs-rp.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-badargs-user.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-clientdata.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-cross-origin-iframe.https.sub.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-excludecredentials.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-extensions.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-getpublickey.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-hints.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-large-blob-not-supported.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-large-blob-supported.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-minpinlength.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-passing.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-prf.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-pubkeycredparams.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-resident-key.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/createcredential-timeout.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/credblob-not-supported.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/credblob-supported.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getclientcapabilities.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getclientcapabilities.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-abort.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-allowcredentials.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-attachment.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-badargs-rpid.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-badargs-userverification.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-extensions.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-hints.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-large-blob-not-supported.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-large-blob-supported.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-passing.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-prf.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-rk-passing.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/getcredential-timeout.https.html:
 Added.
* LayoutTests/imported/w3c/web-platform-tests/webauthn/helpers.js: Added.
(createCredential):
(assertCredential):
(ab2str):
(parseAuthenticatorData):
(TestCase.this.testFunction):
(TestCase):
(TestCase.prototype.toObject):
(TestCase.prototype.toArgs):
(TestCase.prototype.modify.recursiveSetObject):
(TestCase.prototype.modify):
(TestCase.prototype.doIt):
(TestCase.prototype.testPasses):
(TestCase.prototype.testFails):
(TestCase.prototype.runTest):
(TestCase.prototype.testSetup):
(TestCase.prototype.beforeTest):
(TestCase.prototype.testTeardown):
(TestCase.prototype.afterTest):
(TestCase.prototype.validateRet):
(cloneObject):
(extendObject):
(CreateCredentialsTest):
(CreateCredentialsTest.prototype.validateRet):
(GetCredentialsTest):
(GetCredentialsTest.prototype.addCredential):
(GetCredentialsTest.prototype.testSetup):
(GetCredentialsTest.prototype.validateRet):
(GetCredentialsTest.prototype.setIsResidentKeyTest):
(base64urlEncode):
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness-manual.https.window-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness-manual.https.window.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness-manual.https.window.js:
 Added.
(async idlArray):
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness.https.window-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness.https.window.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/idlharness.https.window.js:
 Added.
(async idlArray):
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-creation-options-from-json.https.window-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-creation-options-from-json.https.window.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-creation-options-from-json.https.window.js:
 Added.
(test):
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-request-options-from-json.https.window-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-request-options-from-json.https.window.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-request-options-from-json.https.window.js:
 Added.
(test):
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-to-json.https.window-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-to-json.https.window.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/public-key-credential-to-json.https.window.js:
 Added.
(assertObjectKeysEq):
(convertObject):
(authenticatorResponseToJson):
(publicKeyCredentialToJson):
(virtualAuthenticatorPromiseTest.async t):
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/remote-desktop-client-override.tentative.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/resources/common-inputs.js:
 Added.
* LayoutTests/imported/w3c/web-platform-tests/webauthn/resources/utils.js: 
Added.
(base64urlEncode):
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/resources/w3c-import.log: 
Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/resources/webauthn-subframe.sub.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/securecontext.http-expected.txt:
 Added.
* LayoutTests/imported/w3c/web-platform-tests/webauthn/securecontext.http.html: 
Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/securecontext.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/securecontext.https.html: 
Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/signal-all-accepted-credentials.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/signal-current-user-details.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/signal-unknown-credential.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/storecredential.https.html:
 Added.
* LayoutTests/imported/w3c/web-platform-tests/webauthn/w3c-import.log: Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webauthn/webauthn-testdriver-basic.https.html:
 Added.
* LayoutTests/tests-options.json:
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.cpp:
(WebCore::AuthenticationExtensionsClientInputs::toCBOR const):
* Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.h:
* Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl:
* Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputsJSON.h: 
Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl.
* Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputsJSON.idl: 
Copied from 
Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl.
* Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.cpp:
(WebCore::AuthenticationExtensionsClientOutputs::toJSON const):
* Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.h:
* Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.idl:
* Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputsJSON.h: 
Copied from 
Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.h.
* 
Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputsJSON.idl: 
Copied from 
Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.idl.
* Source/WebCore/Modules/webauthn/AuthenticationResponseJSON.h: Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl.
* Source/WebCore/Modules/webauthn/AuthenticationResponseJSON.idl: Copied from 
Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl.
* Source/WebCore/Modules/webauthn/AuthenticatorAssertionResponse.cpp:
(WebCore::AuthenticatorAssertionResponse::toJSON):
* Source/WebCore/Modules/webauthn/AuthenticatorAssertionResponse.h:
* Source/WebCore/Modules/webauthn/AuthenticatorAttestationResponse.cpp:
(WebCore::AuthenticatorAttestationResponse::toJSON):
* Source/WebCore/Modules/webauthn/AuthenticatorAttestationResponse.h:
* Source/WebCore/Modules/webauthn/AuthenticatorResponse.cpp:
(WebCore::AuthenticatorResponse::data const):
* Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.h: Copied from 
Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl.
* Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.idl: Copied 
from Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl.
* Source/WebCore/Modules/webauthn/CredentialPropertiesOutput.h: Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/CredentialPropertiesOutput.idl: Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredential.cpp:
(WebCore::PublicKeyCredential::toJSON):
(WebCore::fromJSON):
(WebCore::PublicKeyCredential::parseCreationOptionsFromJSON):
(WebCore::PublicKeyCredential::parseRequestOptionsFromJSON):
* Source/WebCore/Modules/webauthn/PublicKeyCredential.h:
* Source/WebCore/Modules/webauthn/PublicKeyCredential.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h:
(): Deleted.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptionsJSON.h: 
Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptionsJSON.idl: 
Copied from Source/WebCore/Modules/webauthn/PublicKeyCredential.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptorJSON.h: Copied 
from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptorJSON.idl: Copied 
from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialEntity.h: Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialEntity.idl: Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialParameters.h: Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialParameters.idl: Copied 
from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptionsJSON.h: 
Copied from 
Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.h.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptionsJSON.idl: 
Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialRpEntity.h: Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialRpEntity.idl: Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntity.h: Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntity.idl: Copied 
from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntityJSON.h: Copied 
from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntityJSON.idl: Copied 
from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl.
* Source/WebCore/Modules/webauthn/RegistrationResponseJSON.h: Copied from 
Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl.
* Source/WebCore/Modules/webauthn/RegistrationResponseJSON.idl: Copied from 
Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.idl.
* Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.cpp:
(fido::convertRpEntityToCBOR):
(fido::convertUserEntityToCBOR):
(fido::convertParametersToCBOR):
(fido::encodeGetAssertionRequestAsCBOR):
* Source/WebCore/Modules/webauthn/fido/U2fCommandConstructor.cpp:
(fido::convertToU2fRegisterCommand):
(fido::convertToU2fCheckOnlySignCommand):
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AXRemoteFrame::initializePlatformElementWithRemoteToken):
* Source/WebCore/bindings/IDLTypes.h:
* Source/WebCore/bindings/js/BufferSource.h:
(WebCore::BufferSource::BufferSource):
* Source/WebCore/bindings/js/JSDOMConvertBufferSource.h:
(WebCore::JSConverter<IDLBufferSource>::convert):
(WebCore::toJS):
* Source/WebCore/bindings/js/JSDOMConvertUnion.h:
(WebCore::Converter<IDLBufferSource>::convert):
* Source/WebCore/bindings/js/JSDOMPromiseDeferredForward.h:
* Source/WebCore/bindings/scripts/IDLParser.pm:
(addBuiltinTypedefs):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(publicKeyCredentialRpEntity):
(publicKeyCredentialUserEntity):
(publicKeyCredentialParameters):
(publicKeyCredentialDescriptors):
(authenticatorSelectionCriteria):
* Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::WebCore::collectTransports):
(WebKit::WebCore::getRpId):
* Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticatorInternal::produceHashSet):
(WebKit::LocalAuthenticator::makeCredential):
(WebKit::LocalAuthenticator::processClientExtensions):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
(WebKit::LocalAuthenticator::deleteDuplicateCredential const):
* 
Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::WebAuthenticatorCoordinatorProxy::requestsForRegistration):
(WebKit::configureRegistrationRequestContext):
* Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::makeCredential):
(WebKit::CtapAuthenticator::continueSilentlyCheckCredentials):
(WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived):
* Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:
(WebKit::U2fAuthenticator::continueRegisterCommandAfterResponseReceived):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
* Tools/TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:
(TestWebKitAPI::TEST(CTAPRequestTest, TestConstructMakeCredentialRequestParam)):
(TestWebKitAPI::TEST(CTAPRequestTest, 
TestConstructMakeCredentialRequestParamNoUVNoRK)):
(TestWebKitAPI::TEST(CTAPRequestTest, 
TestConstructMakeCredentialRequestParamUVRequiredButNotSupported)):
(TestWebKitAPI::TEST(CTAPRequestTest, 
TestConstructMakeCredentialRequestParamWithPin)):
(TestWebKitAPI::TEST(CTAPRequestTest, 
TestConstructMakeCredentialRequestRKPreferred)):
(TestWebKitAPI::TEST(CTAPRequestTest, 
TestConstructMakeCredentialRequestRKPreferredNotSupported)):
(TestWebKitAPI::TEST(CTAPRequestTest, 
TestConstructMakeCredentialRequestRKDiscouraged)):
(TestWebKitAPI::TEST(CTAPRequestTest, 
TestConstructMakeCredentialRequestWithLargeBlob)):
(TestWebKitAPI::TEST(CTAPRequestTest, 
TestConstructMakeCredentialRequestWithUnsupportedLargeBlob)):
* Tools/TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp:
(TestWebKitAPI::constructMakeCredentialRequest):
(TestWebKitAPI::TEST(U2fCommandConstructorTest, 
TestConvertCtapMakeCredentialToU2fCheckOnlySign)):
(TestWebKitAPI::TEST(U2fCommandConstructorTest, 
TestConvertCtapMakeCredentialToU2fCheckOnlySignWithInvalidCredentialType)):
(TestWebKitAPI::TEST(U2fCommandConstructorTest, 
TestU2fRegisterCredentialAlgorithmRequirement)):
(TestWebKitAPI::TEST(U2fCommandConstructorTest, 
TestU2fRegisterUserVerificationRequirement)):
(TestWebKitAPI::TEST(U2fCommandConstructorTest, 
TestU2fRegisterResidentKeyRequirement)):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST(WebAuthenticationPanel, 
PublicKeyCredentialCreationOptionsMinimum)):
(TestWebKitAPI::TEST(WebAuthenticationPanel, 
PublicKeyCredentialCreationOptionsMaximumDefault)):
(TestWebKitAPI::TEST(WebAuthenticationPanel, 
PublicKeyCredentialCreationOptionsMaximum1)):
(TestWebKitAPI::TEST(WebAuthenticationPanel, 
PublicKeyCredentialCreationOptionsMaximum2)):

Canonical link: https://commits.webkit.org/284627@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to