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
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/185258329>