Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a74316b16e9a7b2067d23ededbdfebf7741d7e74
https://github.com/WebKit/WebKit/commit/a74316b16e9a7b2067d23ededbdfebf7741d7e74
Author: Sihui Liu <[email protected]>
Date: 2026-08-21 (Fri, 21 Aug 2026)
Changed paths:
M Tools/Scripts/webkitpy/api_tests/allowlist.txt
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
Log Message:
-----------
[Site Isolation] Make SiteIsolation tests that need full isolation opt out of
shared process mode
https://bugs.webkit.org/show_bug.cgi?id=322156
rdar://185382380
Reviewed by Ryosuke Niwa.
Running the SiteIsolation API tests in shared process mode makes some of them
fail because they expect to be running in
full isolation mode, for instance by asserting that two different sites are in
two different processes. Those tests need
to opt out of shared process mode explicitly. This is a step towards making
shared process mode the default.
Add setFeatureEnabled(), which replaces enableFeature() and takes the value
rather than hardcoding YES, and build
disableSharedProcess() and siteIsolatedViewAndDelegateWithoutSharedProcess() on
top of it. Switch NavigationWithIFrames,
CancelProvisionalLoad and CrossProcessHistoryTraversalCoalesce to the latter.
None of their expectations change, and the
opt-out is a no-op in the current default configuration.
To keep targeted coverage of shared process mode, add a variant of each of
those tests that opts in instead.
CrossProcessHistoryTraversalCoalesceWithSharedProcess keeps apple.com out of
the shared process through the user
interaction override, because the traversal it coalesces is only a
cross-process one if the two subframes are in
different processes.
* Tools/Scripts/webkitpy/api_tests/allowlist.txt:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:
(TestWebKitAPI::enableSiteIsolation):
(TestWebKitAPI::disableSharedProcess):
(TestWebKitAPI::siteIsolatedViewWithSharedProcess):
(TestWebKitAPI::siteIsolatedViewAndDelegateWithoutSharedProcess):
(TestWebKitAPI::TEST(SiteIsolation,
QueryFramesStateAfterGoingBackToCachedPageWithIframe)):
(TestWebKitAPI::TEST(SiteIsolation, NavigationWithIFrames)):
(TestWebKitAPI::TEST(SiteIsolation, NavigationWithIFramesWithSharedProcess)):
(TestWebKitAPI::TEST(SiteIsolation, CancelProvisionalLoad)):
(TestWebKitAPI::TEST(SiteIsolation, CancelProvisionalLoadWithSharedProcess)):
(TestWebKitAPI::TEST(SiteIsolation, BFCacheSameSitePageChangesTopDocumentURL)):
(TestWebKitAPI::TEST(SiteIsolation, BFCacheCrossSitePageKeepsTopDocumentURL)):
(TestWebKitAPI::(SiteIsolation, SharedProcessExcludesLoopback)):
(TestWebKitAPI::(SiteIsolation,
SelectElementPopupAfterFocusChangesDuringTracking)):
(TestWebKitAPI::(SiteIsolation,
MultiProcessBFCacheCrossSiteEvictionDoesNotCrashIframe)):
(TestWebKitAPI::(SiteIsolation,
MultiProcessBFCacheRestoreWithCrossSiteIframeDoesNotCrash)):
(TestWebKitAPI::(SiteIsolation,
ProvisionalSubframeCommitAfterMainFrameSwapDoesNotCrash)):
(TestWebKitAPI::(SiteIsolation,
MultiProcessBFCacheSameSiteReusedIframeNotFrozen)):
(TestWebKitAPI::(SiteIsolation,
MultiProcessBFCacheRestoreRerendersReattachedIframe)):
(TestWebKitAPI::(SiteIsolation,
MultiProcessBFCacheRepeatedSameSiteSuspendCachesEachEntry)):
(TestWebKitAPI::(SiteIsolation,
MultiProcessBFCacheSameSiteEvictionDoesNotCrashIframe)):
(TestWebKitAPI::(SiteIsolation, UserGesture)):
(TestWebKitAPI::(SiteIsolation, CrossProcessHistoryTraversalCoalesce)):
(TestWebKitAPI::(SiteIsolation,
CrossProcessHistoryTraversalCoalesceWithSharedProcess)):
(TestWebKitAPI::(SiteIsolation,
RestoredPageIsRenderedAfterCrossSiteBFCacheRoundTrip)):
(TestWebKitAPI::(SiteIsolation,
RestoredPageWithIframeIsRenderedAfterCrossSiteBFCacheRoundTrip)):
(TestWebKitAPI::enableFeature): Deleted.
Canonical link: https://commits.webkit.org/319601@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications