Skip to content

Commit

Permalink
Deprecate -[WKNavigationDelegate _webView:didStartProvisionalNavigati…
Browse files Browse the repository at this point in the history
…on:userInfo:]

https://bugs.webkit.org/show_bug.cgi?id=245856
<rdar://problem/100586318>

Reviewed by Alex Christensen.

* Source/WebKit/UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
Deprecate -[WKNavigationDelegate _webView:didStartProvisionalNavigation:userInfo:].

* Source/WebKit/UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::didStartProvisionalNavigation):
Disable deprecation warnings around call to navigationDelegate.

Canonical link: https://commits.webkit.org/255349@main
  • Loading branch information
jeffmapple authored and achristensen07 committed Oct 10, 2022
1 parent efec6c1 commit a2a8c31
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
Expand Up @@ -97,7 +97,8 @@ static const WKNavigationResponsePolicy _WKNavigationResponsePolicyBecomeDownloa
- (void)_webView:(WKWebView *)webView willSnapshotBackForwardListItem:(WKBackForwardListItem *)item;
- (void)_webViewDidRemoveNavigationGestureSnapshot:(WKWebView *)webView WK_API_AVAILABLE(macos(10.12), ios(10.0));
- (void)_webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction preferences:(WKWebpagePreferences *)preferences userInfo:(id <NSSecureCoding>)userInfo decisionHandler:(void (^)(WKNavigationActionPolicy, WKWebpagePreferences *))decisionHandler WK_API_AVAILABLE(macos(10.15), ios(13.0));
- (void)_webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation userInfo:(id <NSSecureCoding>)userInfo WK_API_AVAILABLE(macos(10.13.4), ios(11.3));
// FIXME: Remove this SPI completely once rdar://100536399 is fixed.
- (void)_webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation userInfo:(id <NSSecureCoding>)userInfo WK_API_DEPRECATED("This SPI will be removed", macos(10.13.4, WK_MAC_TBA), ios(11.3, WK_IOS_TBA));
- (void)_webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error userInfo:(id <NSSecureCoding>)userInfo WK_API_AVAILABLE(macos(10.13.4), ios(11.3));

- (void)_webView:(WKWebView *)webView URL:(NSURL *)url contentRuleListIdentifiers:(NSArray<NSString *> *)identifiers notifications:(NSArray<NSString *> *)notifications WK_API_AVAILABLE(macos(10.13.4), ios(11.3));
Expand Down
6 changes: 4 additions & 2 deletions Source/WebKit/UIProcess/Cocoa/NavigationState.mm
Expand Up @@ -684,9 +684,11 @@ static void tryInterceptNavigation(Ref<API::NavigationAction>&& navigationAction
return;

// FIXME: We should assert that navigation is not null here, but it's currently null for some navigations through the back/forward cache.
if (m_navigationState->m_navigationDelegateMethods.webViewDidStartProvisionalNavigationUserInfo)
if (m_navigationState->m_navigationDelegateMethods.webViewDidStartProvisionalNavigationUserInfo) {
ALLOW_DEPRECATED_DECLARATIONS_BEGIN
[(id <WKNavigationDelegatePrivate>)navigationDelegate _webView:m_navigationState->m_webView didStartProvisionalNavigation:wrapper(navigation) userInfo:userInfo ? static_cast<id <NSSecureCoding>>(userInfo->wrapper()) : nil];
else if (m_navigationState->m_navigationDelegateMethods.webViewDidStartProvisionalNavigation)
ALLOW_DEPRECATED_DECLARATIONS_END
} else if (m_navigationState->m_navigationDelegateMethods.webViewDidStartProvisionalNavigation)
[navigationDelegate webView:m_navigationState->m_webView didStartProvisionalNavigation:wrapper(navigation)];
}

Expand Down

0 comments on commit a2a8c31

Please sign in to comment.