Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 411646ba40e841bd3826beac78668079925e49dc
https://github.com/WebKit/WebKit/commit/411646ba40e841bd3826beac78668079925e49dc
Author: Rupin Mittal <[email protected]>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
Log Message:
-----------
[Site Isolation] Disallow turning on shared process for site isolation if
site isolation is off
https://bugs.webkit.org/show_bug.cgi?id=315693
rdar://178077856
Reviewed by Charlie Wolfe.
Having shared process for site isolation enabled when site isolation is disabled
may lead to bad state.
For example on zillow.com, the page keeps reloading because "an error occurred".
The web process creates RemoteMediaSessionManager in WebPage::WebPage() when
RemoteMediaSessionManagerEnabled || SiteIsolationSharedProcessEnabled
(this was added in https://commits.webkit.org/304036@main).
But the UIProcess's generated message receiver accepts messages only when:
RemoteMediaSessionManagerEnabled || SiteIsolationEnabled
(from the EnabledBy attribute in RemoteMediaSessionManagerProxy.messages.in).
So if SiteIsolationSharedProcessEnabled is true (but both
RemoteMediaSessionManagerEnabled and SiteIsolationEnabled are false), the web
process will create the RemoteMediaSessionManager and send messages, but the
UIProcess will reject them and kill the web process.
This issue is being fixed in another patch, but we should disallow this
configuration. We do this by release asserting in the WebPage constructor so
the web process crashes.
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_allowsImmersiveEnvironments):
Canonical link: https://commits.webkit.org/314054@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications