Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4d8c985a556c6766167e8b229b3b1a753b6a3f13
https://github.com/WebKit/WebKit/commit/4d8c985a556c6766167e8b229b3b1a753b6a3f13
Author: Sihui Liu <[email protected]>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M Source/WebKit/Shared/WebPageCreationParameters.h
M Source/WebKit/Shared/WebPageCreationParameters.serialization.in
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPreferences.cpp
M Source/WebKit/UIProcess/WebPreferences.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
Log Message:
-----------
[Site Isolation][Debug] Fix LockdownMode.WorkerFontParsedViaSafeFontParser
https://bugs.webkit.org/show_bug.cgi?id=309012
rdar://171561867
Reviewed by Per Arne Vollan.
SiteIsolationEnabled flag is always turned off in lockdown mode because it is
still an unstable feature, see
`WebPage::adjustSettingsForLockdownMode`. However, for testing purpose, we want
to turn it on in some cases, and an SPI
`WKPreferences._forceSiteIsolationAlwaysOnForTesting` was introduced for this
purpose (294094@main) -- to forcibly turn
on Site Isolation. However, the SPI does not quite work for lockdown mode
because the setting is not passed to web
process, and `WebPage::adjustSettingsForLockdownMode` does not check the
setting. This causes Site Isolation to be still
off in web process when running lockdown mode tests with `run-api-tests
--site-isolation`, and it can lead to debug
assertion failure because UI process and web process have different values of
SiteIsolationEnabled flag. For example, UI
process will send message `WebPage::frameTreeSyncDataChangedInAnotherProcess`
when `SiteIsolationEnabled` is true, and
web process will find `SiteIsolationEnabled` is false in
`WebPage::frameTreeSyncDataChangedInAnotherProcess` and crash.
* Source/WebKit/Shared/WebPageCreationParameters.h:
* Source/WebKit/Shared/WebPageCreationParameters.serialization.in:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
* Source/WebKit/UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::forcedSiteIsolationAlwaysOnForTesting):
* Source/WebKit/UIProcess/WebPreferences.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_allowsImmersiveEnvironments):
(WebKit::WebPage::adjustSettingsForLockdownMode):
Canonical link: https://commits.webkit.org/308554@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications