Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 06adc1c85bf626a4bbece8777e75280008468b37
      
https://github.com/WebKit/WebKit/commit/06adc1c85bf626a4bbece8777e75280008468b37
  Author: Pascoe <[email protected]>
  Date:   2025-10-22 (Wed, 22 Oct 2025)

  Changed paths:
    A Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.cpp
    M Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h
    M Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.idl
    M Source/WebCore/Modules/identity/DigitalCredential.cpp
    M 
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.cpp
    M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.h
    M Source/WebCore/Modules/notifications/NotificationPayload.cpp
    M Source/WebCore/Modules/webauthn/AttestationConveyancePreference.idl
    M Source/WebCore/Modules/webauthn/AuthenticatorAttachment.idl
    M Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp
    A Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.cpp
    M Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.h
    M Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.idl
    M Source/WebCore/Modules/webauthn/AuthenticatorTransport.idl
    M Source/WebCore/Modules/webauthn/PublicKeyCredential.cpp
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.cpp
    M Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h
    M Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.idl
    M Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.h
    M Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl
    A Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.cpp
    M Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.h
    M Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl
    M Source/WebCore/Modules/webauthn/ResidentKeyRequirement.idl
    M Source/WebCore/Modules/webauthn/UserVerificationRequirement.idl
    M Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.cpp
    M Source/WebCore/Modules/webauthn/fido/U2fCommandConstructor.cpp
    M Source/WebCore/Modules/webdatabase/DatabaseManager.cpp
    M Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp
    M Source/WebCore/Modules/webxr/XRWebGLBinding.cpp
    M Source/WebCore/Sources.txt
    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/WebAuthenticationRequestData.cpp
    M Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp
    M Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.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] Reland enums should be DOMStrings
rdar://156713314
https://bugs.webkit.org/show_bug.cgi?id=301101

Reviewed by Brent Fulgham.

WebAuthn enums should be DOMStrings instead, see the discussion on the spec 
[1]. If a value is not valid,
it should be treated as not present (which usually means it should be converted 
into the default). This
applies to AuthenticatorAttachment, ResidentKeyRequirement, 
UserVerificationRequirement, and AttestationConveyancePreference.
w3c/webauthn#1738

* Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.cpp: 
Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.h.
(WebCore::CredentialRequestOptions::mediation const):
* Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h:
* Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.idl:
* Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::discoverFromExternalSource):
* Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.cpp: Added.
(WebCore::AuthenticatorSelectionCriteria::authenticatorAttachment const):
(WebCore::AuthenticatorSelectionCriteria::residentKey const):
(WebCore::AuthenticatorSelectionCriteria::userVerification const):
* Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.h:
* Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredential.cpp:
(WebCore::fromJSON):
(WebCore::PublicKeyCredential::parseCreationOptionsFromJSON):
(WebCore::PublicKeyCredential::parseRequestOptionsFromJSON):
* Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.cpp: 
Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.h.
(WebCore::PublicKeyCredentialCreationOptions::attestation const):
* Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.h:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.cpp: Copied 
from Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.h.
(WebCore::PublicKeyCredentialRequestOptions::userVerification const):
* Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.h:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl:
* Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.cpp:
(fido::encodeMakeCredentialRequestAsCBOR):
(fido::encodeGetAssertionRequestAsCBOR):
* Source/WebCore/Modules/webauthn/fido/U2fCommandConstructor.cpp:
(fido::isConvertibleToU2fRegisterCommand):
(fido::isConvertibleToU2fSignCommand):
* Source/WebCore/Sources.txt:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(authenticatorTransports):
(authenticatorSelectionCriteria):
(+[_WKWebAuthenticationPanel convertToCoreCreationOptionsWithOptions:]):
(wkTransports):
(+[_WKWebAuthenticationPanel convertToCoreRequestOptionsWithOptions:]):
* Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::WebCore::collectTransports):
* 
Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::WebAuthenticatorCoordinatorProxy::requestsForRegistration):
(WebKit::WebAuthenticatorCoordinatorProxy::requestsForAssertion):
(WebKit::configureRegistrationRequestContext):
(WebKit::configurationAssertionRequestContext):
* Source/WebKit/UIProcess/WebAuthentication/WebAuthenticationRequestData.cpp:
(WebKit::getUserVerificationRequirement):
* Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueMakeCredentialAfterCheckExcludedCredentials):
(WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived):
(WebKit::CtapAuthenticator::continueGetAssertionAfterCheckAllowCredentials):
* Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:
(WebKit::U2fAuthenticator::continueRegisterCommandAfterResponseReceived):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to