[webkit-changes] [WebKit/WebKit] 7c15d1: Begin implementing parent frames navigating Remote...
Alex Christensen
noreply at github.com
Thu May 18 08:40:09 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7c15d1c8d8906a1951d3d3d313dd5e1d757dcc48
https://github.com/WebKit/WebKit/commit/7c15d1c8d8906a1951d3d3d313dd5e1d757dcc48
Author: Alex Christensen <achristensen at apple.com>
Date: 2023-05-18 (Thu, 18 May 2023)
Changed paths:
M Source/WebCore/loader/FrameLoadRequest.h
M Source/WebCore/loader/NavigationScheduler.cpp
M Source/WebCore/page/Frame.h
M Source/WebCore/page/LocalFrame.cpp
M Source/WebCore/page/LocalFrame.h
M Source/WebCore/page/RemoteFrame.cpp
M Source/WebCore/page/RemoteFrame.h
M Source/WebCore/page/RemoteFrameClient.h
M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.h
M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
M Source/WebKit/WebProcess/WebPage/WebFrame.h
M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm
Log Message:
-----------
Begin implementing parent frames navigating RemoteFrames
https://bugs.webkit.org/show_bug.cgi?id=256949
rdar://109497339
Reviewed by Chris Dumez.
The interesting part of this is in WebRemoteFrameClient::changeLocation,
where we call dispatchDecidePolicyForNavigationAction which I've made able
to handle a RemoteFrame, and if the result is PolicyAction::Use then we
call transitionToLocal then changeLocation which begins the provisional
load in this process. A lot of things aren't quite hooked up completely
yet, but the progress is testable.
* Source/WebCore/loader/FrameLoadRequest.h:
* Source/WebCore/loader/NavigationScheduler.cpp:
(WebCore::ScheduledNavigation::shouldStartTimer):
(WebCore::ScheduledNavigation::didStartTimer):
(WebCore::ScheduledNavigation::didStopTimer):
(WebCore::NavigationScheduler::timerFired):
(WebCore::NavigationScheduler::startTimer):
(WebCore::NavigationScheduler::cancel):
* Source/WebCore/page/Frame.h:
* Source/WebCore/page/LocalFrame.cpp:
(WebCore::LocalFrame::changeLocation):
* Source/WebCore/page/LocalFrame.h:
* Source/WebCore/page/RemoteFrame.cpp:
(WebCore::RemoteFrame::changeLocation):
* Source/WebCore/page/RemoteFrame.h:
* Source/WebCore/page/RemoteFrameClient.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp:
(WebKit::WebRemoteFrameClient::changeLocation):
* Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.h:
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::transitionToLocal):
* Source/WebKit/WebProcess/WebPage/WebFrame.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/264204@main
More information about the webkit-changes
mailing list