| Index: chrome/browser/profiles/profile_io_data.cc
|
| diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
|
| index a47242db697abe6b8cba0328ca32e3683c6fce56..d5f5ba6261ab6774dc73c26d03a245a7e0dbf5f1 100644
|
| --- a/chrome/browser/profiles/profile_io_data.cc
|
| +++ b/chrome/browser/profiles/profile_io_data.cc
|
| @@ -76,6 +76,7 @@
|
| #include "components/signin/core/common/signin_pref_names.h"
|
| #include "components/url_formatter/url_fixer.h"
|
| #include "content/public/browser/browser_thread.h"
|
| +#include "content/public/browser/cookie_store_factory.h"
|
| #include "content/public/browser/notification_service.h"
|
| #include "content/public/browser/resource_context.h"
|
| #include "content/public/common/content_switches.h"
|
| @@ -85,6 +86,7 @@
|
| #include "net/cert/multi_log_ct_verifier.h"
|
| #include "net/cookies/canonical_cookie.h"
|
| #include "net/http/http_network_session.h"
|
| +#include "net/http/http_server_properties_impl.h"
|
| #include "net/http/http_transaction_factory.h"
|
| #include "net/http/http_util.h"
|
| #include "net/http/transport_security_persister.h"
|
| @@ -96,6 +98,7 @@
|
| #include "net/reporting/reporting_service.h"
|
| #include "net/ssl/channel_id_service.h"
|
| #include "net/ssl/client_cert_store.h"
|
| +#include "net/ssl/default_channel_id_store.h"
|
| #include "net/traffic_annotation/network_traffic_annotation.h"
|
| #include "net/url_request/data_protocol_handler.h"
|
| #include "net/url_request/file_protocol_handler.h"
|
| @@ -1044,6 +1047,18 @@ void ProfileIOData::Init(
|
| main_request_context_->set_http_auth_handler_factory(
|
| io_thread_globals->system_request_context->http_auth_handler_factory());
|
|
|
| + main_request_context_storage_->set_http_server_properties(
|
| + GetHttpServerProperties());
|
| +
|
| + std::unique_ptr<net::CookieStore> cookie_store;
|
| + std::unique_ptr<net::ChannelIDService> channel_id_service;
|
| + GetCookieAndChannelIDStores(&cookie_store, &channel_id_service);
|
| + cookie_store->SetChannelIDServiceID(channel_id_service->GetUniqueID());
|
| +
|
| + main_request_context_storage_->set_cookie_store(std::move(cookie_store));
|
| + main_request_context_storage_->set_channel_id_service(
|
| + std::move(channel_id_service));
|
| +
|
| main_request_context_storage_->set_proxy_service(
|
| ProxyServiceFactory::CreateProxyService(
|
| io_thread->net_log(), main_request_context_.get(),
|
| @@ -1179,6 +1194,21 @@ void ProfileIOData::Init(
|
| main_request_context_->set_ct_policy_enforcer(
|
| io_thread_globals->system_request_context->ct_policy_enforcer());
|
|
|
| + if (UseNetworkQualityEstimator()) {
|
| + main_request_context_->set_network_quality_estimator(
|
| + io_thread_globals->network_quality_estimator.get());
|
| + }
|
| +
|
| + main_request_context_storage_->set_http_network_session(
|
| + CreateHttpNetworkSession(*profile_params_));
|
| +
|
| + main_request_context_storage_->set_http_transaction_factory(CreateMainHttpFactory(
|
| + main_request_context_storage_->http_network_session(), GetCacheBackendFactory()));
|
| +
|
| + std::unique_ptr<net::URLRequestJobFactoryImpl> main_job_factory(
|
| + new net::URLRequestJobFactoryImpl());
|
| + InstallProtocolHandlers(main_job_factory.get(), protocol_handlers);
|
| +
|
| InitializeInternal(profile_params_.get(), protocol_handlers,
|
| std::move(request_interceptors));
|
|
|
| @@ -1358,6 +1388,31 @@ std::unique_ptr<net::NetworkDelegate> ProfileIOData::ConfigureNetworkDelegate(
|
| chrome_network_delegate.release());
|
| }
|
|
|
| +std::unique_ptr<net::HttpServerProperties>
|
| +ProfileIOData::GetHttpServerProperties() const {
|
| + return base::MakeUnique<net::HttpServerPropertiesImpl>();
|
| +}
|
| +
|
| +void ProfileIOData::GetCookieAndChannelIDStores(
|
| + std::unique_ptr<net::CookieStore>* cookie_store,
|
| + std::unique_ptr<net::ChannelIDService>* channel_id_service) const {
|
| + *channel_id_service = base::MakeUnique<net::ChannelIDService>(
|
| + new net::DefaultChannelIDStore(nullptr));
|
| +
|
| + using content::CookieStoreConfig;
|
| + *cookie_store = CreateCookieStore(CookieStoreConfig(
|
| + base::FilePath(), CookieStoreConfig::EPHEMERAL_SESSION_COOKIES, nullptr,
|
| + profile_params_->cookie_monster_delegate.get()));
|
| +}
|
| +
|
| +bool ProfileIOData::UseNetworkQualityEstimator() const {
|
| + return false;
|
| +}
|
| +
|
| +std::unique_ptr<net::HttpCache::BackendFactory> ProfileIOData::GetCacheBackendFactory() const {
|
| + return net::HttpCache::DefaultBackend::InMemory(0);
|
| +}
|
| +
|
| void ProfileIOData::SetCookieSettingsForTesting(
|
| content_settings::CookieSettings* cookie_settings) {
|
| DCHECK(!cookie_settings_.get());
|
|
|