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

Side by Side Diff: chrome/browser/net/chrome_url_request_context.cc

Issue 4118004: Update NetLog to be thread safe. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Response to comments Created 10 years, 1 month 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/net/chrome_url_request_context.h" 5 #include "chrome/browser/net/chrome_url_request_context.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/message_loop_proxy.h" 9 #include "base/message_loop_proxy.h"
10 #include "base/string_number_conversions.h" 10 #include "base/string_number_conversions.h"
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 261
262 // Global host resolver for the context. 262 // Global host resolver for the context.
263 context->set_host_resolver(io_thread_globals->host_resolver.get()); 263 context->set_host_resolver(io_thread_globals->host_resolver.get());
264 context->set_dnsrr_resolver(io_thread_globals->dnsrr_resolver.get()); 264 context->set_dnsrr_resolver(io_thread_globals->dnsrr_resolver.get());
265 context->set_http_auth_handler_factory( 265 context->set_http_auth_handler_factory(
266 io_thread_globals->http_auth_handler_factory.get()); 266 io_thread_globals->http_auth_handler_factory.get());
267 267
268 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 268 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
269 269
270 context->set_proxy_service( 270 context->set_proxy_service(
271 CreateProxyService(io_thread_globals->net_log.get(), 271 CreateProxyService(io_thread()->net_log(),
272 context, 272 context,
273 proxy_config_service_.release(), 273 proxy_config_service_.release(),
274 command_line, 274 command_line,
275 io_thread())); 275 io_thread()));
276 276
277 net::HttpCache::DefaultBackend* backend = new net::HttpCache::DefaultBackend( 277 net::HttpCache::DefaultBackend* backend = new net::HttpCache::DefaultBackend(
278 net::DISK_CACHE, disk_cache_path_, cache_size_, 278 net::DISK_CACHE, disk_cache_path_, cache_size_,
279 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::CACHE)); 279 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::CACHE));
280 net::HttpCache* cache = 280 net::HttpCache* cache =
281 new net::HttpCache(context->host_resolver(), 281 new net::HttpCache(context->host_resolver(),
282 context->dnsrr_resolver(), 282 context->dnsrr_resolver(),
283 context->proxy_service(), 283 context->proxy_service(),
284 context->ssl_config_service(), 284 context->ssl_config_service(),
285 context->http_auth_handler_factory(), 285 context->http_auth_handler_factory(),
286 &io_thread_globals->network_delegate, 286 &io_thread_globals->network_delegate,
287 io_thread_globals->net_log.get(), 287 io_thread()->net_log(),
288 backend); 288 backend);
289 289
290 bool record_mode = chrome::kRecordModeEnabled && 290 bool record_mode = chrome::kRecordModeEnabled &&
291 command_line.HasSwitch(switches::kRecordMode); 291 command_line.HasSwitch(switches::kRecordMode);
292 bool playback_mode = command_line.HasSwitch(switches::kPlaybackMode); 292 bool playback_mode = command_line.HasSwitch(switches::kPlaybackMode);
293 293
294 if (record_mode || playback_mode) { 294 if (record_mode || playback_mode) {
295 // Don't use existing cookies and use an in-memory store. 295 // Don't use existing cookies and use an in-memory store.
296 context->set_cookie_store(new net::CookieMonster(NULL, 296 context->set_cookie_store(new net::CookieMonster(NULL,
297 cookie_monster_delegate_)); 297 cookie_monster_delegate_));
(...skipping 13 matching lines...) Expand all
311 new SQLitePersistentCookieStore(cookie_store_path_); 311 new SQLitePersistentCookieStore(cookie_store_path_);
312 context->set_cookie_store(new net::CookieMonster(cookie_db.get(), 312 context->set_cookie_store(new net::CookieMonster(cookie_db.get(),
313 cookie_monster_delegate_)); 313 cookie_monster_delegate_));
314 } 314 }
315 315
316 context->set_cookie_policy( 316 context->set_cookie_policy(
317 new ChromeCookiePolicy(host_content_settings_map_)); 317 new ChromeCookiePolicy(host_content_settings_map_));
318 318
319 appcache_service_->set_request_context(context); 319 appcache_service_->set_request_context(context);
320 320
321 context->set_net_log(io_thread_globals->net_log.get()); 321 context->set_net_log(io_thread()->net_log());
322 return context; 322 return context;
323 } 323 }
324 324
325 // Factory that creates the ChromeURLRequestContext for extensions. 325 // Factory that creates the ChromeURLRequestContext for extensions.
326 class FactoryForExtensions : public ChromeURLRequestContextFactory { 326 class FactoryForExtensions : public ChromeURLRequestContextFactory {
327 public: 327 public:
328 FactoryForExtensions(Profile* profile, const FilePath& cookie_store_path, 328 FactoryForExtensions(Profile* profile, const FilePath& cookie_store_path,
329 bool incognito) 329 bool incognito)
330 : ChromeURLRequestContextFactory(profile), 330 : ChromeURLRequestContextFactory(profile),
331 cookie_store_path_(cookie_store_path), 331 cookie_store_path_(cookie_store_path),
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 net::HttpCache::BackendFactory* backend = 403 net::HttpCache::BackendFactory* backend =
404 net::HttpCache::DefaultBackend::InMemory(0); 404 net::HttpCache::DefaultBackend::InMemory(0);
405 405
406 net::HttpCache* cache = 406 net::HttpCache* cache =
407 new net::HttpCache(context->host_resolver(), 407 new net::HttpCache(context->host_resolver(),
408 context->dnsrr_resolver(), 408 context->dnsrr_resolver(),
409 context->proxy_service(), 409 context->proxy_service(),
410 context->ssl_config_service(), 410 context->ssl_config_service(),
411 context->http_auth_handler_factory(), 411 context->http_auth_handler_factory(),
412 &io_thread_globals->network_delegate, 412 &io_thread_globals->network_delegate,
413 io_thread_globals->net_log.get(), 413 io_thread()->net_log(),
414 backend); 414 backend);
415 context->set_cookie_store(new net::CookieMonster(NULL, 415 context->set_cookie_store(new net::CookieMonster(NULL,
416 cookie_monster_delegate_)); 416 cookie_monster_delegate_));
417 context->set_cookie_policy( 417 context->set_cookie_policy(
418 new ChromeCookiePolicy(host_content_settings_map_)); 418 new ChromeCookiePolicy(host_content_settings_map_));
419 context->set_http_transaction_factory(cache); 419 context->set_http_transaction_factory(cache);
420 420
421 context->set_ftp_transaction_factory( 421 context->set_ftp_transaction_factory(
422 new net::FtpNetworkLayer(context->host_resolver())); 422 new net::FtpNetworkLayer(context->host_resolver()));
423 423
424 appcache_service_->set_request_context(context); 424 appcache_service_->set_request_context(context);
425 425
426 context->set_net_log(io_thread_globals->net_log.get()); 426 context->set_net_log(io_thread()->net_log());
427 return context; 427 return context;
428 } 428 }
429 429
430 // Factory that creates the ChromeURLRequestContext for media. 430 // Factory that creates the ChromeURLRequestContext for media.
431 class FactoryForMedia : public ChromeURLRequestContextFactory { 431 class FactoryForMedia : public ChromeURLRequestContextFactory {
432 public: 432 public:
433 FactoryForMedia(Profile* profile, 433 FactoryForMedia(Profile* profile,
434 const FilePath& disk_cache_path, 434 const FilePath& disk_cache_path,
435 int cache_size, 435 int cache_size,
436 bool off_the_record) 436 bool off_the_record)
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 // session from getting deleted. 495 // session from getting deleted.
496 } else { 496 } else {
497 // If original HttpCache doesn't exist, simply construct one with a whole 497 // If original HttpCache doesn't exist, simply construct one with a whole
498 // new set of network stack. 498 // new set of network stack.
499 cache = new net::HttpCache(main_context->host_resolver(), 499 cache = new net::HttpCache(main_context->host_resolver(),
500 main_context->dnsrr_resolver(), 500 main_context->dnsrr_resolver(),
501 main_context->proxy_service(), 501 main_context->proxy_service(),
502 main_context->ssl_config_service(), 502 main_context->ssl_config_service(),
503 main_context->http_auth_handler_factory(), 503 main_context->http_auth_handler_factory(),
504 &io_thread_globals->network_delegate, 504 &io_thread_globals->network_delegate,
505 io_thread_globals->net_log.get(), 505 io_thread()->net_log(),
506 backend); 506 backend);
507 } 507 }
508 508
509 context->set_http_transaction_factory(cache); 509 context->set_http_transaction_factory(cache);
510 context->set_net_log(io_thread_globals->net_log.get()); 510 context->set_net_log(io_thread()->net_log());
511 511
512 return context; 512 return context;
513 } 513 }
514 514
515 } // namespace 515 } // namespace
516 516
517 // ---------------------------------------------------------------------------- 517 // ----------------------------------------------------------------------------
518 // ChromeURLRequestContextGetter 518 // ChromeURLRequestContextGetter
519 // ---------------------------------------------------------------------------- 519 // ----------------------------------------------------------------------------
520 520
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
972 prefs::kProxyAutoDetect)); 972 prefs::kProxyAutoDetect));
973 973
974 if (pref_service->HasPrefPath(prefs::kProxyBypassList)) { 974 if (pref_service->HasPrefPath(prefs::kProxyBypassList)) {
975 std::string proxy_bypass = 975 std::string proxy_bypass =
976 pref_service->GetString(prefs::kProxyBypassList); 976 pref_service->GetString(prefs::kProxyBypassList);
977 proxy_config->proxy_rules().bypass_rules.ParseFromString(proxy_bypass); 977 proxy_config->proxy_rules().bypass_rules.ParseFromString(proxy_bypass);
978 } 978 }
979 979
980 return proxy_config; 980 return proxy_config;
981 } 981 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698