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 |