Bug 316344
| Summary: | [Site Isolation] Enable MultiProcessBackForwardCache in WebKitTestRunner when Site Isolation is enabled | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Basuke Suzuki <basuke> |
| Component: | Tools / Tests | Assignee: | Basuke Suzuki <basuke> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Basuke Suzuki
Under Site Isolation, WebProcessPool::createWebPage auto-enables MultiProcessBackForwardCache (and UseUIProcessForBackForwardItemLoading) at page creation. WebKitTestRunner applies a full preference set per test (resetPreferencesToConsistentValues -> WKPreferencesResetTestRunnerOverrides), resetting unspecified preferences to their defaults and clobbering that runtime flip. As a result, BFCache-under-Site-Isolation layout tests run with MultiProcessBackForwardCacheEnabled=false, so BackForwardCache::addIfCacheable's guard (siteIsolationEnabled() && !multiProcessBackForwardCacheEnabled()) rejects caching and back/forward restore fails (e.g. fast/events/event-timing-back-forward-cache-duration.html under the mac-site-isolation suite).
Mirror the product coupling in WebKitTestRunner: when SiteIsolationEnabled is set, also enable MultiProcessBackForwardCacheEnabled. Add a same-origin Site-Isolation copy of the event-timing test as a regression guard.
UseUIProcessForBackForwardItemLoading coupling is deferred; enabling it surfaces a separate nested-frame form-state restoration failure.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Basuke Suzuki
<rdar://problem/178760818>
Basuke Suzuki
Pull request: https://github.com/WebKit/WebKit/pull/66491
EWS
Committed 314591@main (49a03a1fa5d5): <https://commits.webkit.org/314591@main>
Reviewed commits have been landed. Closing PR #66491 and removing active labels.