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

Side by Side Diff: chrome/browser/component_updater/recovery_component_installer.cc

Issue 808773005: Move most of the component updater artifacts to update_client. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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 unified diff | Download patch
OLDNEW
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/component_updater/recovery_component_installer.h" 5 #include "chrome/browser/component_updater/recovery_component_installer.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <string> 8 #include <string>
9 9
10 #include "base/base_paths.h" 10 #include "base/base_paths.h"
(...skipping 11 matching lines...) Expand all
22 #include "base/prefs/pref_service.h" 22 #include "base/prefs/pref_service.h"
23 #include "base/process/kill.h" 23 #include "base/process/kill.h"
24 #include "base/process/launch.h" 24 #include "base/process/launch.h"
25 #include "base/process/process.h" 25 #include "base/process/process.h"
26 #include "base/threading/worker_pool.h" 26 #include "base/threading/worker_pool.h"
27 #include "chrome/common/chrome_switches.h" 27 #include "chrome/common/chrome_switches.h"
28 #include "chrome/common/pref_names.h" 28 #include "chrome/common/pref_names.h"
29 #include "components/component_updater/component_updater_paths.h" 29 #include "components/component_updater/component_updater_paths.h"
30 #include "components/component_updater/component_updater_service.h" 30 #include "components/component_updater/component_updater_service.h"
31 #include "components/component_updater/pref_names.h" 31 #include "components/component_updater/pref_names.h"
32 #include "components/update_client/update_client.h"
32 #include "content/public/browser/browser_thread.h" 33 #include "content/public/browser/browser_thread.h"
33 34
34 using content::BrowserThread; 35 using content::BrowserThread;
35 36
36 namespace component_updater { 37 namespace component_updater {
37 38
38 namespace { 39 namespace {
39 40
40 // CRX hash. The extension id is: npdjjkjlcidkjlamlmmdelcjbcpdjocm. 41 // CRX hash. The extension id is: npdjjkjlcidkjlamlmmdelcjbcpdjocm.
41 const uint8_t kSha2Hash[] = {0xdf, 0x39, 0x9a, 0x9b, 0x28, 0x3a, 0x9b, 0x0c, 42 const uint8_t kSha2Hash[] = {0xdf, 0x39, 0x9a, 0x9b, 0x28, 0x3a, 0x9b, 0x0c,
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 166
166 // Component installer that is responsible to repair the chrome installation 167 // Component installer that is responsible to repair the chrome installation
167 // or repair the Google update installation. This is a last resort safety 168 // or repair the Google update installation. This is a last resort safety
168 // mechanism. 169 // mechanism.
169 // For user Chrome, recovery component just installs silently. For machine 170 // For user Chrome, recovery component just installs silently. For machine
170 // Chrome, elevation may be needed. If that happens, the installer will set 171 // Chrome, elevation may be needed. If that happens, the installer will set
171 // preference flag prefs::kRecoveryComponentNeedsElevation to request that. 172 // preference flag prefs::kRecoveryComponentNeedsElevation to request that.
172 // There is a global error service monitors this flag and will pop up 173 // There is a global error service monitors this flag and will pop up
173 // bubble if the flag is set to true. 174 // bubble if the flag is set to true.
174 // See chrome/browser/recovery/recovery_install_global_error.cc for details. 175 // See chrome/browser/recovery/recovery_install_global_error.cc for details.
175 class RecoveryComponentInstaller : public ComponentInstaller { 176 class RecoveryComponentInstaller : public update_client::ComponentInstaller {
176 public: 177 public:
177 RecoveryComponentInstaller(const Version& version, PrefService* prefs); 178 RecoveryComponentInstaller(const Version& version, PrefService* prefs);
178 ~RecoveryComponentInstaller() override {} 179 ~RecoveryComponentInstaller() override {}
179 180
180 void OnUpdateError(int error) override; 181 void OnUpdateError(int error) override;
181 182
182 bool Install(const base::DictionaryValue& manifest, 183 bool Install(const base::DictionaryValue& manifest,
183 const base::FilePath& unpack_path) override; 184 const base::FilePath& unpack_path) override;
184 185
185 bool GetInstalledFile(const std::string& file, 186 bool GetInstalledFile(const std::string& file,
(...skipping 12 matching lines...) Expand all
198 } 199 }
199 200
200 void RecoveryRegisterHelper(ComponentUpdateService* cus, PrefService* prefs) { 201 void RecoveryRegisterHelper(ComponentUpdateService* cus, PrefService* prefs) {
201 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 202 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
202 Version version(prefs->GetString(prefs::kRecoveryComponentVersion)); 203 Version version(prefs->GetString(prefs::kRecoveryComponentVersion));
203 if (!version.IsValid()) { 204 if (!version.IsValid()) {
204 NOTREACHED(); 205 NOTREACHED();
205 return; 206 return;
206 } 207 }
207 208
208 CrxComponent recovery; 209 update_client::CrxComponent recovery;
209 recovery.name = "recovery"; 210 recovery.name = "recovery";
210 recovery.installer = new RecoveryComponentInstaller(version, prefs); 211 recovery.installer = new RecoveryComponentInstaller(version, prefs);
211 recovery.version = version; 212 recovery.version = version;
212 recovery.pk_hash.assign(kSha2Hash, &kSha2Hash[sizeof(kSha2Hash)]); 213 recovery.pk_hash.assign(kSha2Hash, &kSha2Hash[sizeof(kSha2Hash)]);
213 if (cus->RegisterComponent(recovery) != ComponentUpdateService::kOk) { 214 if (cus->RegisterComponent(recovery) != ComponentUpdateService::kOk) {
214 NOTREACHED() << "Recovery component registration failed."; 215 NOTREACHED() << "Recovery component registration failed.";
215 } 216 }
216 } 217 }
217 218
218 void RecoveryUpdateVersionHelper(const Version& version, PrefService* prefs) { 219 void RecoveryUpdateVersionHelper(const Version& version, PrefService* prefs) {
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 #endif // OS_WIN 394 #endif // OS_WIN
394 prefs->SetBoolean(prefs::kRecoveryComponentNeedsElevation, false); 395 prefs->SetBoolean(prefs::kRecoveryComponentNeedsElevation, false);
395 } 396 }
396 397
397 void DeclinedElevatedRecoveryInstall(PrefService* prefs) { 398 void DeclinedElevatedRecoveryInstall(PrefService* prefs) {
398 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 399 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
399 prefs->SetBoolean(prefs::kRecoveryComponentNeedsElevation, false); 400 prefs->SetBoolean(prefs::kRecoveryComponentNeedsElevation, false);
400 } 401 }
401 402
402 } // namespace component_updater 403 } // namespace component_updater
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698