| 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 71f6033652e5ffd6426472c5932dcf964ce28739..27eb4f4671caab62bf63eaf8954ffd387a94503e 100644
|
| --- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| +++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| @@ -73,6 +73,7 @@
|
| 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.net.NetworkChangeNotifier;
|
| import org.chromium.ui.base.ActivityWindowAndroid;
|
| import org.chromium.ui.base.PageTransition;
|
| @@ -469,6 +470,37 @@
|
| @Override
|
| public boolean shouldAcceptThirdPartyCookies() {
|
| return mSettings.getAcceptThirdPartyCookies();
|
| + }
|
| +
|
| + @Override
|
| + public void onReceivedError(AwContentsClient.AwWebResourceRequest request,
|
| + AwContentsClient.AwWebResourceError error) {
|
| + String unreachableWebDataUrl = AwContentsStatics.getUnreachableWebDataUrl();
|
| + boolean isErrorUrl =
|
| + unreachableWebDataUrl != null && unreachableWebDataUrl.equals(request.url);
|
| + 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;
|
| + // - server returned 204 status (no content).
|
| + //
|
| + // 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);
|
| + if (request.isMainFrame) {
|
| + // Need to call onPageFinished after onReceivedError for backwards compatibility
|
| + // with the classic webview. See also AwWebContentsObserver.didFailLoad which is
|
| + // used when we want to send onPageFinished alone.
|
| + mContentsClient.getCallbackHelper().postOnPageFinished(request.url);
|
| + }
|
| + }
|
| + }
|
| +
|
| + @Override
|
| + public void onReceivedHttpError(AwContentsClient.AwWebResourceRequest request,
|
| + AwWebResourceResponse response) {
|
| + mContentsClient.getCallbackHelper().postOnReceivedHttpError(request, response);
|
| }
|
| }
|
|
|
|
|