| 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/profiles/profile_impl_io_data.h" | 5 #include "chrome/browser/profiles/profile_impl_io_data.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 #include "content/public/browser/resource_context.h" | 58 #include "content/public/browser/resource_context.h" |
| 59 #include "content/public/browser/storage_partition.h" | 59 #include "content/public/browser/storage_partition.h" |
| 60 #include "extensions/browser/extension_protocols.h" | 60 #include "extensions/browser/extension_protocols.h" |
| 61 #include "extensions/common/constants.h" | 61 #include "extensions/common/constants.h" |
| 62 #include "extensions/features/features.h" | 62 #include "extensions/features/features.h" |
| 63 #include "net/base/cache_type.h" | 63 #include "net/base/cache_type.h" |
| 64 #include "net/cookies/cookie_store.h" | 64 #include "net/cookies/cookie_store.h" |
| 65 #include "net/http/http_cache.h" | 65 #include "net/http/http_cache.h" |
| 66 #include "net/http/http_network_session.h" | 66 #include "net/http/http_network_session.h" |
| 67 #include "net/http/http_server_properties_manager.h" | 67 #include "net/http/http_server_properties_manager.h" |
| 68 #include "net/reporting/reporting_feature.h" |
| 69 #include "net/reporting/reporting_policy.h" |
| 70 #include "net/reporting/reporting_service.h" |
| 68 #include "net/ssl/channel_id_service.h" | 71 #include "net/ssl/channel_id_service.h" |
| 69 #include "net/url_request/url_request_context_storage.h" | 72 #include "net/url_request/url_request_context_storage.h" |
| 70 #include "net/url_request/url_request_intercepting_job_factory.h" | 73 #include "net/url_request/url_request_intercepting_job_factory.h" |
| 71 #include "net/url_request/url_request_job_factory_impl.h" | 74 #include "net/url_request/url_request_job_factory_impl.h" |
| 72 #include "storage/browser/quota/special_storage_policy.h" | 75 #include "storage/browser/quota/special_storage_policy.h" |
| 73 | 76 |
| 74 #if defined(OS_ANDROID) | 77 #if defined(OS_ANDROID) |
| 75 #include "chrome/browser/android/offline_pages/offline_page_request_interceptor.
h" | 78 #include "chrome/browser/android/offline_pages/offline_page_request_interceptor.
h" |
| 76 #endif // defined(OS_ANDROID) | 79 #endif // defined(OS_ANDROID) |
| 77 | 80 |
| (...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 545 std::move(profile_params->protocol_handler_interceptor), | 548 std::move(profile_params->protocol_handler_interceptor), |
| 546 main_context->network_delegate(), | 549 main_context->network_delegate(), |
| 547 io_thread_globals->host_resolver.get())); | 550 io_thread_globals->host_resolver.get())); |
| 548 main_context->set_network_quality_estimator( | 551 main_context->set_network_quality_estimator( |
| 549 io_thread_globals->network_quality_estimator.get()); | 552 io_thread_globals->network_quality_estimator.get()); |
| 550 | 553 |
| 551 #if BUILDFLAG(ENABLE_EXTENSIONS) | 554 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 552 InitializeExtensionsRequestContext(profile_params); | 555 InitializeExtensionsRequestContext(profile_params); |
| 553 #endif | 556 #endif |
| 554 | 557 |
| 558 main_context_storage->set_reporting_service( |
| 559 MaybeCreateReportingService(main_context)); |
| 560 |
| 555 // Create a media request context based on the main context, but using a | 561 // Create a media request context based on the main context, but using a |
| 556 // media cache. It shares the same job factory as the main context. | 562 // media cache. It shares the same job factory as the main context. |
| 557 StoragePartitionDescriptor details(profile_path_, false); | 563 StoragePartitionDescriptor details(profile_path_, false); |
| 558 media_request_context_.reset( | 564 media_request_context_.reset( |
| 559 InitializeMediaRequestContext(main_context, details, "main_media")); | 565 InitializeMediaRequestContext(main_context, details, "main_media")); |
| 560 lazy_params_.reset(); | 566 lazy_params_.reset(); |
| 561 } | 567 } |
| 562 | 568 |
| 563 void ProfileImplIOData:: | 569 void ProfileImplIOData:: |
| 564 InitializeExtensionsRequestContext(ProfileParams* profile_params) const { | 570 InitializeExtensionsRequestContext(ProfileParams* profile_params) const { |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 689 request_interceptors.begin(), | 695 request_interceptors.begin(), |
| 690 data_reduction_proxy_io_data()->CreateInterceptor()); | 696 data_reduction_proxy_io_data()->CreateInterceptor()); |
| 691 | 697 |
| 692 std::unique_ptr<net::URLRequestJobFactory> top_job_factory( | 698 std::unique_ptr<net::URLRequestJobFactory> top_job_factory( |
| 693 SetUpJobFactoryDefaults( | 699 SetUpJobFactoryDefaults( |
| 694 std::move(job_factory), std::move(request_interceptors), | 700 std::move(job_factory), std::move(request_interceptors), |
| 695 std::move(protocol_handler_interceptor), context->network_delegate(), | 701 std::move(protocol_handler_interceptor), context->network_delegate(), |
| 696 context->host_resolver())); | 702 context->host_resolver())); |
| 697 context->SetJobFactory(std::move(top_job_factory)); | 703 context->SetJobFactory(std::move(top_job_factory)); |
| 698 | 704 |
| 705 context->SetReportingService(MaybeCreateReportingService(context)); |
| 706 |
| 699 return context; | 707 return context; |
| 700 } | 708 } |
| 701 | 709 |
| 702 net::URLRequestContext* ProfileImplIOData::InitializeMediaRequestContext( | 710 net::URLRequestContext* ProfileImplIOData::InitializeMediaRequestContext( |
| 703 net::URLRequestContext* original_context, | 711 net::URLRequestContext* original_context, |
| 704 const StoragePartitionDescriptor& partition_descriptor, | 712 const StoragePartitionDescriptor& partition_descriptor, |
| 705 const char* name) const { | 713 const char* name) const { |
| 706 // Copy most state from the original context. | 714 // Copy most state from the original context. |
| 707 MediaRequestContext* context = new MediaRequestContext(name); | 715 MediaRequestContext* context = new MediaRequestContext(name); |
| 708 context->CopyFrom(original_context); | 716 context->CopyFrom(original_context); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 777 net::URLRequestContext* media_request_context = InitializeMediaRequestContext( | 785 net::URLRequestContext* media_request_context = InitializeMediaRequestContext( |
| 778 app_context, partition_descriptor, "isolated_media"); | 786 app_context, partition_descriptor, "isolated_media"); |
| 779 DCHECK(media_request_context); | 787 DCHECK(media_request_context); |
| 780 return media_request_context; | 788 return media_request_context; |
| 781 } | 789 } |
| 782 | 790 |
| 783 chrome_browser_net::Predictor* ProfileImplIOData::GetPredictor() { | 791 chrome_browser_net::Predictor* ProfileImplIOData::GetPredictor() { |
| 784 return predictor_.get(); | 792 return predictor_.get(); |
| 785 } | 793 } |
| 786 | 794 |
| 795 std::unique_ptr<net::ReportingService> |
| 796 ProfileImplIOData::MaybeCreateReportingService( |
| 797 net::URLRequestContext* url_request_context) const { |
| 798 if (!base::FeatureList::IsEnabled(features::kReporting)) |
| 799 return std::unique_ptr<net::ReportingService>(); |
| 800 |
| 801 return net::ReportingService::Create(net::ReportingPolicy(), |
| 802 url_request_context); |
| 803 } |
| 804 |
| 787 void ProfileImplIOData::ClearNetworkingHistorySinceOnIOThread( | 805 void ProfileImplIOData::ClearNetworkingHistorySinceOnIOThread( |
| 788 base::Time time, | 806 base::Time time, |
| 789 const base::Closure& completion) { | 807 const base::Closure& completion) { |
| 790 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 808 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 791 DCHECK(initialized()); | 809 DCHECK(initialized()); |
| 792 | 810 |
| 793 DCHECK(transport_security_state()); | 811 DCHECK(transport_security_state()); |
| 794 // Completes synchronously. | 812 // Completes synchronously. |
| 795 transport_security_state()->DeleteAllDynamicDataSince(time); | 813 transport_security_state()->DeleteAllDynamicDataSince(time); |
| 796 DCHECK(http_server_properties_manager_); | 814 DCHECK(http_server_properties_manager_); |
| 797 http_server_properties_manager_->Clear(completion); | 815 http_server_properties_manager_->Clear(completion); |
| 798 } | 816 } |
| OLD | NEW |