Index: android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc |
diff --git a/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc |
index 36f37d475348d75b0bd85d1d81a74ef288313eea..dfa4aa2e2b328fbdc3a7a0f4917806f7c6f7bae8 100644 |
--- a/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc |
+++ b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc |
@@ -24,6 +24,7 @@ |
#include "net/base/net_errors.h" |
#include "net/http/http_response_headers.h" |
#include "net/url_request/url_request.h" |
+#include "net/url_request/url_request_status.h" |
#include "url/url_constants.h" |
using android_webview::AwContentsIoThreadClient; |
@@ -241,6 +242,23 @@ void AwResourceDispatcherHostDelegate::OnRequestRedirected( |
AddExtraHeadersIfNeeded(request, resource_context); |
} |
+void AwResourceDispatcherHostDelegate::RequestComplete( |
+ net::URLRequest* request) { |
+ if (request && !request->status().is_success()) { |
+ const content::ResourceRequestInfo* request_info = |
+ content::ResourceRequestInfo::ForRequest(request); |
+ scoped_ptr<AwContentsIoThreadClient> io_client = |
+ AwContentsIoThreadClient::FromID(request_info->GetChildID(), |
+ request_info->GetRenderFrameID()); |
+ if (io_client) { |
+ io_client->OnReceivedError(request); |
+ } else { |
+ DLOG(WARNING) << "io_client is null, onReceivedError dropped for " << |
+ request->url(); |
+ } |
+ } |
+} |
+ |
void AwResourceDispatcherHostDelegate::DownloadStarting( |
net::URLRequest* request, |