Index: android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java |
diff --git a/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java b/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java |
index ec722f61372f5a2262e32a713e3ac8c725235a1a..439dcdfa34ce97d7775e62e3f9d885f21a949db4 100644 |
--- a/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java |
+++ b/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java |
@@ -43,16 +43,22 @@ public class AwWebContentsObserver extends WebContentsObserver { |
} |
@Override |
- public void didFailLoad(boolean isProvisionalLoad, |
- boolean isMainFrame, int errorCode, String description, String failingUrl) { |
+ public void didFailLoad(boolean isProvisionalLoad, boolean isMainFrame, int errorCode, |
+ String description, String failingUrl, boolean wasIgnoredByHandler) { |
AwContentsClient client = mAwContentsClient.get(); |
if (client == null) return; |
String unreachableWebDataUrl = AwContentsStatics.getUnreachableWebDataUrl(); |
boolean isErrorUrl = |
unreachableWebDataUrl != null && unreachableWebDataUrl.equals(failingUrl); |
- if (isMainFrame && !isErrorUrl && errorCode == NetError.ERR_ABORTED) { |
+ if (isMainFrame |
+ && !isErrorUrl |
+ && errorCode == NetError.ERR_ABORTED |
+ && !wasIgnoredByHandler) { |
// Need to call onPageFinished for backwards compatibility with the classic webview. |
// See also AwContents.IoThreadClientImpl.onReceivedError. |
+ // If the navigation was ignored because of shouldOverrideUrlLoading we have already |
+ // called onPageFinished in |
+ // AwContents.InterceptNavigationDelegateImpl.shouldIgnoreNavigation instead. |
client.onPageFinished(failingUrl); |
} |
} |