| Index: chrome/browser/component_updater/recovery_component_installer.cc
 | 
| diff --git a/chrome/browser/component_updater/recovery_component_installer.cc b/chrome/browser/component_updater/recovery_component_installer.cc
 | 
| index 063a0037211245a1b13e388c63861f4154928e91..aca11bba95459131121aa41600ac061c70374155 100644
 | 
| --- a/chrome/browser/component_updater/recovery_component_installer.cc
 | 
| +++ b/chrome/browser/component_updater/recovery_component_installer.cc
 | 
| @@ -11,6 +11,7 @@
 | 
|  
 | 
|  #include "base/base_paths.h"
 | 
|  #include "base/bind.h"
 | 
| +#include "base/bind_helpers.h"
 | 
|  #include "base/command_line.h"
 | 
|  #include "base/files/file_path.h"
 | 
|  #include "base/files/file_util.h"
 | 
| @@ -34,6 +35,7 @@
 | 
|  #include "components/prefs/pref_registry_simple.h"
 | 
|  #include "components/prefs/pref_service.h"
 | 
|  #include "components/update_client/update_client.h"
 | 
| +#include "components/update_client/utils.h"
 | 
|  #include "content/public/browser/browser_thread.h"
 | 
|  
 | 
|  using content::BrowserThread;
 | 
| @@ -200,8 +202,9 @@ class RecoveryComponentInstaller : public update_client::CrxInstaller {
 | 
|    // ComponentInstaller implementation:
 | 
|    void OnUpdateError(int error) override;
 | 
|  
 | 
| -  bool Install(const base::DictionaryValue& manifest,
 | 
| -               const base::FilePath& unpack_path) override;
 | 
| +  update_client::CrxInstaller::Result Install(
 | 
| +      const base::DictionaryValue& manifest,
 | 
| +      const base::FilePath& unpack_path) override;
 | 
|  
 | 
|    bool GetInstalledFile(const std::string& file,
 | 
|                          base::FilePath* installed_file) override;
 | 
| @@ -211,6 +214,9 @@ class RecoveryComponentInstaller : public update_client::CrxInstaller {
 | 
|   private:
 | 
|    ~RecoveryComponentInstaller() override {}
 | 
|  
 | 
| +  bool DoInstall(const base::DictionaryValue& manifest,
 | 
| +                 const base::FilePath& unpack_path);
 | 
| +
 | 
|    bool RunInstallCommand(const base::CommandLine& cmdline,
 | 
|                           const base::FilePath& installer_folder) const;
 | 
|  
 | 
| @@ -347,8 +353,17 @@ bool SetPosixExecutablePermission(const base::FilePath& path) {
 | 
|  }
 | 
|  #endif  // defined(OS_POSIX)
 | 
|  
 | 
| -bool RecoveryComponentInstaller::Install(const base::DictionaryValue& manifest,
 | 
| -                                         const base::FilePath& unpack_path) {
 | 
| +update_client::CrxInstaller::Result RecoveryComponentInstaller::Install(
 | 
| +    const base::DictionaryValue& manifest,
 | 
| +    const base::FilePath& unpack_path) {
 | 
| +  return update_client::InstallFunctionWrapper(
 | 
| +      base::Bind(&RecoveryComponentInstaller::DoInstall, base::Unretained(this),
 | 
| +                 base::ConstRef(manifest), base::ConstRef(unpack_path)));
 | 
| +}
 | 
| +
 | 
| +bool RecoveryComponentInstaller::DoInstall(
 | 
| +    const base::DictionaryValue& manifest,
 | 
| +    const base::FilePath& unpack_path) {
 | 
|    std::string name;
 | 
|    manifest.GetStringASCII("name", &name);
 | 
|    if (name != kRecoveryManifestName)
 | 
| 
 |