Bug 256648

Summary: WebProcessProxy should use default settings values for near-suspended assertions when they have no page
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: WebKit2Assignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: kkinnunen, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Chris Dumez 2023-05-11 08:36:24 PDT
WebProcessProxy should use default settings values for near-suspended assertions when they have no page.
In WebKit, settings come from pages. The WebProcessProxy therefore iterate through pages to figure out if it should take near-suspended assertions and if it should drop them after a delay.
However, if the process doesn't have any pages, it would fall back to a value that is not the default value for these settings, which would lead to unexpected behavior in some case. This is particularly noticeable for service worker processes which often don't have pages.
Comment 1 Chris Dumez 2023-05-11 08:36:35 PDT
<rdar://108292314>
Comment 2 Chris Dumez 2023-05-11 08:39:26 PDT
Pull request: https://github.com/WebKit/WebKit/pull/13759
Comment 3 EWS 2023-05-11 10:24:30 PDT
Committed 263975@main (a6ed791b6aab): <https://commits.webkit.org/263975@main>

Reviewed commits have been landed. Closing PR #13759 and removing active labels.