Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 } |
| OLD | NEW |