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