Chromium Code Reviews| Index: chrome/browser/profiles/profile_impl_io_data.cc |
| diff --git a/chrome/browser/profiles/profile_impl_io_data.cc b/chrome/browser/profiles/profile_impl_io_data.cc |
| index 9865b76f3cbfddfb260de20402a2009925771087..7ebbab6f0eff15068ad9096d95c0e5a243ef0da7 100644 |
| --- a/chrome/browser/profiles/profile_impl_io_data.cc |
| +++ b/chrome/browser/profiles/profile_impl_io_data.cc |
| @@ -180,11 +180,11 @@ void ProfileImplIOData::Handle::Init( |
| io_data_->app_media_cache_max_size_ = media_cache_max_size; |
| io_data_->predictor_.reset(predictor); |
| - io_data_->domain_reliability_monitor_ = std::move(domain_reliability_monitor); |
| + io_data_->domain_reliability_monitor_ = domain_reliability_monitor.release(); |
|
davidben
2016/09/26 21:14:48
This part and the WrapUnique below seems kind of o
mmenke
2016/09/26 21:30:09
Yea, this seems like a problem, and adding it to L
Julia Tuttle
2016/09/27 16:49:59
Done.
Julia Tuttle
2016/09/27 16:49:59
Cool, done.
|
| io_data_->InitializeMetricsEnabledStateOnUIThread(); |
| - if (io_data_->domain_reliability_monitor_) |
| - io_data_->domain_reliability_monitor_->MoveToNetworkThread(); |
| + if (domain_reliability_monitor) |
| + domain_reliability_monitor->MoveToNetworkThread(); |
| io_data_->set_data_reduction_proxy_io_data( |
| CreateDataReductionProxyChromeIOData( |
| @@ -425,11 +425,15 @@ ProfileImplIOData::LazyParams::~LazyParams() {} |
| ProfileImplIOData::ProfileImplIOData() |
| : ProfileIOData(Profile::REGULAR_PROFILE), |
| http_server_properties_manager_(NULL), |
| + domain_reliability_monitor_(nullptr), |
| app_cache_max_size_(0), |
| app_media_cache_max_size_(0) { |
| } |
| ProfileImplIOData::~ProfileImplIOData() { |
| + if (domain_reliability_monitor_) |
| + domain_reliability_monitor_->Shutdown(); |
| + |
| DestroyResourceContext(); |
| if (media_request_context_) |
| @@ -458,11 +462,12 @@ void ProfileImplIOData::InitializeInternal( |
| if (domain_reliability_monitor_) { |
| domain_reliability::DomainReliabilityMonitor* monitor = |
| - domain_reliability_monitor_.get(); |
| + domain_reliability_monitor_; |
| monitor->InitURLRequestContext(main_context); |
| monitor->AddBakedInConfigs(); |
| monitor->SetDiscardUploads(!GetMetricsEnabledStateOnIOThread()); |
| - chrome_network_delegate->set_domain_reliability_monitor(monitor); |
| + chrome_network_delegate->set_domain_reliability_monitor( |
| + base::WrapUnique(monitor)); |
| } |
| ApplyProfileParamsToContext(main_context); |