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