-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Transfer remote page map to SuspendedPageProxy when suspending
https://bugs.webkit.org/show_bug.cgi?id=259148 rdar://112143525 Reviewed by J Pascoe. When navigating from one page that has iframes to another, we use the remote page map to broadcast frame tree updates. We shouldn't broadcast to remote pages associated with the suspended page. The main frame is transferred, and now the remote page map is transferred along with it. The RemotePageDrawingAreaProxy needs to ignore a few drawing messages after it suspends. These should be ignored because it is not longer drawing after it suspends, and the drawing area has been destroyed. SuspendedPageProxy also ignores messages it doesn't recognize with no assertion. When navigating to a SuspendedPageProxy, we need to restore the remote page map. The remote page map follows the path of the main frame through the ProvisionalPageProxy back to the WebPageProxy. We were hitting assertions because the CachedFrame constructor would only remove LocalFrames. To make it not assert, remove all Frames. We still need to implement CachedFrame for RemoteFrames, but this makes the test cover much of the navigation back to a SuspendedPageProxy without assertion, with future work still to be done. This change enables opening several popular news websites with site isolation on without asserting. * Source/WebKit/UIProcess/RemotePageDrawingAreaProxy.cpp: (WebKit::RemotePageDrawingAreaProxy::didReceiveMessage): * Source/WebKit/UIProcess/SuspendedPageProxy.cpp: (WebKit::SuspendedPageProxy::SuspendedPageProxy): * Source/WebKit/UIProcess/SuspendedPageProxy.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::takeRemotePageMap): * Source/WebKit/UIProcess/WebPageProxy.h: * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/266018@main
- Loading branch information
1 parent
8f046fe
commit ab78423
Showing
9 changed files
with
61 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters