[webkit-changes] [WebKit/WebKit] 355584: Add policy delegate for back/forward navigations
Brady Eidson
noreply at github.com
Mon Feb 10 23:13:34 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3555845f0475627457afa3c7b968e783875f1669
https://github.com/WebKit/WebKit/commit/3555845f0475627457afa3c7b968e783875f1669
Author: Brady Eidson <beidson at apple.com>
Date: 2025-02-10 (Mon, 10 Feb 2025)
Changed paths:
M Source/WebCore/loader/EmptyClients.cpp
M Source/WebCore/loader/EmptyFrameLoaderClient.h
M Source/WebCore/loader/FrameLoader.cpp
M Source/WebCore/loader/HistoryController.cpp
M Source/WebCore/loader/HistoryController.h
M Source/WebCore/loader/LocalFrameLoaderClient.h
M Source/WebKit/UIProcess/API/APINavigationClient.h
M Source/WebKit/UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h
M Source/WebKit/UIProcess/Cocoa/NavigationState.h
M Source/WebKit/UIProcess/Cocoa/NavigationState.mm
M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPageProxy.messages.in
M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h
M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h
M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm
M Tools/TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm
Log Message:
-----------
Add policy delegate for back/forward navigations
rdar://3979539
https://bugs.webkit.org/show_bug.cgi?id=287182
Reviewed by Chris Dumez.
Adds an asynchronous policy delegate for back/forward navigations except for ones
that are required to be synchronous by the web platform.
Do a sync IPC for the policy delegate for those.
* Source/WebCore/loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::shouldGoToHistoryItem const):
(WebCore::EmptyFrameLoaderClient::supportsAsyncShouldGoToHistoryItem const):
(WebCore::EmptyFrameLoaderClient::shouldGoToHistoryItemAsync const):
* Source/WebCore/loader/EmptyFrameLoaderClient.h:
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
* Source/WebCore/loader/HistoryController.cpp:
(WebCore::HistoryController::ref const):
(WebCore::HistoryController::deref const):
(WebCore::HistoryController::goToItem):
(WebCore::HistoryController::goToItemForNavigationAPI):
(WebCore::HistoryController::goToItemShared):
* Source/WebCore/loader/HistoryController.h:
* Source/WebCore/loader/LocalFrameLoaderClient.h:
* Source/WebKit/UIProcess/API/APINavigationClient.h:
(API::NavigationClient::shouldGoToBackForwardListItem):
(API::NavigationClient::willGoToBackForwardListItem): Deleted.
* Source/WebKit/UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
* Source/WebKit/UIProcess/Cocoa/NavigationState.h:
* Source/WebKit/UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::NavigationClient::shouldGoToBackForwardListItem):
(WebKit::NavigationState::NavigationClient::willGoToBackForwardListItem): Deleted.
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::didReceiveMessage):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::shouldGoToBackForwardListItem):
(WebKit::WebPageProxy::shouldGoToBackForwardListItemSync):
(WebKit::WebPageProxy::willGoToBackForwardListItem): Deleted.
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:
(WebKit::WebLocalFrameLoaderClient::shouldGoToHistoryItem const):
(WebKit::WebLocalFrameLoaderClient::supportsAsyncShouldGoToHistoryItem const):
(WebKit::WebLocalFrameLoaderClient::shouldGoToHistoryItemAsync const):
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h:
* Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h:
* Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::shouldGoToHistoryItem const):
(WebFrameLoaderClient::supportsAsyncShouldGoToHistoryItem const):
(WebFrameLoaderClient::shouldGoToHistoryItemAsync const):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(-[BackForwardDelegateWithShouldGo _webView:willGoToBackForwardListItem:inPageCache:]):
(-[BackForwardDelegateWithShouldGo _webView:shouldGoToBackForwardListItem:inPageCache:completionHandler:]):
(-[BackForwardDelegateWithShouldGo webView:didFinishNavigation:]):
(TEST(WKNavigation, ShouldGoToBackForwardListItem)):
Canonical link: https://commits.webkit.org/290200@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