| OLD | NEW |
| 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/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 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 | 145 |
| 146 scoped_refptr<Extension> extension(Extension::Create(extension_path, | 146 scoped_refptr<Extension> extension(Extension::Create(extension_path, |
| 147 location, | 147 location, |
| 148 *manifest, | 148 *manifest, |
| 149 flags, | 149 flags, |
| 150 extension_id, | 150 extension_id, |
| 151 error)); | 151 error)); |
| 152 if (!extension.get()) | 152 if (!extension.get()) |
| 153 return NULL; | 153 return NULL; |
| 154 | 154 |
| 155 std::vector<std::string> warnings; | 155 Extension::InstallWarningVector warnings; |
| 156 if (!ValidateExtension(extension.get(), error, &warnings)) | 156 if (!ValidateExtension(extension.get(), error, &warnings)) |
| 157 return NULL; | 157 return NULL; |
| 158 extension->AddInstallWarnings(warnings); | 158 extension->AddInstallWarnings(warnings); |
| 159 | 159 |
| 160 return extension; | 160 return extension; |
| 161 } | 161 } |
| 162 | 162 |
| 163 DictionaryValue* LoadManifest(const FilePath& extension_path, | 163 DictionaryValue* LoadManifest(const FilePath& extension_path, |
| 164 std::string* error) { | 164 std::string* error) { |
| 165 FilePath manifest_path = | 165 FilePath manifest_path = |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 223 // that aren't available in the utility process where this check | 223 // that aren't available in the utility process where this check |
| 224 // needs to run. | 224 // needs to run. |
| 225 | 225 |
| 226 result.push_back(current); | 226 result.push_back(current); |
| 227 } | 227 } |
| 228 return result; | 228 return result; |
| 229 } | 229 } |
| 230 | 230 |
| 231 bool ValidateExtension(const Extension* extension, | 231 bool ValidateExtension(const Extension* extension, |
| 232 std::string* error, | 232 std::string* error, |
| 233 std::vector<std::string>* warnings) { | 233 Extension::InstallWarningVector* warnings) { |
| 234 // Validate icons exist. | 234 // Validate icons exist. |
| 235 for (ExtensionIconSet::IconMap::const_iterator iter = | 235 for (ExtensionIconSet::IconMap::const_iterator iter = |
| 236 extension->icons().map().begin(); | 236 extension->icons().map().begin(); |
| 237 iter != extension->icons().map().end(); | 237 iter != extension->icons().map().end(); |
| 238 ++iter) { | 238 ++iter) { |
| 239 const FilePath path = extension->GetResource(iter->second).GetFilePath(); | 239 const FilePath path = extension->GetResource(iter->second).GetFilePath(); |
| 240 if (!file_util::PathExists(path)) { | 240 if (!file_util::PathExists(path)) { |
| 241 *error = | 241 *error = |
| 242 l10n_util::GetStringFUTF8(IDS_EXTENSION_LOAD_ICON_FAILED, | 242 l10n_util::GetStringFUTF8(IDS_EXTENSION_LOAD_ICON_FAILED, |
| 243 UTF8ToUTF16(iter->second)); | 243 UTF8ToUTF16(iter->second)); |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 411 if (!private_keys.empty()) { | 411 if (!private_keys.empty()) { |
| 412 // Only print one of the private keys because l10n_util doesn't have a way | 412 // Only print one of the private keys because l10n_util doesn't have a way |
| 413 // to translate a list of strings. | 413 // to translate a list of strings. |
| 414 *error = l10n_util::GetStringFUTF8( | 414 *error = l10n_util::GetStringFUTF8( |
| 415 IDS_EXTENSION_CONTAINS_PRIVATE_KEY, | 415 IDS_EXTENSION_CONTAINS_PRIVATE_KEY, |
| 416 private_keys.front().LossyDisplayName()); | 416 private_keys.front().LossyDisplayName()); |
| 417 return false; | 417 return false; |
| 418 } | 418 } |
| 419 } else { | 419 } else { |
| 420 for (size_t i = 0; i < private_keys.size(); ++i) { | 420 for (size_t i = 0; i < private_keys.size(); ++i) { |
| 421 warnings->push_back(l10n_util::GetStringFUTF8( | 421 warnings->push_back(Extension::InstallWarning( |
| 422 IDS_EXTENSION_CONTAINS_PRIVATE_KEY, | 422 Extension::InstallWarning::FORMAT_TEXT, |
| 423 private_keys[i].LossyDisplayName())); | 423 l10n_util::GetStringFUTF8( |
| 424 IDS_EXTENSION_CONTAINS_PRIVATE_KEY, |
| 425 private_keys[i].LossyDisplayName()))); |
| 424 } | 426 } |
| 425 // Only warn; don't block loading the extension. | 427 // Only warn; don't block loading the extension. |
| 426 } | 428 } |
| 427 return true; | 429 return true; |
| 428 } | 430 } |
| 429 | 431 |
| 430 void GarbageCollectExtensions( | 432 void GarbageCollectExtensions( |
| 431 const FilePath& install_directory, | 433 const FilePath& install_directory, |
| 432 const std::map<std::string, FilePath>& extension_paths) { | 434 const std::map<std::string, FilePath>& extension_paths) { |
| 433 // Nothing to clean up if it doesn't exist. | 435 // Nothing to clean up if it doesn't exist. |
| (...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 780 return temp_path; | 782 return temp_path; |
| 781 | 783 |
| 782 return FilePath(); | 784 return FilePath(); |
| 783 } | 785 } |
| 784 | 786 |
| 785 void DeleteFile(const FilePath& path, bool recursive) { | 787 void DeleteFile(const FilePath& path, bool recursive) { |
| 786 file_util::Delete(path, recursive); | 788 file_util::Delete(path, recursive); |
| 787 } | 789 } |
| 788 | 790 |
| 789 } // namespace extension_file_util | 791 } // namespace extension_file_util |
| OLD | NEW |