Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_netw ork_delegate.h" | 5 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_netw ork_delegate.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 384 request->response_headers() | 384 request->response_headers() |
| 385 ? request->response_headers()->GetInt64HeaderValue( | 385 ? request->response_headers()->GetInt64HeaderValue( |
| 386 "x-original-content-length") | 386 "x-original-content-length") |
| 387 : -1; | 387 : -1; |
| 388 | 388 |
| 389 CalculateAndRecordDataUsage(*request, request_type); | 389 CalculateAndRecordDataUsage(*request, request_type); |
| 390 | 390 |
| 391 RecordContentLength(*request, request_type, original_content_length); | 391 RecordContentLength(*request, request_type, original_content_length); |
| 392 } | 392 } |
| 393 | 393 |
| 394 void DataReductionProxyNetworkDelegate::OnHeadersReceivedInternal( | |
| 395 net::URLRequest* request, | |
| 396 const net::CompletionCallback& callback, | |
| 397 const net::HttpResponseHeaders* original_response_headers, | |
|
bengr
2017/04/20 01:02:33
Is this guaranteed to be non-null?
RyanSturm
2017/04/20 20:25:45
I can't find any guarantees. The fact that it is a
| |
| 398 scoped_refptr<net::HttpResponseHeaders>* override_response_headers, | |
| 399 GURL* allowed_unsafe_redirect_url) { | |
| 400 if (original_response_headers && | |
| 401 IsEmptyImagePreview(*original_response_headers)) { | |
| 402 DataReductionProxyData* data = | |
| 403 DataReductionProxyData::GetDataAndCreateIfNecessary(request); | |
| 404 data->set_lofi_received(true); | |
| 405 } else if (original_response_headers && | |
| 406 IsLitePagePreview(*original_response_headers)) { | |
| 407 DataReductionProxyData* data = | |
| 408 DataReductionProxyData::GetDataAndCreateIfNecessary(request); | |
| 409 data->set_lite_page_received(true); | |
| 410 } | |
| 411 } | |
| 412 | |
| 394 void DataReductionProxyNetworkDelegate::CalculateAndRecordDataUsage( | 413 void DataReductionProxyNetworkDelegate::CalculateAndRecordDataUsage( |
| 395 const net::URLRequest& request, | 414 const net::URLRequest& request, |
| 396 DataReductionProxyRequestType request_type) { | 415 DataReductionProxyRequestType request_type) { |
| 397 DCHECK(thread_checker_.CalledOnValidThread()); | 416 DCHECK(thread_checker_.CalledOnValidThread()); |
| 398 int64_t data_used = request.GetTotalReceivedBytes(); | 417 int64_t data_used = request.GetTotalReceivedBytes(); |
| 399 | 418 |
| 400 // Estimate how many bytes would have been used if the DataReductionProxy was | 419 // Estimate how many bytes would have been used if the DataReductionProxy was |
| 401 // not used, and record the data usage. | 420 // not used, and record the data usage. |
| 402 int64_t original_size = data_used; | 421 int64_t original_size = data_used; |
| 403 | 422 |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 545 | 564 |
| 546 request_headers->RemoveHeader(net::HttpRequestHeaders::kAcceptEncoding); | 565 request_headers->RemoveHeader(net::HttpRequestHeaders::kAcceptEncoding); |
| 547 if (!header_value.empty()) | 566 if (!header_value.empty()) |
| 548 header_value += ", "; | 567 header_value += ", "; |
| 549 header_value += kBrotli; | 568 header_value += kBrotli; |
| 550 request_headers->SetHeader(net::HttpRequestHeaders::kAcceptEncoding, | 569 request_headers->SetHeader(net::HttpRequestHeaders::kAcceptEncoding, |
| 551 header_value); | 570 header_value); |
| 552 } | 571 } |
| 553 | 572 |
| 554 } // namespace data_reduction_proxy | 573 } // namespace data_reduction_proxy |
| OLD | NEW |