[webkit-changes] [WebKit/WebKit] ef55ed: [WebAuthn] Implement conditional creation

Commit Queue noreply at github.com
Thu Nov 30 12:02:10 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ef55edc69e9b28394d7e73facedb868a6ca72da2
      https://github.com/WebKit/WebKit/commit/ef55edc69e9b28394d7e73facedb868a6ca72da2
  Author: Garrett Davidson <garrett_davidson at apple.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    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/Modules/credentialmanagement/CredentialCreationOptions.h
    M Source/WebCore/Modules/credentialmanagement/CredentialCreationOptions.idl
    A Source/WebCore/Modules/credentialmanagement/CredentialMediationRequirement.idl
    M Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h
    M Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.idl
    M Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp
    A Source/WebCore/Modules/credentialmanagement/MediationRequirement.h
    M Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp
    M Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.h
    M Source/WebCore/Modules/webauthn/AuthenticatorCoordinatorClient.h
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebKit/Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/UIProcess/API/APIUIClient.h
    M Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm
    M Source/WebKit/UIProcess/Cocoa/UIDelegate.h
    M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm
    M Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm
    M Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp
    M Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h
    M Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in
    M Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp
    M Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm

  Log Message:
  -----------
  [WebAuthn] Implement conditional creation
https://bugs.webkit.org/show_bug.cgi?id=265487
rdar://113573376

Reviewed by Pascoe.

Implement the plumbing to pass the existing CredentialManagement
CredentialMediationRequirement through to the platform. This mostly involved pulling the
mediation requirement up a level from CredentialRequestOptions to being at the top level
of CredentialManagement, which matches the spec and makes up the bulk of the diff.

Pascoe did most of the work here, and I just picked up the last bit.

* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Modules/credentialmanagement/CredentialCreationOptions.h:
* Source/WebCore/Modules/credentialmanagement/CredentialCreationOptions.idl:
* Source/WebCore/Modules/credentialmanagement/CredentialMediationRequirement.idl: Copied from Source/WebCore/Modules/credentialmanagement/CredentialCreationOptions.idl.
* Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h:
* Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.idl:
* Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp:
(WebCore::CredentialsContainer::get):
(WebCore::CredentialsContainer::isCreate):
* Source/WebCore/Modules/credentialmanagement/MediationRequirement.h: Copied from Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h.
* Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::create):
* Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.h:
* Source/WebCore/Modules/webauthn/AuthenticatorCoordinatorClient.h:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebKit/Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
* Source/WebKit/UIProcess/API/APIUIClient.h:
(API::UIClient::requestWebAuthenticationConditonalMediationRegistration):
* Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
* Source/WebKit/UIProcess/Cocoa/UIDelegate.h:
* Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::requestWebAuthenticationConditonalMediationRegistration):
* Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::respondReceived):
(WebKit::AuthenticatorManager::initTimeOutTimer):
* Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::configureRegistrationRequestContext):
(WebKit::WebAuthenticatorCoordinatorProxy::contextForRequest):
* Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
(WebKit::WebAuthenticatorCoordinatorProxy::makeCredential):
(WebKit::WebAuthenticatorCoordinatorProxy::handleRequest):
* Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
* Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in:
* Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
(WebKit::WebAuthenticatorCoordinator::makeCredential):
(WebKit::WebAuthenticatorCoordinator::getAssertion):
* Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelUIDelegate _webView:requestWebAuthenticationConditionalMediationRegistrationForUser:completionHandler:]):

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




More information about the webkit-changes mailing list