Index: android_webview/java/src/org/chromium/android_webview/AwContents.java |
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java |
index 8fa1b3393a2464daae33f58101e1dbe52930fc9e..b888cb2c2f8679aa288a9bf096764bddc6def2f6 100644 |
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java |
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java |
@@ -62,6 +62,7 @@ import org.chromium.content_public.browser.WebContents; |
import org.chromium.content_public.browser.navigation_controller.LoadURLType; |
import org.chromium.content_public.browser.navigation_controller.UserAgentOverrideOption; |
import org.chromium.content_public.common.Referrer; |
+import org.chromium.net.NetError; |
import org.chromium.ui.base.ActivityWindowAndroid; |
import org.chromium.ui.base.PageTransition; |
import org.chromium.ui.base.WindowAndroid; |
@@ -419,6 +420,25 @@ public class AwContents implements SmartClipProvider, |
} |
@Override |
+ public void onReceivedError(AwContentsClient.AwWebResourceRequest request, |
+ AwContentsClient.AwWebResourceError error) { |
+ String unreachableWebDataUrl = AwContentsStatics.getUnreachableWebDataUrl(); |
sgurun-gerrit only
2015/03/17 00:30:04
maybe put a comment in getUnreachableWebDataUrl()
mnaganov (inactive)
2015/03/17 15:29:09
Good point. This may cause a race between two call
|
+ boolean isErrorUrl = |
+ unreachableWebDataUrl != null && unreachableWebDataUrl.equals(request.url); |
sgurun-gerrit only
2015/03/17 00:30:04
nit: is the indentation 8 chars here?
mnaganov (inactive)
2015/03/17 15:29:09
Hm. Yes -- it should be 8 as its a long line wrap,
|
+ if (!isErrorUrl && error.errorCode != NetError.ERR_ABORTED) { |
+ // NetError.ERR_ABORTED error code is generated for the following reasons: |
+ // - WebView.stopLoading is called, |
+ // - the navigation is intercepted by the embedder via shouldOverrideUrlLoading. |
+ // |
+ // Android WebView does not notify the embedder of these situations using |
+ // this error code with the WebViewClient.onReceivedError callback. |
+ error.errorCode = ErrorCodeConversionHelper.convertErrorCode(error.errorCode); |
+ mContentsClient.getCallbackHelper().postOnReceivedError(request, error); |
+ } |
+ // AwWebContentsObserver.didFailLoad will send onPageFinished to the embedder. |
+ } |
+ |
+ @Override |
public void onReceivedHttpError(AwContentsClient.AwWebResourceRequest request, |
AwWebResourceResponse response) { |
mContentsClient.getCallbackHelper().postOnReceivedHttpError(request, response); |