Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7a3f4c0ecbd3726a02b08c0870c6887583d1c8f9
https://github.com/WebKit/WebKit/commit/7a3f4c0ecbd3726a02b08c0870c6887583d1c8f9
Author: Marcos Caceres <[email protected]>
Date: 2026-04-08 (Wed, 08 Apr 2026)
Changed paths:
A
LayoutTests/http/wpt/webauthn/public-key-credential-abort-reason.https-expected.txt
A
LayoutTests/http/wpt/webauthn/public-key-credential-abort-reason.https.html
M Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp
Log Message:
-----------
WebAuthn: AbortSignal reason is ignored when rejecting credentials.create()
and credentials.get()
rdar://174220589
https://bugs.webkit.org/show_bug.cgi?id=311625
Reviewed by Pascoe and Anne van Kesteren.
When navigator.credentials.create() or navigator.credentials.get() is aborted
via controller.abort(reason), the promise should reject with signal.reason.
Instead, the reason was discarded and the promise always rejected with a
hard-coded AbortError DOMException.
Fix both callbacks in AuthenticatorCoordinator to use
promise.rejectType<IDLAny>(abortSignal->reason().getValue()), consistent
with the pattern used in CredentialsContainer.cpp.
Tests: http/wpt/webauthn/public-key-credential-abort-reason.https.html
imported/w3c/web-platform-tests/webauthn/createcredential-abort.https.html
imported/w3c/web-platform-tests/webauthn/getcredential-abort.https.html
* LayoutTests/http/wpt/webauthn/public-key-credential-abort-reason.https.html:
Added.
*
LayoutTests/http/wpt/webauthn/public-key-credential-abort-reason.https-expected.txt:
Added.
* Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::create):
(WebCore::AuthenticatorCoordinator::discoverFromExternalSource):
Canonical link: https://commits.webkit.org/310782@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications