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

Side by Side Diff: chrome/browser/net/chrome_network_delegate.cc

Issue 1579063002: Implement a skeleton version of Expect CT reports (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 11 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/net/chrome_network_delegate.h" 5 #include "chrome/browser/net/chrome_network_delegate.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdlib.h> 8 #include <stdlib.h>
9 9
10 #include <vector> 10 #include <vector>
(...skipping 16 matching lines...) Expand all
27 #include "base/strings/string_number_conversions.h" 27 #include "base/strings/string_number_conversions.h"
28 #include "base/strings/string_util.h" 28 #include "base/strings/string_util.h"
29 #include "base/time/time.h" 29 #include "base/time/time.h"
30 #include "build/build_config.h" 30 #include "build/build_config.h"
31 #include "chrome/browser/browser_process.h" 31 #include "chrome/browser/browser_process.h"
32 #include "chrome/browser/content_settings/cookie_settings_factory.h" 32 #include "chrome/browser/content_settings/cookie_settings_factory.h"
33 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 33 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
34 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" 34 #include "chrome/browser/custom_handlers/protocol_handler_registry.h"
35 #include "chrome/browser/net/chrome_extensions_network_delegate.h" 35 #include "chrome/browser/net/chrome_extensions_network_delegate.h"
36 #include "chrome/browser/net/connect_interceptor.h" 36 #include "chrome/browser/net/connect_interceptor.h"
37 #include "chrome/browser/net/expect_ct_monitor.h"
37 #include "chrome/browser/net/request_source_bandwidth_histograms.h" 38 #include "chrome/browser/net/request_source_bandwidth_histograms.h"
38 #include "chrome/browser/net/safe_search_util.h" 39 #include "chrome/browser/net/safe_search_util.h"
39 #include "chrome/browser/profiles/profile_manager.h" 40 #include "chrome/browser/profiles/profile_manager.h"
40 #include "chrome/browser/task_management/task_manager_interface.h" 41 #include "chrome/browser/task_management/task_manager_interface.h"
41 #include "chrome/common/chrome_constants.h" 42 #include "chrome/common/chrome_constants.h"
42 #include "chrome/common/features.h" 43 #include "chrome/common/features.h"
43 #include "chrome/common/pref_names.h" 44 #include "chrome/common/pref_names.h"
44 #include "components/content_settings/core/browser/cookie_settings.h" 45 #include "components/content_settings/core/browser/cookie_settings.h"
45 #include "components/data_usage/core/data_use_aggregator.h" 46 #include "components/data_usage/core/data_use_aggregator.h"
46 #include "components/domain_reliability/monitor.h" 47 #include "components/domain_reliability/monitor.h"
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 new chrome_browser_net::ConnectInterceptor(predictor)); 333 new chrome_browser_net::ConnectInterceptor(predictor));
333 } 334 }
334 335
335 void ChromeNetworkDelegate::set_data_use_aggregator( 336 void ChromeNetworkDelegate::set_data_use_aggregator(
336 data_usage::DataUseAggregator* data_use_aggregator, 337 data_usage::DataUseAggregator* data_use_aggregator,
337 bool is_data_usage_off_the_record) { 338 bool is_data_usage_off_the_record) {
338 data_use_aggregator_ = data_use_aggregator; 339 data_use_aggregator_ = data_use_aggregator;
339 is_data_usage_off_the_record_ = is_data_usage_off_the_record; 340 is_data_usage_off_the_record_ = is_data_usage_off_the_record;
340 } 341 }
341 342
343 void ChromeNetworkDelegate::set_expect_ct_monitor(
344 ExpectCTMonitor* expect_ct_monitor) {
345 expect_ct_monitor_ = expect_ct_monitor;
346 }
347
342 // static 348 // static
343 void ChromeNetworkDelegate::InitializePrefsOnUIThread( 349 void ChromeNetworkDelegate::InitializePrefsOnUIThread(
344 BooleanPrefMember* enable_referrers, 350 BooleanPrefMember* enable_referrers,
345 BooleanPrefMember* enable_do_not_track, 351 BooleanPrefMember* enable_do_not_track,
346 BooleanPrefMember* force_google_safe_search, 352 BooleanPrefMember* force_google_safe_search,
347 BooleanPrefMember* force_youtube_safety_mode, 353 BooleanPrefMember* force_youtube_safety_mode,
348 PrefService* pref_service) { 354 PrefService* pref_service) {
349 DCHECK_CURRENTLY_ON(BrowserThread::UI); 355 DCHECK_CURRENTLY_ON(BrowserThread::UI);
350 enable_referrers->Init(prefs::kEnableReferrers, pref_service); 356 enable_referrers->Init(prefs::kEnableReferrers, pref_service);
351 enable_referrers->MoveToThread( 357 enable_referrers->MoveToThread(
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 } 489 }
484 490
485 void ChromeNetworkDelegate::OnBeforeRedirect(net::URLRequest* request, 491 void ChromeNetworkDelegate::OnBeforeRedirect(net::URLRequest* request,
486 const GURL& new_location) { 492 const GURL& new_location) {
487 // Recording data use of request on redirects. 493 // Recording data use of request on redirects.
488 #if !defined(OS_IOS) 494 #if !defined(OS_IOS)
489 data_use_measurement_.ReportDataUseUMA(request); 495 data_use_measurement_.ReportDataUseUMA(request);
490 #endif 496 #endif
491 if (domain_reliability_monitor_) 497 if (domain_reliability_monitor_)
492 domain_reliability_monitor_->OnBeforeRedirect(request); 498 domain_reliability_monitor_->OnBeforeRedirect(request);
499 if (expect_ct_monitor_ &&
500 (request->ssl_info().cert_status &
501 net::CERT_STATUS_CT_COMPLIANCE_FAILED) != 0) {
502 expect_ct_monitor_->OnCTComplianceFailed(request);
503 }
Ryan Sleevi 2016/01/12 04:41:20 This feels like a weird place to put this. Is the
estark 2016/01/12 05:05:23 This feature is more like PKP-Report-Only: we have
493 extensions_delegate_->OnBeforeRedirect(request, new_location); 504 extensions_delegate_->OnBeforeRedirect(request, new_location);
494 } 505 }
495 506
496 507
497 void ChromeNetworkDelegate::OnResponseStarted(net::URLRequest* request) { 508 void ChromeNetworkDelegate::OnResponseStarted(net::URLRequest* request) {
509 if (expect_ct_monitor_ &&
510 (request->ssl_info().cert_status &
511 net::CERT_STATUS_CT_COMPLIANCE_FAILED) != 0) {
512 expect_ct_monitor_->OnCTComplianceFailed(request);
513 }
498 extensions_delegate_->OnResponseStarted(request); 514 extensions_delegate_->OnResponseStarted(request);
499 } 515 }
500 516
501 void ChromeNetworkDelegate::OnNetworkBytesReceived(net::URLRequest* request, 517 void ChromeNetworkDelegate::OnNetworkBytesReceived(net::URLRequest* request,
502 int64_t bytes_received) { 518 int64_t bytes_received) {
503 #if defined(ENABLE_TASK_MANAGER) 519 #if defined(ENABLE_TASK_MANAGER)
504 // Note: Currently, OnNetworkBytesReceived is only implemented for HTTP jobs, 520 // Note: Currently, OnNetworkBytesReceived is only implemented for HTTP jobs,
505 // not FTP or other types, so those kinds of bytes will not be reported here. 521 // not FTP or other types, so those kinds of bytes will not be reported here.
506 task_management::TaskManagerInterface::OnRawBytesRead(*request, 522 task_management::TaskManagerInterface::OnRawBytesRead(*request,
507 bytes_received); 523 bytes_received);
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
752 if (!data_use_aggregator_) 768 if (!data_use_aggregator_)
753 return; 769 return;
754 770
755 if (is_data_usage_off_the_record_) { 771 if (is_data_usage_off_the_record_) {
756 data_use_aggregator_->ReportOffTheRecordDataUse(tx_bytes, rx_bytes); 772 data_use_aggregator_->ReportOffTheRecordDataUse(tx_bytes, rx_bytes);
757 return; 773 return;
758 } 774 }
759 775
760 data_use_aggregator_->ReportDataUse(request, tx_bytes, rx_bytes); 776 data_use_aggregator_->ReportDataUse(request, tx_bytes, rx_bytes);
761 } 777 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698