Bug 322070

Summary: Digital Credentials: debug assertion when a page with a pending credential request enters the back/forward cache
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-08-18 16:15:47 PDT
A pending navigator.credentials.get() request whose page enters the back/forward cache trips a debug assertion when that cached page is later destroyed. The session rejects its promise while the script execution context is still suspended. ASSERTION FAILED: !activeDOMObjectsAreSuspended() || scriptExecutionContext()->eventLoop().isSuspended() Source/WebCore/bindings/js/JSDOMPromiseDeferred.cpp:86 Steps to reproduce, in a debug build with the back/forward cache enabled: start a credential request that the wallet leaves pending, navigate the page away so it enters the back/forward cache, then evict it. Debug builds only. Not caused by any recent change; reproduces on main.
Attachments
Radar WebKit Bug Importer
Comment 1 2026-08-18 16:15:53 PDT
Note You need to log in before you can comment on or make changes to this bug.