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

Unified Diff: chrome/browser/component_updater/recovery_component_installer.cc

Issue 334783002: Componentize component_updater: Move some paths/constants to component. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 months 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 side-by-side diff with in-line comments
Download patch
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 4baa3666db5b1d6e3a8e2e4ab269c5ae4fb8d7f7..4befd240d036770da9a5ba5fd95f8356c61b2808 100644
--- a/chrome/browser/component_updater/recovery_component_installer.cc
+++ b/chrome/browser/component_updater/recovery_component_installer.cc
@@ -20,9 +20,6 @@
#include "base/strings/string_util.h"
#include "base/values.h"
#include "chrome/browser/component_updater/component_updater_service.h"
-#include "chrome/common/chrome_paths.h"
-#include "chrome/common/chrome_version_info.h"
-#include "chrome/common/pref_names.h"
#include "content/public/browser/browser_thread.h"
using content::BrowserThread;
@@ -47,12 +44,17 @@ const base::FilePath::CharType kRecoveryFileName[] =
const char kRecoveryManifestName[] = "ChromeRecovery";
+// String that represents the recovery component last downloaded version. This
+// takes the usual 'a.b.c.d' notation.
+const char kRecoveryComponentVersionPrefName[] = "recovery_component.version";
+
} // namespace
class RecoveryComponentInstaller : public ComponentInstaller {
public:
explicit RecoveryComponentInstaller(const Version& version,
- PrefService* prefs);
+ PrefService* prefs,
+ const base::FilePath& base_dir);
virtual ~RecoveryComponentInstaller() {}
@@ -67,11 +69,13 @@ class RecoveryComponentInstaller : public ComponentInstaller {
private:
Version current_version_;
PrefService* prefs_;
+ base::FilePath base_dir_;
};
-void RecoveryRegisterHelper(ComponentUpdateService* cus, PrefService* prefs) {
+void RecoveryRegisterHelper(ComponentUpdateService* cus, PrefService* prefs,
+ const base::FilePath& base_dir) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- Version version(prefs->GetString(prefs::kRecoveryComponentVersion));
blundell 2014/06/17 17:26:43 This pref could move into the component_updater co
tommycli 2014/06/17 19:01:57 Done.
+ Version version(prefs->GetString(kRecoveryComponentVersionPrefName));
if (!version.IsValid()) {
NOTREACHED();
return;
@@ -79,7 +83,8 @@ void RecoveryRegisterHelper(ComponentUpdateService* cus, PrefService* prefs) {
CrxComponent recovery;
recovery.name = "recovery";
- recovery.installer = new RecoveryComponentInstaller(version, prefs);
+ recovery.installer = new RecoveryComponentInstaller(version, prefs,
+ base_dir);
recovery.version = version;
recovery.pk_hash.assign(kSha2Hash, &kSha2Hash[sizeof(kSha2Hash)]);
if (cus->RegisterComponent(recovery) != ComponentUpdateService::kOk) {
@@ -89,12 +94,16 @@ void RecoveryRegisterHelper(ComponentUpdateService* cus, PrefService* prefs) {
void RecoveryUpdateVersionHelper(const Version& version, PrefService* prefs) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- prefs->SetString(prefs::kRecoveryComponentVersion, version.GetString());
+ prefs->SetString(kRecoveryComponentVersionPrefName, version.GetString());
}
-RecoveryComponentInstaller::RecoveryComponentInstaller(const Version& version,
- PrefService* prefs)
- : current_version_(version), prefs_(prefs) {
+RecoveryComponentInstaller::RecoveryComponentInstaller(
+ const Version& version,
+ PrefService* prefs,
+ const base::FilePath& base_dir)
+ : current_version_(version),
+ prefs_(prefs),
+ base_dir_(base_dir) {
DCHECK(version.IsValid());
}
@@ -117,10 +126,8 @@ bool RecoveryComponentInstaller::Install(const base::DictionaryValue& manifest,
return false;
// Passed the basic tests. Copy the installation to a permanent directory.
- base::FilePath path;
- if (!PathService::Get(chrome::DIR_RECOVERY_BASE, &path))
- return false;
- path = path.AppendASCII(version.GetString());
+ base::FilePath path =
+ base_dir_.AppendASCII(version.GetString());
if (base::PathExists(path) && !base::DeleteFile(path, true))
return false;
if (!base::Move(unpack_path, path)) {
@@ -158,20 +165,21 @@ bool RecoveryComponentInstaller::GetInstalledFile(
}
void RegisterRecoveryComponent(ComponentUpdateService* cus,
- PrefService* prefs) {
+ PrefService* prefs,
+ const base::FilePath& base_dir) {
#if !defined(OS_CHROMEOS)
// We delay execute the registration because we are not required in
// the critical path during browser startup.
BrowserThread::PostDelayedTask(
BrowserThread::UI,
FROM_HERE,
- base::Bind(&RecoveryRegisterHelper, cus, prefs),
+ base::Bind(&RecoveryRegisterHelper, cus, prefs, base_dir),
base::TimeDelta::FromSeconds(6));
#endif
}
void RegisterPrefsForRecoveryComponent(PrefRegistrySimple* registry) {
- registry->RegisterStringPref(prefs::kRecoveryComponentVersion, "0.0.0.0");
+ registry->RegisterStringPref(kRecoveryComponentVersionPrefName, "0.0.0.0");
}
} // namespace component_updater

Powered by Google App Engine
This is Rietveld 408576698