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

Reply via email to