Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Unified Diff: ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm

Issue 1930233002: Fix URLRequestContext::CopyFrom in ios code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix iOS compile; add NOTREACHED() Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm
diff --git a/ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm b/ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm
index 26b0cf947c5ff12eebf19b9b73fdf2012328ddb3..e8c9434d7f49416bcd9cb478e05155aea0f9d072 100644
--- a/ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm
+++ b/ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm
@@ -416,11 +416,23 @@ ChromeBrowserStateImplIOData::InitializeAppRequestContext(
AppRequestContext* context = new AppRequestContext();
context->CopyFrom(main_context);
+ // Use a separate ChannelIDService.
+ std::unique_ptr<net::ChannelIDService> channel_id_service(
+ new net::ChannelIDService(new net::DefaultChannelIDStore(nullptr),
+ base::WorkerPool::GetTaskRunner(true)));
+
+ // Build a new HttpNetworkSession that uses the new ChannelIDService.
+ net::HttpNetworkSession::Params network_params =
+ http_network_session_->params();
+ network_params.channel_id_service = channel_id_service.get();
+ std::unique_ptr<net::HttpNetworkSession> http_network_session(
+ new net::HttpNetworkSession(network_params));
+
// Use a separate HTTP disk cache for isolated apps.
std::unique_ptr<net::HttpCache::BackendFactory> app_backend =
net::HttpCache::DefaultBackend::InMemory(0);
std::unique_ptr<net::HttpCache> app_http_cache =
- CreateHttpFactory(http_network_session_.get(), std::move(app_backend));
+ CreateHttpFactory(http_network_session.get(), std::move(app_backend));
cookie_util::CookieStoreConfig ios_cookie_config(
base::FilePath(),
@@ -429,7 +441,10 @@ ChromeBrowserStateImplIOData::InitializeAppRequestContext(
std::unique_ptr<net::CookieStore> cookie_store =
cookie_util::CreateCookieStore(ios_cookie_config);
- // Transfer ownership of the cookies and cache to AppRequestContext.
+ // Transfer ownership of the ChannelIDStore, HttpNetworkSession, cookies, and
+ // cache to AppRequestContext.
+ context->SetChannelIDService(std::move(channel_id_service));
+ context->SetHttpNetworkSession(std::move(http_network_session));
context->SetCookieStore(std::move(cookie_store));
context->SetHttpTransactionFactory(std::move(app_http_cache));

Powered by Google App Engine
This is Rietveld 408576698