| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "app/l10n_util.h" | 10 #include "app/l10n_util.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 bool require_key, | 108 bool require_key, |
| 109 std::string* error) { | 109 std::string* error) { |
| 110 FilePath manifest_path = | 110 FilePath manifest_path = |
| 111 extension_path.Append(Extension::kManifestFilename); | 111 extension_path.Append(Extension::kManifestFilename); |
| 112 if (!file_util::PathExists(manifest_path)) { | 112 if (!file_util::PathExists(manifest_path)) { |
| 113 *error = extension_manifest_errors::kManifestUnreadable; | 113 *error = extension_manifest_errors::kManifestUnreadable; |
| 114 return NULL; | 114 return NULL; |
| 115 } | 115 } |
| 116 | 116 |
| 117 JSONFileValueSerializer serializer(manifest_path); | 117 JSONFileValueSerializer serializer(manifest_path); |
| 118 scoped_ptr<Value> root(serializer.Deserialize(error)); | 118 scoped_ptr<Value> root(serializer.Deserialize(NULL, error)); |
| 119 if (!root.get()) { | 119 if (!root.get()) { |
| 120 if (error->empty()) { | 120 if (error->empty()) { |
| 121 // If |error| is empty, than the file could not be read. | 121 // If |error| is empty, than the file could not be read. |
| 122 // It would be cleaner to have the JSON reader give a specific error | 122 // It would be cleaner to have the JSON reader give a specific error |
| 123 // in this case, but other code tests for a file error with | 123 // in this case, but other code tests for a file error with |
| 124 // error->empty(). For now, be consistent. | 124 // error->empty(). For now, be consistent. |
| 125 *error = extension_manifest_errors::kManifestUnreadable; | 125 *error = extension_manifest_errors::kManifestUnreadable; |
| 126 } else { | 126 } else { |
| 127 *error = StringPrintf("%s %s", | 127 *error = StringPrintf("%s %s", |
| 128 extension_manifest_errors::kManifestParseError, | 128 extension_manifest_errors::kManifestParseError, |
| (...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 UnescapeRule::SPACES | UnescapeRule::URL_SPECIAL_CHARS); | 509 UnescapeRule::SPACES | UnescapeRule::URL_SPECIAL_CHARS); |
| 510 | 510 |
| 511 #if defined(OS_POSIX) | 511 #if defined(OS_POSIX) |
| 512 return FilePath(file_path); | 512 return FilePath(file_path); |
| 513 #elif defined(OS_WIN) | 513 #elif defined(OS_WIN) |
| 514 return FilePath(UTF8ToWide(file_path)); | 514 return FilePath(UTF8ToWide(file_path)); |
| 515 #endif | 515 #endif |
| 516 } | 516 } |
| 517 | 517 |
| 518 } // namespace extension_file_util | 518 } // namespace extension_file_util |
| OLD | NEW |