Chromium Code Reviews| Index: components/update_client/update_checker.cc | 
| diff --git a/components/update_client/update_checker.cc b/components/update_client/update_checker.cc | 
| index 91b07886f66ca3b8ecd4512d79ccc5b650d76011..4d70b8be75a9f81442c99eccf58f3fb9ee4fa4bb 100644 | 
| --- a/components/update_client/update_checker.cc | 
| +++ b/components/update_client/update_checker.cc | 
| @@ -145,8 +145,7 @@ std::string BuildUpdateCheckRequest( | 
| class UpdateCheckerImpl : public UpdateChecker { | 
| public: | 
| - UpdateCheckerImpl(const scoped_refptr<Configurator>& config, | 
| - PersistedData* metadata); | 
| + UpdateCheckerImpl(const scoped_refptr<Configurator>& config); | 
| ~UpdateCheckerImpl() override; | 
| // Overrides for UpdateChecker. | 
| @@ -176,7 +175,7 @@ class UpdateCheckerImpl : public UpdateChecker { | 
| base::ThreadChecker thread_checker_; | 
| const scoped_refptr<Configurator> config_; | 
| - PersistedData* metadata_ = nullptr; | 
| + std::unique_ptr<PersistedData> metadata_; | 
| std::vector<std::string> ids_checked_; | 
| UpdateCheckCallback update_check_callback_; | 
| std::unique_ptr<UpdaterState::Attributes> updater_state_attributes_; | 
| @@ -185,9 +184,8 @@ class UpdateCheckerImpl : public UpdateChecker { | 
| DISALLOW_COPY_AND_ASSIGN(UpdateCheckerImpl); | 
| }; | 
| -UpdateCheckerImpl::UpdateCheckerImpl(const scoped_refptr<Configurator>& config, | 
| - PersistedData* metadata) | 
| - : config_(config), metadata_(metadata) {} | 
| +UpdateCheckerImpl::UpdateCheckerImpl(const scoped_refptr<Configurator>& config) | 
| + : config_(config), metadata_(config->CreateMetadata()) {} | 
| 
 
waffles
2017/05/12 17:33:34
This will be called once per update check - I thin
 
Minh X. Nguyen
2017/05/14 23:57:22
As discussed offline, it's better to store Persist
 
 | 
| UpdateCheckerImpl::~UpdateCheckerImpl() { | 
| DCHECK(thread_checker_.CalledOnValidThread()); | 
| @@ -232,8 +230,9 @@ void UpdateCheckerImpl::CheckForUpdatesHelper( | 
| request_sender_ = base::MakeUnique<RequestSender>(config_); | 
| request_sender_->Send( | 
| config_->EnabledCupSigning(), | 
| - BuildUpdateCheckRequest(*config_, ids_checked_, components, metadata_, | 
| - additional_attributes, enabled_component_updates, | 
| + BuildUpdateCheckRequest(*config_, ids_checked_, components, | 
| + metadata_.get(), additional_attributes, | 
| + enabled_component_updates, | 
| updater_state_attributes_), | 
| urls, | 
| base::Bind(&UpdateCheckerImpl::OnRequestSenderComplete, | 
| @@ -314,9 +313,8 @@ void UpdateCheckerImpl::UpdateCheckFailed(const IdToComponentPtrMap& components, | 
| } // namespace | 
| std::unique_ptr<UpdateChecker> UpdateChecker::Create( | 
| - const scoped_refptr<Configurator>& config, | 
| - PersistedData* persistent) { | 
| - return base::MakeUnique<UpdateCheckerImpl>(config, persistent); | 
| + const scoped_refptr<Configurator>& config) { | 
| + return base::MakeUnique<UpdateCheckerImpl>(config); | 
| } | 
| } // namespace update_client |