Skip to content

Commit b8f99f4

Browse files
authored
[iOS] Make sure always call decisionHandler even after dispose (#18934)
1 parent 184c7ce commit b8f99f4

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/Core/src/Platform/iOS/MauiWebViewNavigationDelegate.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,12 @@ public void DidFailProvisionalNavigation(WKWebView webView, WKNavigation navigat
9393
public void DecidePolicy(WKWebView webView, WKNavigationAction navigationAction, Action<WKNavigationActionPolicy> decisionHandler)
9494
{
9595
var handler = Handler;
96+
9697
if (handler == null)
98+
{
99+
decisionHandler.Invoke(WKNavigationActionPolicy.Cancel);
97100
return;
101+
}
98102

99103
var navEvent = WebNavigationEvent.NewPage;
100104
var navigationType = navigationAction.NavigationType;
@@ -130,7 +134,10 @@ public void DecidePolicy(WKWebView webView, WKNavigationAction navigationAction,
130134
var virtualView = handler.VirtualView;
131135

132136
if (virtualView == null)
137+
{
138+
decisionHandler.Invoke(WKNavigationActionPolicy.Cancel);
133139
return;
140+
}
134141

135142
var request = navigationAction.Request;
136143
var lastUrl = request.Url.ToString();

0 commit comments

Comments
 (0)