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

Side by Side Diff: chrome/browser/component_updater/pnacl/pnacl_component_installer.cc

Issue 398213002: Remove disable-pnacl-install flag. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove arg too Created 6 years, 5 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 | Annotate | Revision Log
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/pnacl/pnacl_component_installer.h" 5 #include "chrome/browser/component_updater/pnacl/pnacl_component_installer.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/atomicops.h" 10 #include "base/atomicops.h"
11 #include "base/base_paths.h" 11 #include "base/base_paths.h"
12 #include "base/bind.h" 12 #include "base/bind.h"
13 #include "base/callback.h" 13 #include "base/callback.h"
14 #include "base/command_line.h"
15 #include "base/compiler_specific.h" 14 #include "base/compiler_specific.h"
16 #include "base/file_util.h" 15 #include "base/file_util.h"
17 #include "base/files/file_enumerator.h" 16 #include "base/files/file_enumerator.h"
18 #include "base/files/file_path.h" 17 #include "base/files/file_path.h"
19 #include "base/json/json_file_value_serializer.h" 18 #include "base/json/json_file_value_serializer.h"
20 #include "base/logging.h" 19 #include "base/logging.h"
21 #include "base/path_service.h" 20 #include "base/path_service.h"
22 #include "base/strings/string_util.h" 21 #include "base/strings/string_util.h"
23 #include "base/values.h" 22 #include "base/values.h"
24 #include "base/version.h" 23 #include "base/version.h"
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 << " vs " << OmahaQueryParams::GetNaclArch() << ")"; 195 << " vs " << OmahaQueryParams::GetNaclArch() << ")";
197 return false; 196 return false;
198 } 197 }
199 198
200 *version_out = version; 199 *version_out = version;
201 return true; 200 return true;
202 } 201 }
203 202
204 } // namespace 203 } // namespace
205 204
206 PnaclComponentInstaller::PnaclComponentInstaller() 205 PnaclComponentInstaller::PnaclComponentInstaller() : cus_(NULL) {
207 : updates_disabled_(false), cus_(NULL) {
208 } 206 }
209 207
210 PnaclComponentInstaller::~PnaclComponentInstaller() { 208 PnaclComponentInstaller::~PnaclComponentInstaller() {
211 } 209 }
212 210
213 void PnaclComponentInstaller::OnUpdateError(int error) { 211 void PnaclComponentInstaller::OnUpdateError(int error) {
214 NOTREACHED() << "Pnacl update error: " << error; 212 NOTREACHED() << "Pnacl update error: " << error;
215 } 213 }
216 214
217 // Pnacl components have the version encoded in the path itself: 215 // Pnacl components have the version encoded in the path itself:
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 &manifest_version) || 336 &manifest_version) ||
339 !current_version.Equals(manifest_version)) { 337 !current_version.Equals(manifest_version)) {
340 current_version = Version(kNullVersion); 338 current_version = Version(kNullVersion);
341 } else { 339 } else {
342 OverrideDirPnaclComponent(path); 340 OverrideDirPnaclComponent(path);
343 base::ReadFileToString(path.AppendASCII("manifest.fingerprint"), 341 base::ReadFileToString(path.AppendASCII("manifest.fingerprint"),
344 &current_fingerprint); 342 &current_fingerprint);
345 } 343 }
346 } 344 }
347 345
348 // If updates are disabled, only discover the current version
349 // and OverrideDirPnaclComponent. That way, developers can use
350 // a pinned version. Do not actually finish registration with
351 // the component update service.
352 if (pci->updates_disabled())
353 return;
354
355 BrowserThread::PostTask(BrowserThread::UI, 346 BrowserThread::PostTask(BrowserThread::UI,
356 FROM_HERE, 347 FROM_HERE,
357 base::Bind(&FinishPnaclUpdateRegistration, 348 base::Bind(&FinishPnaclUpdateRegistration,
358 current_version, 349 current_version,
359 current_fingerprint, 350 current_fingerprint,
360 pci)); 351 pci));
361 352
362 // Remove older versions of PNaCl. 353 // Remove older versions of PNaCl.
363 for (std::vector<base::FilePath>::iterator iter = older_dirs.begin(); 354 for (std::vector<base::FilePath>::iterator iter = older_dirs.begin();
364 iter != older_dirs.end(); 355 iter != older_dirs.end();
365 ++iter) { 356 ++iter) {
366 base::DeleteFile(*iter, true); 357 base::DeleteFile(*iter, true);
367 } 358 }
368 } 359 }
369 360
370 } // namespace 361 } // namespace
371 362
372 void PnaclComponentInstaller::RegisterPnaclComponent( 363 void PnaclComponentInstaller::RegisterPnaclComponent(
373 ComponentUpdateService* cus, 364 ComponentUpdateService* cus) {
374 const CommandLine& command_line) {
375 // Register PNaCl by default (can be disabled).
376 updates_disabled_ = command_line.HasSwitch(switches::kDisablePnaclInstall);
377 cus_ = cus; 365 cus_ = cus;
378 BrowserThread::PostTask(BrowserThread::FILE, 366 BrowserThread::PostTask(BrowserThread::FILE,
379 FROM_HERE, 367 FROM_HERE,
380 base::Bind(&StartPnaclUpdateRegistration, this)); 368 base::Bind(&StartPnaclUpdateRegistration, this));
381 } 369 }
382 370
383 } // namespace component_updater 371 } // namespace component_updater
384 372
385 namespace pnacl { 373 namespace pnacl {
386 374
387 bool NeedsOnDemandUpdate() { 375 bool NeedsOnDemandUpdate() {
388 return base::subtle::NoBarrier_Load( 376 return base::subtle::NoBarrier_Load(
389 &component_updater::needs_on_demand_update) != 0; 377 &component_updater::needs_on_demand_update) != 0;
390 } 378 }
391 379
392 } // namespace pnacl 380 } // namespace pnacl
OLDNEW
« no previous file with comments | « chrome/browser/component_updater/pnacl/pnacl_component_installer.h ('k') | components/nacl/common/nacl_switches.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698