Bug 311790

Summary: Digital Credentials: prepare credential requests rejects with wrong error code and synchronously instead of queuing a task
Product: WebKit Reporter: Marcos Caceres <marcosc>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 268516    

Marcos Caceres
Reported 2026-04-08 22:25:29 PDT
When a credential request is already in progress, the spec (https://w3c-fedid.github.io/digital-credentials/ — "prepare credential requests" step 2) says: "Queue a global task on the DOM manipulation task source given |global| to reject |promise| with a "NotAllowedError" DOMException." WebKit's implementation (CredentialRequestCoordinator.cpp:128–129) does two things wrong: 1. Rejects with `InvalidStateError` instead of `NotAllowedError`. 2. Rejects synchronously instead of queuing a task on the DOM manipulation task source. Fix: replace the synchronous `promise.reject(ExceptionCode::InvalidStateError, ...)` with a queued task that rejects with `NotAllowedError`.
Attachments
Radar WebKit Bug Importer
Comment 1 2026-04-15 22:26:12 PDT
Note You need to log in before you can comment on or make changes to this bug.