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

Side by Side Diff: chrome/common/extensions/extension_file_util.cc

Issue 18383003: Move DeleteAfterReboot and Move 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/common/extensions/extension_file_util.h" 5 #include "chrome/common/extensions/extension_file_util.h"
6 6
7 #include <map> 7 #include <map>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 // Get a temp directory on the same file system as the profile. 80 // Get a temp directory on the same file system as the profile.
81 base::FilePath install_temp_dir = GetInstallTempDir(extensions_dir); 81 base::FilePath install_temp_dir = GetInstallTempDir(extensions_dir);
82 base::ScopedTempDir extension_temp_dir; 82 base::ScopedTempDir extension_temp_dir;
83 if (install_temp_dir.empty() || 83 if (install_temp_dir.empty() ||
84 !extension_temp_dir.CreateUniqueTempDirUnderPath(install_temp_dir)) { 84 !extension_temp_dir.CreateUniqueTempDirUnderPath(install_temp_dir)) {
85 LOG(ERROR) << "Creating of temp dir under in the profile failed."; 85 LOG(ERROR) << "Creating of temp dir under in the profile failed.";
86 return base::FilePath(); 86 return base::FilePath();
87 } 87 }
88 base::FilePath crx_temp_source = 88 base::FilePath crx_temp_source =
89 extension_temp_dir.path().Append(unpacked_source_dir.BaseName()); 89 extension_temp_dir.path().Append(unpacked_source_dir.BaseName());
90 if (!file_util::Move(unpacked_source_dir, crx_temp_source)) { 90 if (!base::Move(unpacked_source_dir, crx_temp_source)) {
91 LOG(ERROR) << "Moving extension from : " << unpacked_source_dir.value() 91 LOG(ERROR) << "Moving extension from : " << unpacked_source_dir.value()
92 << " to : " << crx_temp_source.value() << " failed."; 92 << " to : " << crx_temp_source.value() << " failed.";
93 return base::FilePath(); 93 return base::FilePath();
94 } 94 }
95 95
96 // Try to find a free directory. There can be legitimate conflicts in the case 96 // Try to find a free directory. There can be legitimate conflicts in the case
97 // of overinstallation of the same version. 97 // of overinstallation of the same version.
98 const int kMaxAttempts = 100; 98 const int kMaxAttempts = 100;
99 for (int i = 0; i < kMaxAttempts; ++i) { 99 for (int i = 0; i < kMaxAttempts; ++i) {
100 base::FilePath candidate = extension_dir.AppendASCII( 100 base::FilePath candidate = extension_dir.AppendASCII(
101 base::StringPrintf("%s_%u", version.c_str(), i)); 101 base::StringPrintf("%s_%u", version.c_str(), i));
102 if (!file_util::PathExists(candidate)) { 102 if (!file_util::PathExists(candidate)) {
103 version_dir = candidate; 103 version_dir = candidate;
104 break; 104 break;
105 } 105 }
106 } 106 }
107 107
108 if (version_dir.empty()) { 108 if (version_dir.empty()) {
109 LOG(ERROR) << "Could not find a home for extension " << id << " with " 109 LOG(ERROR) << "Could not find a home for extension " << id << " with "
110 << "version " << version << "."; 110 << "version " << version << ".";
111 return base::FilePath(); 111 return base::FilePath();
112 } 112 }
113 113
114 if (!file_util::Move(crx_temp_source, version_dir)) { 114 if (!base::Move(crx_temp_source, version_dir)) {
115 LOG(ERROR) << "Installing extension from : " << crx_temp_source.value() 115 LOG(ERROR) << "Installing extension from : " << crx_temp_source.value()
116 << " into : " << version_dir.value() << " failed."; 116 << " into : " << version_dir.value() << " failed.";
117 return base::FilePath(); 117 return base::FilePath();
118 } 118 }
119 119
120 return version_dir; 120 return version_dir;
121 } 121 }
122 122
123 void UninstallExtension(const base::FilePath& extensions_dir, 123 void UninstallExtension(const base::FilePath& extensions_dir,
124 const std::string& id) { 124 const std::string& id) {
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 return base::FilePath(); 567 return base::FilePath();
568 } 568 }
569 return temp_path; 569 return temp_path;
570 } 570 }
571 571
572 void DeleteFile(const base::FilePath& path, bool recursive) { 572 void DeleteFile(const base::FilePath& path, bool recursive) {
573 base::Delete(path, recursive); 573 base::Delete(path, recursive);
574 } 574 }
575 575
576 } // namespace extension_file_util 576 } // namespace extension_file_util
OLDNEW
« no previous file with comments | « chrome/browser/storage_monitor/image_capture_device.mm ('k') | chrome/common/service_process_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698