| Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc
|
| diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc
|
| index 52a7b735e95cb5823846855edf6dd5fc77eb74de..eff9462cd81912e1303ae60c24eda4127843c86e 100644
|
| --- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc
|
| +++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc
|
| @@ -42,25 +42,27 @@ DataReductionProxyDelegate::DataReductionProxyDelegate(
|
| DCHECK(event_creator);
|
| DCHECK(bypass_stats);
|
| DCHECK(net_log);
|
| }
|
|
|
| DataReductionProxyDelegate::~DataReductionProxyDelegate() {
|
| }
|
|
|
| void DataReductionProxyDelegate::OnResolveProxy(
|
| const GURL& url,
|
| + const std::string& method,
|
| int load_flags,
|
| const net::ProxyService& proxy_service,
|
| net::ProxyInfo* result) {
|
| DCHECK(result);
|
| - OnResolveProxyHandler(url, load_flags, configurator_->GetProxyConfig(),
|
| + OnResolveProxyHandler(url, method, load_flags,
|
| + configurator_->GetProxyConfig(),
|
| proxy_service.proxy_retry_info(), config_, result);
|
| }
|
|
|
| void DataReductionProxyDelegate::OnTunnelConnectCompleted(
|
| const net::HostPortPair& endpoint,
|
| const net::HostPortPair& proxy_server,
|
| int net_error) {
|
| if (config_->IsDataReductionProxy(proxy_server, NULL)) {
|
| UMA_HISTOGRAM_SPARSE_SLOWLY("DataReductionProxy.HTTPConnectCompleted",
|
| std::abs(net_error));
|
| @@ -103,32 +105,34 @@ bool DataReductionProxyDelegate::IsTrustedSpdyProxy(
|
| config_->IsDataReductionProxy(proxy_server.host_port_pair(), nullptr);
|
| }
|
|
|
| void DataReductionProxyDelegate::OnTunnelHeadersReceived(
|
| const net::HostPortPair& origin,
|
| const net::HostPortPair& proxy_server,
|
| const net::HttpResponseHeaders& response_headers) {
|
| }
|
|
|
| void OnResolveProxyHandler(const GURL& url,
|
| + const std::string& method,
|
| int load_flags,
|
| const net::ProxyConfig& data_reduction_proxy_config,
|
| const net::ProxyRetryInfoMap& proxy_retry_info,
|
| const DataReductionProxyConfig* config,
|
| net::ProxyInfo* result) {
|
| DCHECK(config);
|
| DCHECK(result->is_empty() || result->is_direct() ||
|
| !config->IsDataReductionProxy(result->proxy_server().host_port_pair(),
|
| NULL));
|
| bool data_saver_proxy_used = true;
|
| if (result->is_empty() || !result->proxy_server().is_direct() ||
|
| - result->proxy_list().size() != 1 || url.SchemeIsWSOrWSS()) {
|
| + result->proxy_list().size() != 1 || url.SchemeIsWSOrWSS() ||
|
| + method == "POST") {
|
| return;
|
| }
|
|
|
| if (data_reduction_proxy_config.is_valid()) {
|
| net::ProxyInfo data_reduction_proxy_info;
|
| data_reduction_proxy_config.proxy_rules().Apply(url,
|
| &data_reduction_proxy_info);
|
| data_reduction_proxy_info.DeprioritizeBadProxies(proxy_retry_info);
|
| if (!data_reduction_proxy_info.proxy_server().is_direct())
|
| result->OverrideProxyList(data_reduction_proxy_info.proxy_list());
|
|
|