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 89bb50a277bb2a918abc0b815d27372a65bb312e..850b3f08266dc1e33e69680ceb16bf2e2f71e103 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" |
@@ -48,6 +49,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" |
@@ -296,7 +299,8 @@ ChromeNetworkDelegate::ChromeNetworkDelegate( |
original_content_length_(0), |
first_request_(true), |
prerender_tracker_(NULL), |
- data_reduction_proxy_params_(NULL) { |
+ data_reduction_proxy_params_(NULL), |
+ data_reduction_proxy_auth_request_handler_(NULL) { |
DCHECK(enable_referrers); |
extensions_delegate_.reset( |
ChromeExtensionsNetworkDelegate::Create(event_router)); |
@@ -476,6 +480,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) { |