Index: chrome/browser/net/chrome_network_delegate.cc |
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc |
index 2f1af206b750d6ed4603818ed0bc3db11bef99be..6558ae123a8d01eac386242f1b1d44222e8e392a 100644 |
--- a/chrome/browser/net/chrome_network_delegate.cc |
+++ b/chrome/browser/net/chrome_network_delegate.cc |
@@ -31,6 +31,7 @@ |
#include "chrome/browser/task_manager/task_manager.h" |
#include "chrome/common/pref_names.h" |
#include "chrome/common/url_constants.h" |
+#include "components/data_reduction_proxy/browser/data_reduction_proxy_auth_request_handler.h" |
#include "components/data_reduction_proxy/browser/data_reduction_proxy_metrics.h" |
#include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" |
#include "components/data_reduction_proxy/browser/data_reduction_proxy_protocol.h" |
@@ -49,6 +50,8 @@ |
#include "net/cookies/cookie_options.h" |
#include "net/http/http_request_headers.h" |
#include "net/http/http_response_headers.h" |
+#include "net/proxy/proxy_info.h" |
+#include "net/proxy/proxy_server.h" |
#include "net/socket_stream/socket_stream.h" |
#include "net/url_request/url_request.h" |
#include "net/url_request/url_request_context.h" |
@@ -298,7 +301,8 @@ ChromeNetworkDelegate::ChromeNetworkDelegate( |
first_request_(true), |
prerender_tracker_(NULL), |
data_reduction_proxy_params_(NULL), |
- data_reduction_proxy_usage_stats_(NULL) { |
+ data_reduction_proxy_usage_stats_(NULL), |
+ data_reduction_proxy_auth_request_handler_(NULL) { |
DCHECK(enable_referrers); |
extensions_delegate_.reset( |
ChromeExtensionsNetworkDelegate::Create(event_router)); |
@@ -478,6 +482,16 @@ int ChromeNetworkDelegate::OnBeforeSendHeaders( |
return extensions_delegate_->OnBeforeSendHeaders(request, callback, headers); |
} |
+void ChromeNetworkDelegate::OnBeforeSendProxyHeaders( |
+ net::URLRequest* request, |
+ const net::ProxyInfo& proxy_info, |
+ net::HttpRequestHeaders* headers) { |
+ if (data_reduction_proxy_auth_request_handler_) { |
+ data_reduction_proxy_auth_request_handler_->MaybeAddRequestHeader( |
+ request, proxy_info.proxy_server(), headers); |
+ } |
+} |
+ |
void ChromeNetworkDelegate::OnSendHeaders( |
net::URLRequest* request, |
const net::HttpRequestHeaders& headers) { |