OLD | NEW |
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 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 resource_context_(new ResourceContext(this))), | 265 resource_context_(new ResourceContext(this))), |
266 initialized_on_UI_thread_(false), | 266 initialized_on_UI_thread_(false), |
267 is_incognito_(is_incognito) { | 267 is_incognito_(is_incognito) { |
268 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 268 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
269 } | 269 } |
270 | 270 |
271 ProfileIOData::~ProfileIOData() { | 271 ProfileIOData::~ProfileIOData() { |
272 if (BrowserThread::IsMessageLoopValid(BrowserThread::IO)) | 272 if (BrowserThread::IsMessageLoopValid(BrowserThread::IO)) |
273 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 273 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
274 | 274 |
275 if (main_request_context_) | 275 if (main_request_context_.get()) |
276 main_request_context_->AssertNoURLRequests(); | 276 main_request_context_->AssertNoURLRequests(); |
277 if (extensions_request_context_) | 277 if (extensions_request_context_.get()) |
278 extensions_request_context_->AssertNoURLRequests(); | 278 extensions_request_context_->AssertNoURLRequests(); |
279 for (AppRequestContextMap::iterator it = app_request_context_map_.begin(); | 279 for (AppRequestContextMap::iterator it = app_request_context_map_.begin(); |
280 it != app_request_context_map_.end(); ++it) { | 280 it != app_request_context_map_.end(); ++it) { |
281 it->second->AssertNoURLRequests(); | 281 it->second->AssertNoURLRequests(); |
| 282 delete it->second; |
282 } | 283 } |
283 } | 284 } |
284 | 285 |
285 // static | 286 // static |
286 ProfileIOData* ProfileIOData::FromResourceContext( | 287 ProfileIOData* ProfileIOData::FromResourceContext( |
287 content::ResourceContext* rc) { | 288 content::ResourceContext* rc) { |
288 return (static_cast<ResourceContext*>(rc))->io_data_; | 289 return (static_cast<ResourceContext*>(rc))->io_data_; |
289 } | 290 } |
290 | 291 |
291 // static | 292 // static |
(...skipping 29 matching lines...) Expand all Loading... |
321 content::ResourceContext* ProfileIOData::GetResourceContext() const { | 322 content::ResourceContext* ProfileIOData::GetResourceContext() const { |
322 return resource_context_.get(); | 323 return resource_context_.get(); |
323 } | 324 } |
324 | 325 |
325 ChromeURLDataManagerBackend* | 326 ChromeURLDataManagerBackend* |
326 ProfileIOData::GetChromeURLDataManagerBackend() const { | 327 ProfileIOData::GetChromeURLDataManagerBackend() const { |
327 LazyInitialize(); | 328 LazyInitialize(); |
328 return chrome_url_data_manager_backend_.get(); | 329 return chrome_url_data_manager_backend_.get(); |
329 } | 330 } |
330 | 331 |
331 scoped_refptr<ChromeURLRequestContext> | 332 ChromeURLRequestContext* |
332 ProfileIOData::GetMainRequestContext() const { | 333 ProfileIOData::GetMainRequestContext() const { |
333 LazyInitialize(); | 334 LazyInitialize(); |
334 return main_request_context_; | 335 return main_request_context_.get(); |
335 } | 336 } |
336 | 337 |
337 scoped_refptr<ChromeURLRequestContext> | 338 ChromeURLRequestContext* |
338 ProfileIOData::GetMediaRequestContext() const { | 339 ProfileIOData::GetMediaRequestContext() const { |
339 LazyInitialize(); | 340 LazyInitialize(); |
340 scoped_refptr<ChromeURLRequestContext> context = | 341 ChromeURLRequestContext* context = |
341 AcquireMediaRequestContext(); | 342 AcquireMediaRequestContext(); |
342 DCHECK(context); | 343 DCHECK(context); |
343 return context; | 344 return context; |
344 } | 345 } |
345 | 346 |
346 scoped_refptr<ChromeURLRequestContext> | 347 ChromeURLRequestContext* |
347 ProfileIOData::GetExtensionsRequestContext() const { | 348 ProfileIOData::GetExtensionsRequestContext() const { |
348 LazyInitialize(); | 349 LazyInitialize(); |
349 return extensions_request_context_; | 350 return extensions_request_context_.get(); |
350 } | 351 } |
351 | 352 |
352 scoped_refptr<ChromeURLRequestContext> | 353 ChromeURLRequestContext* |
353 ProfileIOData::GetIsolatedAppRequestContext( | 354 ProfileIOData::GetIsolatedAppRequestContext( |
354 scoped_refptr<ChromeURLRequestContext> main_context, | 355 ChromeURLRequestContext* main_context, |
355 const std::string& app_id) const { | 356 const std::string& app_id) const { |
356 LazyInitialize(); | 357 LazyInitialize(); |
357 scoped_refptr<ChromeURLRequestContext> context; | 358 ChromeURLRequestContext* context; |
358 if (ContainsKey(app_request_context_map_, app_id)) { | 359 if (ContainsKey(app_request_context_map_, app_id)) { |
359 context = app_request_context_map_[app_id]; | 360 context = app_request_context_map_[app_id]; |
360 } else { | 361 } else { |
361 context = AcquireIsolatedAppRequestContext(main_context, app_id); | 362 context = AcquireIsolatedAppRequestContext(main_context, app_id); |
362 app_request_context_map_[app_id] = context; | 363 app_request_context_map_[app_id] = context; |
363 } | 364 } |
364 DCHECK(context); | 365 DCHECK(context); |
365 return context; | 366 return context; |
366 } | 367 } |
367 | 368 |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
460 CHECK(initialized_on_UI_thread_); | 461 CHECK(initialized_on_UI_thread_); |
461 | 462 |
462 // TODO(jhawkins): Return to DCHECK once crbug.com/102004 is fixed. | 463 // TODO(jhawkins): Return to DCHECK once crbug.com/102004 is fixed. |
463 CHECK(profile_params_.get()); | 464 CHECK(profile_params_.get()); |
464 | 465 |
465 IOThread* const io_thread = profile_params_->io_thread; | 466 IOThread* const io_thread = profile_params_->io_thread; |
466 IOThread::Globals* const io_thread_globals = io_thread->globals(); | 467 IOThread::Globals* const io_thread_globals = io_thread->globals(); |
467 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | 468 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
468 | 469 |
469 // Create the common request contexts. | 470 // Create the common request contexts. |
470 main_request_context_ = new ChromeURLRequestContext; | 471 main_request_context_.reset(new ChromeURLRequestContext); |
471 extensions_request_context_ = new ChromeURLRequestContext; | 472 extensions_request_context_.reset(new ChromeURLRequestContext); |
472 | 473 |
473 chrome_url_data_manager_backend_.reset(new ChromeURLDataManagerBackend); | 474 chrome_url_data_manager_backend_.reset(new ChromeURLDataManagerBackend); |
474 | 475 |
475 network_delegate_.reset(new ChromeNetworkDelegate( | 476 network_delegate_.reset(new ChromeNetworkDelegate( |
476 io_thread_globals->extension_event_router_forwarder.get(), | 477 io_thread_globals->extension_event_router_forwarder.get(), |
477 profile_params_->extension_info_map, | 478 profile_params_->extension_info_map, |
478 url_blacklist_manager_.get(), | 479 url_blacklist_manager_.get(), |
479 profile_params_->profile, | 480 profile_params_->profile, |
480 profile_params_->cookie_settings, | 481 profile_params_->cookie_settings, |
481 &enable_referrers_)); | 482 &enable_referrers_)); |
482 | 483 |
483 fraudulent_certificate_reporter_.reset( | 484 fraudulent_certificate_reporter_.reset( |
484 new chrome_browser_net::ChromeFraudulentCertificateReporter( | 485 new chrome_browser_net::ChromeFraudulentCertificateReporter( |
485 main_request_context_)); | 486 main_request_context_.get())); |
486 | 487 |
487 proxy_service_.reset( | 488 proxy_service_.reset( |
488 ProxyServiceFactory::CreateProxyService( | 489 ProxyServiceFactory::CreateProxyService( |
489 io_thread->net_log(), | 490 io_thread->net_log(), |
490 io_thread_globals->proxy_script_fetcher_context.get(), | 491 io_thread_globals->proxy_script_fetcher_context.get(), |
491 profile_params_->proxy_config_service.release(), | 492 profile_params_->proxy_config_service.release(), |
492 command_line)); | 493 command_line)); |
493 | 494 |
494 transport_security_state_.reset(new net::TransportSecurityState()); | 495 transport_security_state_.reset(new net::TransportSecurityState()); |
495 transport_security_persister_.reset( | 496 transport_security_persister_.reset( |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
538 #endif // defined(OS_CHROMEOS) | 539 #endif // defined(OS_CHROMEOS) |
539 | 540 |
540 // Take ownership over these parameters. | 541 // Take ownership over these parameters. |
541 cookie_settings_ = profile_params_->cookie_settings; | 542 cookie_settings_ = profile_params_->cookie_settings; |
542 #if defined(ENABLE_NOTIFICATIONS) | 543 #if defined(ENABLE_NOTIFICATIONS) |
543 notification_service_ = profile_params_->notification_service; | 544 notification_service_ = profile_params_->notification_service; |
544 #endif | 545 #endif |
545 extension_info_map_ = profile_params_->extension_info_map; | 546 extension_info_map_ = profile_params_->extension_info_map; |
546 | 547 |
547 resource_context_->host_resolver_ = io_thread_globals->host_resolver.get(); | 548 resource_context_->host_resolver_ = io_thread_globals->host_resolver.get(); |
548 resource_context_->request_context_ = main_request_context_; | 549 resource_context_->request_context_ = main_request_context_.get(); |
549 | 550 |
550 LazyInitializeInternal(profile_params_.get()); | 551 LazyInitializeInternal(profile_params_.get()); |
551 | 552 |
552 profile_params_.reset(); | 553 profile_params_.reset(); |
553 initialized_ = true; | 554 initialized_ = true; |
554 } | 555 } |
555 | 556 |
556 void ProfileIOData::ApplyProfileParamsToContext( | 557 void ProfileIOData::ApplyProfileParamsToContext( |
557 ChromeURLRequestContext* context) const { | 558 ChromeURLRequestContext* context) const { |
558 context->set_is_incognito(is_incognito()); | 559 context->set_is_incognito(is_incognito()); |
(...skipping 22 matching lines...) Expand all Loading... |
581 } | 582 } |
582 | 583 |
583 void ProfileIOData::set_server_bound_cert_service( | 584 void ProfileIOData::set_server_bound_cert_service( |
584 net::ServerBoundCertService* server_bound_cert_service) const { | 585 net::ServerBoundCertService* server_bound_cert_service) const { |
585 server_bound_cert_service_.reset(server_bound_cert_service); | 586 server_bound_cert_service_.reset(server_bound_cert_service); |
586 } | 587 } |
587 | 588 |
588 void ProfileIOData::DestroyResourceContext() { | 589 void ProfileIOData::DestroyResourceContext() { |
589 resource_context_.reset(); | 590 resource_context_.reset(); |
590 } | 591 } |
OLD | NEW |