Chromium Code Reviews| Index: chrome/browser/profiles/profile_impl_io_data.cc |
| diff --git a/chrome/browser/profiles/profile_impl_io_data.cc b/chrome/browser/profiles/profile_impl_io_data.cc |
| index 8eb31578fc4518f17fc7f0bbfd1de7c74d4e5643..005d4c2f79a7bb3c0e44eb94f9d1fd2f40465c55 100644 |
| --- a/chrome/browser/profiles/profile_impl_io_data.cc |
| +++ b/chrome/browser/profiles/profile_impl_io_data.cc |
| @@ -490,6 +490,21 @@ void ProfileImplIOData::InitializeInternal( |
| main_context->set_proxy_service(proxy_service()); |
| + scoped_refptr<base::SequencedTaskRunner> background_task_runner = |
|
mattm
2017/05/17 23:28:09
may want to add comment or different naming to con
nharper
2017/05/18 00:45:53
Done.
|
| + base::CreateSequencedTaskRunnerWithTraits( |
| + {base::MayBlock(), base::TaskPriority::BACKGROUND, |
| + base::TaskShutdownBehavior::BLOCK_SHUTDOWN}); |
| + |
| + // Set up server bound cert service. |
| + DCHECK(!lazy_params_->channel_id_path.empty()); |
| + scoped_refptr<QuotaPolicyChannelIDStore> channel_id_db = |
| + new QuotaPolicyChannelIDStore(lazy_params_->channel_id_path, |
| + background_task_runner, |
| + lazy_params_->special_storage_policy.get()); |
| + main_context_storage->set_channel_id_service( |
| + base::MakeUnique<net::ChannelIDService>( |
| + new net::DefaultChannelIDStore(channel_id_db.get()))); |
| + |
| // Set up cookie store. |
| DCHECK(!lazy_params_->cookie_path.empty()); |
| @@ -498,21 +513,11 @@ void ProfileImplIOData::InitializeInternal( |
| lazy_params_->special_storage_policy.get(), |
| profile_params->cookie_monster_delegate.get()); |
| cookie_config.crypto_delegate = cookie_config::GetCookieCryptoDelegate(); |
| + cookie_config.channel_id_service = main_context->channel_id_service(); |
|
mattm
2017/05/17 23:28:08
Should this also be done in android_webview/browse
nharper
2017/05/18 00:45:53
android webview has a CookieManager::GetCookieStor
|
| + cookie_config.background_task_runner = background_task_runner; |
| main_context_storage->set_cookie_store( |
| content::CreateCookieStore(cookie_config)); |
| - // Set up server bound cert service. |
| - DCHECK(!lazy_params_->channel_id_path.empty()); |
| - scoped_refptr<QuotaPolicyChannelIDStore> channel_id_db = |
| - new QuotaPolicyChannelIDStore( |
| - lazy_params_->channel_id_path, |
| - base::CreateSequencedTaskRunnerWithTraits( |
| - {base::MayBlock(), base::TaskPriority::BACKGROUND}), |
| - lazy_params_->special_storage_policy.get()); |
| - main_context_storage->set_channel_id_service( |
| - base::MakeUnique<net::ChannelIDService>( |
| - new net::DefaultChannelIDStore(channel_id_db.get()))); |
| - |
| main_context->cookie_store()->SetChannelIDServiceID( |
|
mattm
2017/05/17 23:28:09
Seems like this could be obviated as ChannelIDServ
nharper
2017/05/18 00:45:53
They should get merged together - I'd prefer to po
|
| main_context->channel_id_service()->GetUniqueID()); |
| @@ -585,6 +590,7 @@ void ProfileImplIOData:: |
| cookie_config.crypto_delegate = cookie_config::GetCookieCryptoDelegate(); |
| // Enable cookies for chrome-extension URLs. |
| cookie_config.cookieable_schemes.push_back(extensions::kExtensionScheme); |
| + cookie_config.channel_id_service = extensions_context->channel_id_service(); |
| extensions_cookie_store_ = content::CreateCookieStore(cookie_config); |
| extensions_context->set_cookie_store(extensions_cookie_store_.get()); |
| if (extensions_context->channel_id_service()) { |
| @@ -639,28 +645,33 @@ net::URLRequestContext* ProfileImplIOData::InitializeAppRequestContext( |
| std::unique_ptr<net::CookieStore> cookie_store; |
| scoped_refptr<net::SQLiteChannelIDStore> channel_id_db; |
| + scoped_refptr<base::SequencedTaskRunner> background_task_runner = |
|
mattm
2017/05/17 23:28:09
same
nharper
2017/05/18 00:45:53
Done.
|
| + base::CreateSequencedTaskRunnerWithTraits( |
| + {base::MayBlock(), base::TaskPriority::BACKGROUND, |
| + base::TaskShutdownBehavior::BLOCK_SHUTDOWN}); |
| if (partition_descriptor.in_memory) { |
| - cookie_store = content::CreateCookieStore(content::CookieStoreConfig()); |
| - } else { |
| + cookie_path = base::FilePath(); |
| + } |
| + content::CookieStoreConfig cookie_config( |
| + cookie_path, content::CookieStoreConfig::EPHEMERAL_SESSION_COOKIES, |
| + nullptr, nullptr); |
| + if (!partition_descriptor.in_memory) { |
| // Use an app-specific cookie store. |
| DCHECK(!cookie_path.empty()); |
| // TODO(creis): We should have a cookie delegate for notifying the cookie |
| // extensions API, but we need to update it to understand isolated apps |
| // first. |
| - content::CookieStoreConfig cookie_config( |
| - cookie_path, content::CookieStoreConfig::EPHEMERAL_SESSION_COOKIES, |
| - nullptr, nullptr); |
| cookie_config.crypto_delegate = cookie_config::GetCookieCryptoDelegate(); |
| - cookie_store = content::CreateCookieStore(cookie_config); |
| - channel_id_db = new net::SQLiteChannelIDStore( |
| - channel_id_path, |
| - base::CreateSequencedTaskRunnerWithTraits( |
| - {base::MayBlock(), base::TaskPriority::BACKGROUND})); |
| + channel_id_db = |
| + new net::SQLiteChannelIDStore(channel_id_path, background_task_runner); |
| } |
| std::unique_ptr<net::ChannelIDService> channel_id_service( |
| new net::ChannelIDService( |
| new net::DefaultChannelIDStore(channel_id_db.get()))); |
| + cookie_config.channel_id_service = channel_id_service.get(); |
| + cookie_config.background_task_runner = background_task_runner; |
| + cookie_store = content::CreateCookieStore(cookie_config); |
| cookie_store->SetChannelIDServiceID(channel_id_service->GetUniqueID()); |
| // Build a new HttpNetworkSession that uses the new ChannelIDService. |