Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b23ab721c75ff88b40602f6801b9f00926a45fc0
      
https://github.com/WebKit/WebKit/commit/b23ab721c75ff88b40602f6801b9f00926a45fc0
  Author: Sean Patterson <[email protected]>
  Date:   2026-10-07 (Wed, 07 Oct 2026)

  Changed paths:
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M TestExpectations/apitests

  Log Message:
  -----------
  [Site Isolation] ASSERTION FAILED: m_page->settings().siteIsolationEnabled() 
in 
TestWebKitAPI.SiteIsolation.RemoteProcessTerminationAfterDisablingSiteIsolation
https://bugs.webkit.org/show_bug.cgi?id=326137
rdar://189038671

Reviewed by Alex Christensen.

When site isolation is disabled on a live page, preferencesDidChange()
immediately sends PreferencesDidChange to every web content process. A
remote frame's process that has not seen the change yet can still send
BroadcastFrameTreeSyncData or BroadcastAllFrameTreeSyncData, and
WebPageProxy relays those to the other processes unconditionally. The
relayed message arrives after PreferencesDidChange on the same connection,
so the main frame's process handles it with site isolation already
disabled and hits the assertion in
WebPage::frameTreeSyncDataChangedInAnotherProcess or
allFrameTreeSyncDataChangedInAnotherProcess.

Stop relaying once the page's preference is off. Messages relayed before
the change are still ordered ahead of PreferencesDidChange, so no process
receives one after disabling site isolation. The UI process still records
the frame's rect, geometry, and viewport info.

RemoteProcessTerminationAfterDisablingSiteIsolation, added in 319406@main,
disables site isolation right after the iframe loads, so whether it hit
this depended on the iframe process broadcasting at that moment.

* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::broadcastFrameTreeSyncData):
(WebKit::WebPageProxy::broadcastAllFrameTreeSyncData):
* TestExpectations/apitests:

Canonical link: https://commits.webkit.org/323025@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to