| 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) {
|
|
|