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

Unified Diff: chrome/browser/profiles/off_the_record_profile_io_data.cc

Issue 2978443002: Make ProfileIOData use URLRequestContextBuilder (Closed)
Patch Set: Fix ChromeOS, extension throttles, merge Created 3 years, 5 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: chrome/browser/profiles/off_the_record_profile_io_data.cc
diff --git a/chrome/browser/profiles/off_the_record_profile_io_data.cc b/chrome/browser/profiles/off_the_record_profile_io_data.cc
index d08c5fe91544a1d756df5df093aa5fe04b706c72..6909b931dd3fc9d54f14716d65624a37588fece7 100644
--- a/chrome/browser/profiles/off_the_record_profile_io_data.cc
+++ b/chrome/browser/profiles/off_the_record_profile_io_data.cc
@@ -35,7 +35,8 @@
#include "net/http/http_server_properties_impl.h"
#include "net/ssl/channel_id_service.h"
#include "net/ssl/default_channel_id_store.h"
-#include "net/url_request/url_request_context_storage.h"
+#include "net/url_request/url_request_context.h"
+#include "net/url_request/url_request_context_builder.h"
#include "net/url_request/url_request_job_factory_impl.h"
#include "storage/browser/database/database_tracker.h"
@@ -192,45 +193,40 @@ OffTheRecordProfileIOData::~OffTheRecordProfileIOData() {
}
void OffTheRecordProfileIOData::InitializeInternal(
+ net::URLRequestContextBuilder* builder,
ProfileParams* profile_params,
content::ProtocolHandlerMap* protocol_handlers,
content::URLRequestInterceptorScopedVector request_interceptors) const {
- net::URLRequestContext* main_context = main_request_context();
- net::URLRequestContextStorage* main_context_storage =
- main_request_context_storage();
-
- // For incognito, we use the default non-persistent HttpServerPropertiesImpl.
- main_context_storage->set_http_server_properties(
- base::MakeUnique<net::HttpServerPropertiesImpl>());
-
// For incognito, we use a non-persistent channel ID store.
- main_context_storage->set_channel_id_service(
+ std::unique_ptr<net::ChannelIDService> channel_id_service(
base::MakeUnique<net::ChannelIDService>(
new net::DefaultChannelIDStore(nullptr)));
using content::CookieStoreConfig;
- main_context_storage->set_cookie_store(CreateCookieStore(CookieStoreConfig(
- base::FilePath(), CookieStoreConfig::EPHEMERAL_SESSION_COOKIES, NULL,
- profile_params->cookie_monster_delegate.get())));
-
- main_context->cookie_store()->SetChannelIDServiceID(
- main_context->channel_id_service()->GetUniqueID());
+ std::unique_ptr<net::CookieStore> cookie_store(
+ CreateCookieStore(CookieStoreConfig(
+ base::FilePath(), CookieStoreConfig::EPHEMERAL_SESSION_COOKIES, NULL,
+ profile_params->cookie_monster_delegate.get())));
+ cookie_store->SetChannelIDServiceID(channel_id_service->GetUniqueID());
- main_context_storage->set_http_network_session(
- CreateHttpNetworkSession(*profile_params));
- main_context_storage->set_http_transaction_factory(
- CreateMainHttpFactory(main_context_storage->http_network_session(),
- net::HttpCache::DefaultBackend::InMemory(0)));
+ builder->SetCookieAndChannelIdStores(std::move(cookie_store),
+ std::move(channel_id_service));
- std::unique_ptr<net::URLRequestJobFactoryImpl> main_job_factory(
- new net::URLRequestJobFactoryImpl());
+ // Create an in memory cache using the default size.
+ net::URLRequestContextBuilder::HttpCacheParams cache_params;
+ cache_params.type = net::URLRequestContextBuilder::HttpCacheParams::IN_MEMORY;
+ builder->EnableHttpCache(cache_params);
- InstallProtocolHandlers(main_job_factory.get(), protocol_handlers);
- main_context_storage->set_job_factory(SetUpJobFactoryDefaults(
- std::move(main_job_factory), std::move(request_interceptors),
+ AddProtocolHandlersToBuilder(builder, protocol_handlers);
+ SetUpJobFactoryDefaultsForBuilder(
+ builder, std::move(request_interceptors),
std::move(profile_params->protocol_handler_interceptor),
- main_context->network_delegate(), main_context->host_resolver()));
+ profile_params->io_thread->globals()
+ ->system_request_context->host_resolver());
+}
+void OffTheRecordProfileIOData::OnMainRequestContextCreated(
+ ProfileParams* profile_params) const {
#if BUILDFLAG(ENABLE_EXTENSIONS)
InitializeExtensionsRequestContext(profile_params);
#endif
@@ -272,13 +268,12 @@ net::URLRequestContext* OffTheRecordProfileIOData::InitializeAppRequestContext(
context->SetCookieStore(std::move(cookie_store));
// Build a new HttpNetworkSession that uses the new ChannelIDService.
- net::HttpNetworkSession::Context session_context =
- main_request_context_storage()->http_network_session()->context();
+ net::HttpNetworkSession* network_session =
+ main_request_context()->http_transaction_factory()->GetSession();
+ net::HttpNetworkSession::Context session_context = network_session->context();
session_context.channel_id_service = channel_id_service.get();
std::unique_ptr<net::HttpNetworkSession> http_network_session(
- new net::HttpNetworkSession(
- main_request_context_storage()->http_network_session()->params(),
- session_context));
+ new net::HttpNetworkSession(network_session->params(), session_context));
// Use a separate in-memory cache for the app.
std::unique_ptr<net::HttpCache> app_http_cache = CreateMainHttpFactory(

Powered by Google App Engine
This is Rietveld 408576698