Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b08846a9d6c87b160221fb603351a9ab7a95c310
      
https://github.com/WebKit/WebKit/commit/b08846a9d6c87b160221fb603351a9ab7a95c310
  Author: Adrian Perez de Castro <[email protected]>
  Date:   2025-11-10 (Mon, 10 Nov 2025)

  Changed paths:
    M Source/WebCore/Modules/credentialmanagement/BasicCredential.cpp
    M Source/WebCore/Modules/credentialmanagement/BasicCredential.h
    M Source/WebCore/Modules/credentialmanagement/BasicCredential.idl
    M Source/WebCore/Modules/credentialmanagement/CredentialCreationOptions.h
    M Source/WebCore/Modules/credentialmanagement/CredentialCreationOptions.idl
    M 
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
    M Source/WebCore/Modules/credentialmanagement/CredentialsContainer.h
    M Source/WebCore/Modules/credentialmanagement/CredentialsContainer.idl
    M Source/WebCore/Modules/credentialmanagement/MediationRequirement.h
    M Source/WebCore/Modules/credentialmanagement/Navigator+Credentials.idl
    M Source/WebCore/Modules/credentialmanagement/NavigatorCredentials.cpp
    M Source/WebCore/Modules/credentialmanagement/NavigatorCredentials.h
    M Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.idl
    M Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl
    M Source/WebCore/page/Quirks.cpp
    M Source/WebCore/page/Quirks.h
    M Source/WebCore/page/QuirksData.h

  Log Message:
  -----------
  Cannot log-in to Google account with WebAuthn disabled if second factor 
configured
https://bugs.webkit.org/show_bug.cgi?id=301202

Reviewed by Pascoe.

Add a quirk that makes the navigator.credentials API available for
the accounts.google.com domain, which tries to use it unconditionally
without a correct fallback for the TypeError thrown when accessing
the unavailable property.

When WebAuthn support is disabled at build time, the implementation is
stubbed to always resolve the Promise returned by .get() or .create()
with the "null" value, which Google Accounts does handle correctly and
triggers the fallback that prompts for a different second factor method.

* Source/WebCore/Modules/credentialmanagement/BasicCredential.cpp:
(WebCore::BasicCredential::isConditionalMediationAvailable):
* Source/WebCore/Modules/credentialmanagement/BasicCredential.h:
* Source/WebCore/Modules/credentialmanagement/BasicCredential.idl:
* Source/WebCore/Modules/credentialmanagement/CredentialCreationOptions.h:
* Source/WebCore/Modules/credentialmanagement/CredentialCreationOptions.idl:
* 
Source/WebCore/Modules/credentialmanagement/CredentialMediationRequirement.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/CredentialsContainer.h:
* Source/WebCore/Modules/credentialmanagement/CredentialsContainer.idl:
* Source/WebCore/Modules/credentialmanagement/MediationRequirement.h:
* Source/WebCore/Modules/credentialmanagement/Navigator+Credentials.idl:
* Source/WebCore/Modules/credentialmanagement/NavigatorCredentials.cpp:
* Source/WebCore/Modules/credentialmanagement/NavigatorCredentials.h:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl:
* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::shouldExposeCredentialsContainerQuirk const):
(WebCore::handleGoogleQuirks):
* Source/WebCore/page/Quirks.h:
* Source/WebCore/page/QuirksData.h:

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



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

Reply via email to