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

Side by Side Diff: chrome/browser/profiles/profile_io_data.cc

Issue 182993003: Add the ability for DevTools to wrap network transactions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added optional QUIC setup in HttpCache constructor Created 6 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_io_data.h" 5 #include "chrome/browser/profiles/profile_io_data.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 10 matching lines...) Expand all
21 #include "base/strings/string_util.h" 21 #include "base/strings/string_util.h"
22 #include "base/strings/stringprintf.h" 22 #include "base/strings/stringprintf.h"
23 #include "base/threading/sequenced_worker_pool.h" 23 #include "base/threading/sequenced_worker_pool.h"
24 #include "chrome/browser/browser_process.h" 24 #include "chrome/browser/browser_process.h"
25 #include "chrome/browser/chrome_notification_types.h" 25 #include "chrome/browser/chrome_notification_types.h"
26 #include "chrome/browser/content_settings/content_settings_provider.h" 26 #include "chrome/browser/content_settings/content_settings_provider.h"
27 #include "chrome/browser/content_settings/cookie_settings.h" 27 #include "chrome/browser/content_settings/cookie_settings.h"
28 #include "chrome/browser/content_settings/host_content_settings_map.h" 28 #include "chrome/browser/content_settings/host_content_settings_map.h"
29 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" 29 #include "chrome/browser/custom_handlers/protocol_handler_registry.h"
30 #include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h" 30 #include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h"
31 #include "chrome/browser/devtools/devtools_network_controller.h"
32 #include "chrome/browser/devtools/devtools_network_transaction_factory.h"
31 #include "chrome/browser/download/download_service.h" 33 #include "chrome/browser/download/download_service.h"
32 #include "chrome/browser/download/download_service_factory.h" 34 #include "chrome/browser/download/download_service_factory.h"
33 #include "chrome/browser/extensions/extension_protocols.h" 35 #include "chrome/browser/extensions/extension_protocols.h"
34 #include "chrome/browser/extensions/extension_resource_protocols.h" 36 #include "chrome/browser/extensions/extension_resource_protocols.h"
35 #include "chrome/browser/io_thread.h" 37 #include "chrome/browser/io_thread.h"
36 #include "chrome/browser/media/media_device_id_salt.h" 38 #include "chrome/browser/media/media_device_id_salt.h"
37 #include "chrome/browser/net/about_protocol_handler.h" 39 #include "chrome/browser/net/about_protocol_handler.h"
38 #include "chrome/browser/net/chrome_fraudulent_certificate_reporter.h" 40 #include "chrome/browser/net/chrome_fraudulent_certificate_reporter.h"
39 #include "chrome/browser/net/chrome_http_user_agent_settings.h" 41 #include "chrome/browser/net/chrome_http_user_agent_settings.h"
40 #include "chrome/browser/net/chrome_net_log.h" 42 #include "chrome/browser/net/chrome_net_log.h"
(...skipping 1090 matching lines...) Expand 10 before | Expand all | Expand 10 after
1131 1133
1132 void ProfileIOData::set_server_bound_cert_service( 1134 void ProfileIOData::set_server_bound_cert_service(
1133 net::ServerBoundCertService* server_bound_cert_service) const { 1135 net::ServerBoundCertService* server_bound_cert_service) const {
1134 server_bound_cert_service_.reset(server_bound_cert_service); 1136 server_bound_cert_service_.reset(server_bound_cert_service);
1135 } 1137 }
1136 1138
1137 void ProfileIOData::DestroyResourceContext() { 1139 void ProfileIOData::DestroyResourceContext() {
1138 resource_context_.reset(); 1140 resource_context_.reset();
1139 } 1141 }
1140 1142
1141 void ProfileIOData::PopulateNetworkSessionParams( 1143 scoped_ptr<net::HttpCache> ProfileIOData::CreateMainHttpFactory(
1142 const ProfileParams* profile_params, 1144 const ProfileParams* profile_params,
1143 net::HttpNetworkSession::Params* params) const { 1145 net::HttpCache::BackendFactory* main_backend) const {
1144 1146 net::HttpNetworkSession::Params params;
1145 ChromeURLRequestContext* context = main_request_context(); 1147 ChromeURLRequestContext* context = main_request_context();
1146 1148
1147 IOThread* const io_thread = profile_params->io_thread; 1149 IOThread* const io_thread = profile_params->io_thread;
1148 1150
1149 io_thread->InitializeNetworkSessionParams(params); 1151 io_thread->InitializeNetworkSessionParams(&params);
1150 1152
1151 params->host_resolver = context->host_resolver(); 1153 params.host_resolver = context->host_resolver();
1152 params->cert_verifier = context->cert_verifier(); 1154 params.cert_verifier = context->cert_verifier();
1153 params->server_bound_cert_service = context->server_bound_cert_service(); 1155 params.server_bound_cert_service = context->server_bound_cert_service();
1154 params->transport_security_state = context->transport_security_state(); 1156 params.transport_security_state = context->transport_security_state();
1155 params->cert_transparency_verifier = context->cert_transparency_verifier(); 1157 params.cert_transparency_verifier = context->cert_transparency_verifier();
1156 params->proxy_service = context->proxy_service(); 1158 params.proxy_service = context->proxy_service();
1157 params->ssl_session_cache_shard = GetSSLSessionCacheShard(); 1159 params.ssl_session_cache_shard = GetSSLSessionCacheShard();
1158 params->ssl_config_service = context->ssl_config_service(); 1160 params.ssl_config_service = context->ssl_config_service();
1159 params->http_auth_handler_factory = context->http_auth_handler_factory(); 1161 params.http_auth_handler_factory = context->http_auth_handler_factory();
1160 params->network_delegate = network_delegate(); 1162 params.network_delegate = network_delegate();
1161 params->http_server_properties = context->http_server_properties(); 1163 params.http_server_properties = context->http_server_properties();
1162 params->net_log = context->net_log(); 1164 params.net_log = context->net_log();
1165
1166 network_controller_.reset(new DevToolsNetworkController());
1167
1168 net::HttpNetworkSession* session = new net::HttpNetworkSession(params);
1169 return scoped_ptr<net::HttpCache>(new net::HttpCache(
1170 new DevToolsNetworkTransactionFactory(network_controller_.get(), session),
1171 context->net_log(), main_backend, true));
1172 }
1173
1174 scoped_ptr<net::HttpCache> ProfileIOData::CreateHttpFactory(
1175 net::HttpNetworkSession* shared_session,
1176 net::HttpCache::BackendFactory* backend) const {
1177 return scoped_ptr<net::HttpCache>(new net::HttpCache(
1178 new DevToolsNetworkTransactionFactory(
1179 network_controller_.get(), shared_session),
1180 shared_session->net_log(), backend, false));
1163 } 1181 }
1164 1182
1165 void ProfileIOData::SetCookieSettingsForTesting( 1183 void ProfileIOData::SetCookieSettingsForTesting(
1166 CookieSettings* cookie_settings) { 1184 CookieSettings* cookie_settings) {
1167 DCHECK(!cookie_settings_.get()); 1185 DCHECK(!cookie_settings_.get());
1168 cookie_settings_ = cookie_settings; 1186 cookie_settings_ = cookie_settings;
1169 } 1187 }
1170 1188
1171 void ProfileIOData::set_signin_names_for_testing( 1189 void ProfileIOData::set_signin_names_for_testing(
1172 SigninNamesOnIOThread* signin_names) { 1190 SigninNamesOnIOThread* signin_names) {
1173 signin_names_.reset(signin_names); 1191 signin_names_.reset(signin_names);
1174 } 1192 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698