Bug 316429
| Summary: | [Site Isolation] Mark MultiProcessBackForwardCacheEnabled as testable so test infrastructure auto-enables it | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Basuke Suzuki <basuke> |
| Component: | WebKit Misc. | 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
<rdar://178835820>
When Site Isolation is enabled, the product flips MultiProcessBackForwardCacheEnabled to true at WebProcessPool::createWebPage(). WebKitTestRunner re-applies its full preference set per test (resetPreferencesToConsistentValues), which clobbers that runtime flip and leaves the flag false during BFCache-under-Site-Isolation tests.
The workaround in bug 316344 added TestController::featuresImpliedBySiteIsolation() that mirrors the product coupling in the test runner.
Remove the duplication for this specific flag by changing its status in UnifiedWebPreferences.yaml from 'unstable' to 'testable'. From the YAML's own definition: 'testable: OFF by default. Enabled in test infrastructure only.' This causes WebPreferences::enableAllExperimentalFeatures() to set it to true automatically for every WKTR run, regardless of Site Isolation, with no production impact.
No-op safety when Site Isolation is OFF:
- BackForwardCache::addIfCacheable's guard only triggers when SI is on.
- WebPageProxy::shouldUseBackForwardCache only consults MultiProcessBackForwardCacheEnabled when SI is on.
- The remaining MPBFCache-gated paths (suspendCurrentPageIfPossible, goToBackForwardItem) drive cross-site iframe orchestration; with SI off there are no cross-site iframe processes, so these collapse to the legacy behaviour.
UseUIProcessForBackForwardItemLoading is intentionally not changed here. It has non-Site-Isolation side effects and will be coupled via a separate WebPreferences::update() consolidation (a follow-up bug).
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Basuke Suzuki
Pull request: https://github.com/WebKit/WebKit/pull/66592
EWS
Committed 314689@main (0d7558ea5680): <https://commits.webkit.org/314689@main>
Reviewed commits have been landed. Closing PR #66592 and removing active labels.