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

Reply via email to