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

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

Issue 18286004: Move PathExists to base namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 "base/base_paths.h" 7 #include "base/base_paths.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 return NULL; 115 return NULL;
116 if (!root->IsType(base::Value::TYPE_DICTIONARY)) 116 if (!root->IsType(base::Value::TYPE_DICTIONARY))
117 return NULL; 117 return NULL;
118 return static_cast<base::DictionaryValue*>(root.release()); 118 return static_cast<base::DictionaryValue*>(root.release());
119 } 119 }
120 120
121 // Read the PNaCl specific manifest. 121 // Read the PNaCl specific manifest.
122 base::DictionaryValue* ReadPnaclManifest(const base::FilePath& unpack_path) { 122 base::DictionaryValue* ReadPnaclManifest(const base::FilePath& unpack_path) {
123 base::FilePath manifest_path = GetPlatformDir(unpack_path).AppendASCII( 123 base::FilePath manifest_path = GetPlatformDir(unpack_path).AppendASCII(
124 "pnacl_public_pnacl_json"); 124 "pnacl_public_pnacl_json");
125 if (!file_util::PathExists(manifest_path)) 125 if (!base::PathExists(manifest_path))
126 return NULL; 126 return NULL;
127 return ReadJSONManifest(manifest_path); 127 return ReadJSONManifest(manifest_path);
128 } 128 }
129 129
130 // Read the component's manifest.json. 130 // Read the component's manifest.json.
131 base::DictionaryValue* ReadComponentManifest( 131 base::DictionaryValue* ReadComponentManifest(
132 const base::FilePath& unpack_path) { 132 const base::FilePath& unpack_path) {
133 base::FilePath manifest_path = unpack_path.Append( 133 base::FilePath manifest_path = unpack_path.Append(
134 FILE_PATH_LITERAL("manifest.json")); 134 FILE_PATH_LITERAL("manifest.json"));
135 if (!file_util::PathExists(manifest_path)) 135 if (!base::PathExists(manifest_path))
136 return NULL; 136 return NULL;
137 return ReadJSONManifest(manifest_path); 137 return ReadJSONManifest(manifest_path);
138 } 138 }
139 139
140 } // namespace 140 } // namespace
141 141
142 // Check that the component's manifest is for PNaCl, and check the 142 // Check that the component's manifest is for PNaCl, and check the
143 // PNaCl manifest indicates this is the correct arch-specific package. 143 // PNaCl manifest indicates this is the correct arch-specific package.
144 bool CheckPnaclComponentManifest(const base::DictionaryValue& manifest, 144 bool CheckPnaclComponentManifest(const base::DictionaryValue& manifest,
145 const base::DictionaryValue& pnacl_manifest, 145 const base::DictionaryValue& pnacl_manifest,
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 258
259 // Don't install if the current version is actually newer. 259 // Don't install if the current version is actually newer.
260 if (current_version().CompareTo(version) > 0) { 260 if (current_version().CompareTo(version) > 0) {
261 NotifyInstallError(); 261 NotifyInstallError();
262 return false; 262 return false;
263 } 263 }
264 264
265 // Passed the basic tests. Time to install it. 265 // Passed the basic tests. Time to install it.
266 base::FilePath path = GetPnaclBaseDirectory().AppendASCII( 266 base::FilePath path = GetPnaclBaseDirectory().AppendASCII(
267 version.GetString()); 267 version.GetString());
268 if (file_util::PathExists(path)) { 268 if (base::PathExists(path)) {
269 LOG(WARNING) << "Target path already exists, not installing."; 269 LOG(WARNING) << "Target path already exists, not installing.";
270 NotifyInstallError(); 270 NotifyInstallError();
271 return false; 271 return false;
272 } 272 }
273 if (!base::Move(unpack_path, path)) { 273 if (!base::Move(unpack_path, path)) {
274 LOG(WARNING) << "Move failed, not installing."; 274 LOG(WARNING) << "Move failed, not installing.";
275 NotifyInstallError(); 275 NotifyInstallError();
276 return false; 276 return false;
277 } 277 }
278 278
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 && status != ComponentUpdateService::kReplaced) { 365 && status != ComponentUpdateService::kReplaced) {
366 NOTREACHED() << "Pnacl component registration failed."; 366 NOTREACHED() << "Pnacl component registration failed.";
367 } 367 }
368 } 368 }
369 369
370 // Check if there is an existing version on disk first to know when 370 // Check if there is an existing version on disk first to know when
371 // a hosted version is actually newer. 371 // a hosted version is actually newer.
372 void StartPnaclUpdateRegistration(PnaclComponentInstaller* pci) { 372 void StartPnaclUpdateRegistration(PnaclComponentInstaller* pci) {
373 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 373 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
374 base::FilePath path = pci->GetPnaclBaseDirectory(); 374 base::FilePath path = pci->GetPnaclBaseDirectory();
375 if (!file_util::PathExists(path)) { 375 if (!base::PathExists(path)) {
376 if (!file_util::CreateDirectory(path)) { 376 if (!file_util::CreateDirectory(path)) {
377 NOTREACHED() << "Could not create base Pnacl directory."; 377 NOTREACHED() << "Could not create base Pnacl directory.";
378 return; 378 return;
379 } 379 }
380 } 380 }
381 381
382 Version version(kNullVersion); 382 Version version(kNullVersion);
383 std::vector<base::FilePath> older_dirs; 383 std::vector<base::FilePath> older_dirs;
384 if (GetLatestPnaclDirectory(pci, &path, &version, &older_dirs)) { 384 if (GetLatestPnaclDirectory(pci, &path, &version, &older_dirs)) {
385 scoped_ptr<base::DictionaryValue> manifest( 385 scoped_ptr<base::DictionaryValue> manifest(
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 pnacl_component.installer = pci; 476 pnacl_component.installer = pci;
477 SetPnaclHash(&pnacl_component); 477 SetPnaclHash(&pnacl_component);
478 ComponentUpdateService::Status status = cus->CheckForUpdateSoon( 478 ComponentUpdateService::Status status = cus->CheckForUpdateSoon(
479 pnacl_component); 479 pnacl_component);
480 if (status != ComponentUpdateService::kOk) { 480 if (status != ComponentUpdateService::kOk) {
481 installed.Run(false); 481 installed.Run(false);
482 return; 482 return;
483 } 483 }
484 pci->AddInstallCallback(installed); 484 pci->AddInstallCallback(installed);
485 } 485 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698