Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 64bbad66316cd1cb6839599d3c31812cf8a929f4
      
https://github.com/WebKit/WebKit/commit/64bbad66316cd1cb6839599d3c31812cf8a929f4
  Author: Basuke Suzuki <[email protected]>
  Date:   2026-05-06 (Wed, 06 May 2026)

  Changed paths:
    M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp

  Log Message:
  -----------
  [Site Isolation] Only update page main frame's process in 
ProvisionalPageProxy::didCommitLoadForFrame when committing the main frame 
itself
https://bugs.webkit.org/show_bug.cgi?id=314129
rdar://176305054

Reviewed by Sihui Liu.

In ProvisionalPageProxy::didCommitLoadForFrame, the Site Isolation
block computes pageMainFrameProcess and, if the frame process has
changed, assigns the provisional page's FrameProcess to the page's
main frame. This is only correct when the provisional commit is for
the page's main frame itself. Under Site Isolation, a provisional
page may commit for a different frame (e.g., during a multi-process
BFCache restoration), in which case overwriting the page main frame's
FrameProcess with the provisional's FrameProcess leaves the real main
frame pointing to the wrong process.

Move the pageMainFrame == m_mainFrame guard into the outer condition
so the whole block is only entered when committing the page's main
frame. A pre-existing redundant check on the
m_deferredRemoteTransitionSite assignment becomes unnecessary and is
simplified accordingly.

* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::didCommitLoadForFrame):

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



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

Reply via email to