[webkit-changes] [WebKit/WebKit] 0e10b1: UI process should create RemoteFrame in all proces...

Alex Christensen noreply at github.com
Mon May 8 12:18:15 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0e10b1b25a875055ce80c3c05760ad7e783ed940
      https://github.com/WebKit/WebKit/commit/0e10b1b25a875055ce80c3c05760ad7e783ed940
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
    M Source/WebKit/Shared/LocalFrameCreationParameters.h
    M Source/WebKit/Shared/LocalFrameCreationParameters.serialization.in
    M Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp
    M Source/WebKit/UIProcess/WebFrameProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
    M Source/WebKit/WebProcess/WebPage/WebFrame.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in

  Log Message:
  -----------
  UI process should create RemoteFrame in all processes upon frame creation
https://bugs.webkit.org/show_bug.cgi?id=256474
rdar://109047555

Reviewed by Chris Dumez.

With site isolation turned on, the UI process needs to be the source of truth for the frame tree state,
and it needs to broadcast changes it gets from one process to all the other processes.  This begins that
pattern.  Instead of sending a message to create a local frame or transition a remote frame to a local
frame before starting a load in a process, create the remote frame as soon as a local frame is made in
another process, then we always transition that remote frame to a local frame before starting a load.

* Source/WebKit/Shared/LocalFrameCreationParameters.h:
* Source/WebKit/Shared/LocalFrameCreationParameters.serialization.in:
* Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp:
(WebKit::ProvisionalFrameProxy::ProvisionalFrameProxy):
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didCreateSubframe):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::createRemoteSubframesInOtherProcesses):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createRemoteSubframe):
(WebKit::WebPage::transitionFrameToLocalAndLoadRequest):
(WebKit::WebPage::loadRequestByCreatingNewLocalFrameOrConvertingRemoteFrame): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:

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




More information about the webkit-changes mailing list