Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(424)

Side by Side Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate.cc

Issue 2802843003: Update CPAT protocol to send lite-page transform acceptance with ect
Patch Set: Merge with testLitePageBTF Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 if (data_reduction_proxy_io_data_->resource_type_provider()) { 217 if (data_reduction_proxy_io_data_->resource_type_provider()) {
218 // Sets content type of |request| in the resource type provider, so it can 218 // Sets content type of |request| in the resource type provider, so it can
219 // be later used for determining the proxy that should be used for fetching 219 // be later used for determining the proxy that should be used for fetching
220 // |request|. 220 // |request|.
221 data_reduction_proxy_io_data_->resource_type_provider()->SetContentType( 221 data_reduction_proxy_io_data_->resource_type_provider()->SetContentType(
222 *request); 222 *request);
223 } 223 }
224 224
225 if (data_reduction_proxy_io_data_->lofi_decider()) { 225 if (data_reduction_proxy_io_data_->lofi_decider()) {
226 data_reduction_proxy_io_data_->lofi_decider() 226 data_reduction_proxy_io_data_->lofi_decider()
227 ->MaybeSetAcceptTransformHeader( 227 ->MaybeSetAcceptTransformHeader(*request, headers);
228 *request, data_reduction_proxy_config_->lofi_off(), headers);
229 } 228 }
230 229
231 MaybeAddChromeProxyECTHeader(headers, *request); 230 MaybeAddChromeProxyECTHeader(headers, *request);
232 } 231 }
233 232
234 void DataReductionProxyNetworkDelegate::OnBeforeSendHeadersInternal( 233 void DataReductionProxyNetworkDelegate::OnBeforeSendHeadersInternal(
235 net::URLRequest* request, 234 net::URLRequest* request,
236 const net::ProxyInfo& proxy_info, 235 const net::ProxyInfo& proxy_info,
237 const net::ProxyRetryInfoMap& proxy_retry_info, 236 const net::ProxyRetryInfoMap& proxy_retry_info,
238 net::HttpRequestHeaders* headers) { 237 net::HttpRequestHeaders* headers) {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 312
314 if (data_reduction_proxy_io_data_ && 313 if (data_reduction_proxy_io_data_ &&
315 (request->load_flags() & net::LOAD_MAIN_FRAME_DEPRECATED)) { 314 (request->load_flags() & net::LOAD_MAIN_FRAME_DEPRECATED)) {
316 data_reduction_proxy_io_data_->SetLoFiModeActiveOnMainFrame( 315 data_reduction_proxy_io_data_->SetLoFiModeActiveOnMainFrame(
317 lofi_decider ? lofi_decider->IsSlowPagePreviewRequested(*headers) 316 lofi_decider ? lofi_decider->IsSlowPagePreviewRequested(*headers)
318 : false); 317 : false);
319 } 318 }
320 319
321 if (data) { 320 if (data) {
322 data->set_lofi_requested( 321 data->set_lofi_requested(
323 lofi_decider ? lofi_decider->ShouldRecordLoFiUMA(*request) : false); 322 lofi_decider ? lofi_decider->ShouldRecordPreviewsUMA(*request) : false);
324 } 323 }
325 MaybeAddBrotliToAcceptEncodingHeader(proxy_info, headers, *request); 324 MaybeAddBrotliToAcceptEncodingHeader(proxy_info, headers, *request);
326 325
327 // Generate a page ID for main frame requests that don't already have one. 326 // Generate a page ID for main frame requests that don't already have one.
328 // TODO(ryansturm): remove LOAD_MAIN_FRAME_DEPRECATED from d_r_p. 327 // TODO(ryansturm): remove LOAD_MAIN_FRAME_DEPRECATED from d_r_p.
329 // crbug.com/709621 328 // crbug.com/709621
330 if (request->load_flags() & net::LOAD_MAIN_FRAME_DEPRECATED) { 329 if (request->load_flags() & net::LOAD_MAIN_FRAME_DEPRECATED) {
331 if (!page_id) { 330 if (!page_id) {
332 page_id = data_reduction_proxy_request_options_->GeneratePageId(); 331 page_id = data_reduction_proxy_request_options_->GeneratePageId();
333 } 332 }
334 data->set_page_id(page_id.value()); 333 data->set_page_id(page_id.value());
335 } 334 }
336 335
337 data_reduction_proxy_request_options_->AddRequestHeader(headers, page_id); 336 data_reduction_proxy_request_options_->AddRequestHeader(headers, page_id);
338 337
339 if (lofi_decider) 338 if (lofi_decider)
340 lofi_decider->MaybeSetIgnorePreviewsBlacklistDirective(headers); 339 lofi_decider->MaybeSetForceLitePageDirective(headers);
341 VerifyHttpRequestHeaders(true, *headers); 340 VerifyHttpRequestHeaders(true, *headers);
342 } 341 }
343 342
344 void DataReductionProxyNetworkDelegate::OnBeforeRedirectInternal( 343 void DataReductionProxyNetworkDelegate::OnBeforeRedirectInternal(
345 net::URLRequest* request, 344 net::URLRequest* request,
346 const GURL& new_location) { 345 const GURL& new_location) {
347 // Since this is after a redirect response, reset |request|'s 346 // Since this is after a redirect response, reset |request|'s
348 // DataReductionProxyData, but keep page ID and session. 347 // DataReductionProxyData, but keep page ID and session.
349 // TODO(ryansturm): Change ClearData logic to have persistent and 348 // TODO(ryansturm): Change ClearData logic to have persistent and
350 // non-persistent (WRT redirects) data. 349 // non-persistent (WRT redirects) data.
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 } 640 }
642 641
643 void DataReductionProxyNetworkDelegate::RemoveChromeProxyECTHeader( 642 void DataReductionProxyNetworkDelegate::RemoveChromeProxyECTHeader(
644 net::HttpRequestHeaders* request_headers) const { 643 net::HttpRequestHeaders* request_headers) const {
645 DCHECK(thread_checker_.CalledOnValidThread()); 644 DCHECK(thread_checker_.CalledOnValidThread());
646 645
647 request_headers->RemoveHeader(chrome_proxy_ect_header()); 646 request_headers->RemoveHeader(chrome_proxy_ect_header());
648 } 647 }
649 648
650 } // namespace data_reduction_proxy 649 } // namespace data_reduction_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698