Index: chrome/browser/net/chrome_extensions_network_delegate.cc |
diff --git a/chrome/browser/net/chrome_extensions_network_delegate.cc b/chrome/browser/net/chrome_extensions_network_delegate.cc |
index 502585cf85702d08e4beb93c5eae6995d59d80d6..1f356b7cd812731dc8038c39f98943fcc94d2f32 100644 |
--- a/chrome/browser/net/chrome_extensions_network_delegate.cc |
+++ b/chrome/browser/net/chrome_extensions_network_delegate.cc |
@@ -91,7 +91,7 @@ class ChromeExtensionsNetworkDelegateImpl |
private: |
// ChromeExtensionsNetworkDelegate implementation. |
- void ForwardProxyErrors(net::URLRequest* request) override; |
+ void ForwardProxyErrors(net::URLRequest* request, int net_error) override; |
void ForwardStartRequestStatus(net::URLRequest* request) override; |
void ForwardDoneRequestStatus(net::URLRequest* request) override; |
int OnBeforeURLRequest(net::URLRequest* request, |
@@ -110,8 +110,10 @@ class ChromeExtensionsNetworkDelegateImpl |
GURL* allowed_unsafe_redirect_url) override; |
void OnBeforeRedirect(net::URLRequest* request, |
const GURL& new_location) override; |
- void OnResponseStarted(net::URLRequest* request) override; |
- void OnCompleted(net::URLRequest* request, bool started) override; |
+ void OnResponseStarted(net::URLRequest* request, int net_error) override; |
+ void OnCompleted(net::URLRequest* request, |
+ bool started, |
+ int net_error) override; |
void OnURLRequestDestroyed(net::URLRequest* request) override; |
void OnPACScriptError(int line_number, const base::string16& error) override; |
net::NetworkDelegate::AuthRequiredResponse OnAuthRequired( |
@@ -134,14 +136,15 @@ ChromeExtensionsNetworkDelegateImpl::ChromeExtensionsNetworkDelegateImpl( |
ChromeExtensionsNetworkDelegateImpl::~ChromeExtensionsNetworkDelegateImpl() {} |
void ChromeExtensionsNetworkDelegateImpl::ForwardProxyErrors( |
- net::URLRequest* request) { |
- if (request->status().status() == net::URLRequestStatus::FAILED) { |
- switch (request->status().error()) { |
+ net::URLRequest* request, |
+ int net_error) { |
+ if (net_error != net::OK) { |
+ switch (net_error) { |
case net::ERR_PROXY_AUTH_UNSUPPORTED: |
case net::ERR_PROXY_CONNECTION_FAILED: |
case net::ERR_TUNNEL_CONNECTION_FAILED: |
extensions::ProxyEventRouter::GetInstance()->OnProxyError( |
- event_router_.get(), profile_, request->status().error()); |
+ event_router_.get(), profile_, net_error); |
} |
} |
} |
@@ -217,36 +220,32 @@ void ChromeExtensionsNetworkDelegateImpl::OnBeforeRedirect( |
profile_, extension_info_map_.get(), request, new_location); |
} |
- |
void ChromeExtensionsNetworkDelegateImpl::OnResponseStarted( |
- net::URLRequest* request) { |
+ net::URLRequest* request, |
+ int net_error) { |
ExtensionWebRequestEventRouter::GetInstance()->OnResponseStarted( |
- profile_, extension_info_map_.get(), request); |
- ForwardProxyErrors(request); |
+ profile_, extension_info_map_.get(), request, net_error); |
+ ForwardProxyErrors(request, net_error); |
} |
-void ChromeExtensionsNetworkDelegateImpl::OnCompleted( |
- net::URLRequest* request, |
- bool started) { |
- if (request->status().status() == net::URLRequestStatus::SUCCESS) { |
- bool is_redirect = request->response_headers() && |
- net::HttpResponseHeaders::IsRedirectResponseCode( |
- request->response_headers()->response_code()); |
- if (!is_redirect) { |
- ExtensionWebRequestEventRouter::GetInstance()->OnCompleted( |
- profile_, extension_info_map_.get(), request); |
- } |
- return; |
- } |
+void ChromeExtensionsNetworkDelegateImpl::OnCompleted(net::URLRequest* request, |
+ bool started, |
+ int net_error) { |
+ DCHECK_NE(net::ERR_IO_PENDING, net_error); |
- if (request->status().status() == net::URLRequestStatus::FAILED || |
- request->status().status() == net::URLRequestStatus::CANCELED) { |
+ if (net_error != net::OK) { |
ExtensionWebRequestEventRouter::GetInstance()->OnErrorOccurred( |
- profile_, extension_info_map_.get(), request, started); |
+ profile_, extension_info_map_.get(), request, started, net_error); |
return; |
} |
- NOTREACHED(); |
+ bool is_redirect = request->response_headers() && |
+ net::HttpResponseHeaders::IsRedirectResponseCode( |
+ request->response_headers()->response_code()); |
+ if (!is_redirect) { |
+ ExtensionWebRequestEventRouter::GetInstance()->OnCompleted( |
+ profile_, extension_info_map_.get(), request, net_error); |
+ } |
} |
void ChromeExtensionsNetworkDelegateImpl::OnURLRequestDestroyed( |
@@ -301,8 +300,8 @@ void ChromeExtensionsNetworkDelegate::set_extension_info_map( |
} |
void ChromeExtensionsNetworkDelegate::ForwardProxyErrors( |
- net::URLRequest* request) { |
-} |
+ net::URLRequest* request, |
+ int net_error) {} |
void ChromeExtensionsNetworkDelegate::ForwardStartRequestStatus( |
net::URLRequest* request) { |
@@ -344,15 +343,13 @@ void ChromeExtensionsNetworkDelegate::OnBeforeRedirect( |
const GURL& new_location) { |
} |
- |
void ChromeExtensionsNetworkDelegate::OnResponseStarted( |
- net::URLRequest* request) { |
-} |
- |
-void ChromeExtensionsNetworkDelegate::OnCompleted( |
net::URLRequest* request, |
- bool started) { |
-} |
+ int net_error) {} |
+ |
+void ChromeExtensionsNetworkDelegate::OnCompleted(net::URLRequest* request, |
+ bool started, |
+ int net_error) {} |
void ChromeExtensionsNetworkDelegate::OnURLRequestDestroyed( |
net::URLRequest* request) { |