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/browser/extensions/extension_creator.h" | 5 #include "chrome/browser/extensions/extension_creator.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 base::FilePath absolute_extension_dir = | 50 base::FilePath absolute_extension_dir = |
51 base::MakeAbsoluteFilePath(extension_dir); | 51 base::MakeAbsoluteFilePath(extension_dir); |
52 if (absolute_extension_dir.empty()) { | 52 if (absolute_extension_dir.empty()) { |
53 error_message_ = | 53 error_message_ = |
54 l10n_util::GetStringUTF8(IDS_EXTENSION_CANT_GET_ABSOLUTE_PATH); | 54 l10n_util::GetStringUTF8(IDS_EXTENSION_CANT_GET_ABSOLUTE_PATH); |
55 return false; | 55 return false; |
56 } | 56 } |
57 | 57 |
58 // Validate input |private_key| (if provided). | 58 // Validate input |private_key| (if provided). |
59 if (!private_key_path.value().empty() && | 59 if (!private_key_path.value().empty() && |
60 !file_util::PathExists(private_key_path)) { | 60 !base::PathExists(private_key_path)) { |
61 error_message_ = | 61 error_message_ = |
62 l10n_util::GetStringUTF8(IDS_EXTENSION_PRIVATE_KEY_INVALID_PATH); | 62 l10n_util::GetStringUTF8(IDS_EXTENSION_PRIVATE_KEY_INVALID_PATH); |
63 return false; | 63 return false; |
64 } | 64 } |
65 | 65 |
66 // If an |output_private_key| path is given, make sure it doesn't over-write | 66 // If an |output_private_key| path is given, make sure it doesn't over-write |
67 // an existing private key. | 67 // an existing private key. |
68 if (private_key_path.value().empty() && | 68 if (private_key_path.value().empty() && |
69 !private_key_output_path.value().empty() && | 69 !private_key_output_path.value().empty() && |
70 file_util::PathExists(private_key_output_path)) { | 70 base::PathExists(private_key_output_path)) { |
71 error_message_ = | 71 error_message_ = |
72 l10n_util::GetStringUTF8(IDS_EXTENSION_PRIVATE_KEY_EXISTS); | 72 l10n_util::GetStringUTF8(IDS_EXTENSION_PRIVATE_KEY_EXISTS); |
73 return false; | 73 return false; |
74 } | 74 } |
75 | 75 |
76 // Check whether crx file already exists. Should be last check, as this is | 76 // Check whether crx file already exists. Should be last check, as this is |
77 // a warning only. | 77 // a warning only. |
78 if (!(run_flags & kOverwriteCRX) && file_util::PathExists(crx_path)) { | 78 if (!(run_flags & kOverwriteCRX) && base::PathExists(crx_path)) { |
79 error_message_ = l10n_util::GetStringUTF8(IDS_EXTENSION_CRX_EXISTS); | 79 error_message_ = l10n_util::GetStringUTF8(IDS_EXTENSION_CRX_EXISTS); |
80 error_type_ = kCRXExists; | 80 error_type_ = kCRXExists; |
81 | 81 |
82 return false; | 82 return false; |
83 } | 83 } |
84 | 84 |
85 return true; | 85 return true; |
86 } | 86 } |
87 | 87 |
88 bool ExtensionCreator::ValidateManifest(const base::FilePath& extension_dir, | 88 bool ExtensionCreator::ValidateManifest(const base::FilePath& extension_dir, |
(...skipping 24 matching lines...) Expand all Loading... |
113 extension_dir, | 113 extension_dir, |
114 extension_id, | 114 extension_id, |
115 Manifest::INTERNAL, | 115 Manifest::INTERNAL, |
116 create_flags, | 116 create_flags, |
117 &error_message_)); | 117 &error_message_)); |
118 return !!extension.get(); | 118 return !!extension.get(); |
119 } | 119 } |
120 | 120 |
121 crypto::RSAPrivateKey* ExtensionCreator::ReadInputKey(const base::FilePath& | 121 crypto::RSAPrivateKey* ExtensionCreator::ReadInputKey(const base::FilePath& |
122 private_key_path) { | 122 private_key_path) { |
123 if (!file_util::PathExists(private_key_path)) { | 123 if (!base::PathExists(private_key_path)) { |
124 error_message_ = | 124 error_message_ = |
125 l10n_util::GetStringUTF8(IDS_EXTENSION_PRIVATE_KEY_NO_EXISTS); | 125 l10n_util::GetStringUTF8(IDS_EXTENSION_PRIVATE_KEY_NO_EXISTS); |
126 return NULL; | 126 return NULL; |
127 } | 127 } |
128 | 128 |
129 std::string private_key_contents; | 129 std::string private_key_contents; |
130 if (!file_util::ReadFileToString(private_key_path, | 130 if (!file_util::ReadFileToString(private_key_path, |
131 &private_key_contents)) { | 131 &private_key_contents)) { |
132 error_message_ = | 132 error_message_ = |
133 l10n_util::GetStringUTF8(IDS_EXTENSION_PRIVATE_KEY_FAILED_TO_READ); | 133 l10n_util::GetStringUTF8(IDS_EXTENSION_PRIVATE_KEY_FAILED_TO_READ); |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 zip_handle.Close(); | 229 zip_handle.Close(); |
230 | 230 |
231 signature_creator->Final(signature); | 231 signature_creator->Final(signature); |
232 return true; | 232 return true; |
233 } | 233 } |
234 | 234 |
235 bool ExtensionCreator::WriteCRX(const base::FilePath& zip_path, | 235 bool ExtensionCreator::WriteCRX(const base::FilePath& zip_path, |
236 crypto::RSAPrivateKey* private_key, | 236 crypto::RSAPrivateKey* private_key, |
237 const std::vector<uint8>& signature, | 237 const std::vector<uint8>& signature, |
238 const base::FilePath& crx_path) { | 238 const base::FilePath& crx_path) { |
239 if (file_util::PathExists(crx_path)) | 239 if (base::PathExists(crx_path)) |
240 base::Delete(crx_path, false); | 240 base::Delete(crx_path, false); |
241 ScopedStdioHandle crx_handle(file_util::OpenFile(crx_path, "wb")); | 241 ScopedStdioHandle crx_handle(file_util::OpenFile(crx_path, "wb")); |
242 if (!crx_handle.get()) { | 242 if (!crx_handle.get()) { |
243 error_message_ = l10n_util::GetStringUTF8(IDS_EXTENSION_SHARING_VIOLATION); | 243 error_message_ = l10n_util::GetStringUTF8(IDS_EXTENSION_SHARING_VIOLATION); |
244 return false; | 244 return false; |
245 } | 245 } |
246 | 246 |
247 std::vector<uint8> public_key; | 247 std::vector<uint8> public_key; |
248 CHECK(private_key->ExportPublicKey(&public_key)); | 248 CHECK(private_key->ExportPublicKey(&public_key)); |
249 | 249 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 SignZip(zip_path, key_pair.get(), &signature) && | 320 SignZip(zip_path, key_pair.get(), &signature) && |
321 WriteCRX(zip_path, key_pair.get(), signature, crx_path)) { | 321 WriteCRX(zip_path, key_pair.get(), signature, crx_path)) { |
322 result = true; | 322 result = true; |
323 } | 323 } |
324 | 324 |
325 base::Delete(zip_path, false); | 325 base::Delete(zip_path, false); |
326 return result; | 326 return result; |
327 } | 327 } |
328 | 328 |
329 } // namespace extensions | 329 } // namespace extensions |
OLD | NEW |