[webkit-changes] [WebKit/WebKit] 08b021: [Site Isolation] Lock the back/forward list when n...

Charlie Wolfe noreply at github.com
Thu Dec 19 13:51:51 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 08b02154d9322cabe375ddac86cda5bfd602d958
      https://github.com/WebKit/WebKit/commit/08b02154d9322cabe375ddac86cda5bfd602d958
  Author: Charlie Wolfe <charliew at apple.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm

  Log Message:
  -----------
  [Site Isolation] Lock the back/forward list when navigating isolated iframes back or forward
https://bugs.webkit.org/show_bug.cgi?id=284967
rdar://141773123

Reviewed by Alex Christensen.

When navigating isolated iframes back or forward to a different site we need to lock the back forward
list so that history state is not committed by the request loaded in the new web process. We were using
`m_pendingChildBackForwardItem` for this, which indicates that a back/forward item will soon have child
state committed by a new web process, but this was not correct because navigating isolated iframes will
not construct history state for their out-of-process parents.

If we are loading an iframe in a new process while moving back or forward we should always lock the
back/forward list.

* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::TEST(SiteIsolation, NavigateIframeCrossOriginBackForward)):

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



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


More information about the webkit-changes mailing list