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 3a4c50df976b096183b601b5e4972c471dce3c78..143a21e876cdbffc723f1705400bbf16804f87e3 100644 |
--- a/chrome/browser/net/chrome_extensions_network_delegate.cc |
+++ b/chrome/browser/net/chrome_extensions_network_delegate.cc |
@@ -106,7 +106,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, |
@@ -125,8 +125,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( |
@@ -149,14 +151,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); |
} |
} |
} |
@@ -233,39 +236,35 @@ void ChromeExtensionsNetworkDelegateImpl::OnBeforeRedirect( |
GetExtensionNavigationUIData(request), request, new_location); |
} |
- |
void ChromeExtensionsNetworkDelegateImpl::OnResponseStarted( |
- net::URLRequest* request) { |
+ net::URLRequest* request, |
+ int net_error) { |
ExtensionWebRequestEventRouter::GetInstance()->OnResponseStarted( |
profile_, extension_info_map_.get(), |
- GetExtensionNavigationUIData(request), request); |
- ForwardProxyErrors(request); |
+ GetExtensionNavigationUIData(request), 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(), |
- GetExtensionNavigationUIData(request), 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(), |
- GetExtensionNavigationUIData(request), request, started); |
+ GetExtensionNavigationUIData(request), 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(), |
+ GetExtensionNavigationUIData(request), request, net_error); |
+ } |
} |
void ChromeExtensionsNetworkDelegateImpl::OnURLRequestDestroyed( |
@@ -321,8 +320,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) { |
@@ -364,15 +363,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) { |