OLD | NEW |
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/api/plugins/plugins_handler.h" | 5 #include "chrome/common/extensions/api/plugins/plugins_handler.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
| 9 #include <memory> |
| 10 |
9 #include "base/files/file_util.h" | 11 #include "base/files/file_util.h" |
10 #include "base/strings/string_number_conversions.h" | 12 #include "base/strings/string_number_conversions.h" |
11 #include "base/strings/utf_string_conversions.h" | 13 #include "base/strings/utf_string_conversions.h" |
12 #include "base/values.h" | 14 #include "base/values.h" |
13 #include "build/build_config.h" | 15 #include "build/build_config.h" |
14 #include "chrome/grit/generated_resources.h" | 16 #include "chrome/grit/generated_resources.h" |
15 #include "extensions/common/error_utils.h" | 17 #include "extensions/common/error_utils.h" |
16 #include "extensions/common/manifest.h" | 18 #include "extensions/common/manifest.h" |
17 #include "extensions/common/manifest_constants.h" | 19 #include "extensions/common/manifest_constants.h" |
18 #include "extensions/common/manifest_handlers/permissions_parser.h" | 20 #include "extensions/common/manifest_handlers/permissions_parser.h" |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 return SingleKey(keys::kPlugins); | 67 return SingleKey(keys::kPlugins); |
66 } | 68 } |
67 | 69 |
68 bool PluginsHandler::Parse(Extension* extension, base::string16* error) { | 70 bool PluginsHandler::Parse(Extension* extension, base::string16* error) { |
69 const base::ListValue* list_value = NULL; | 71 const base::ListValue* list_value = NULL; |
70 if (!extension->manifest()->GetList(keys::kPlugins, &list_value)) { | 72 if (!extension->manifest()->GetList(keys::kPlugins, &list_value)) { |
71 *error = base::ASCIIToUTF16(manifest_errors::kInvalidPlugins); | 73 *error = base::ASCIIToUTF16(manifest_errors::kInvalidPlugins); |
72 return false; | 74 return false; |
73 } | 75 } |
74 | 76 |
75 scoped_ptr<PluginManifestData> plugins_data(new PluginManifestData); | 77 std::unique_ptr<PluginManifestData> plugins_data(new PluginManifestData); |
76 | 78 |
77 for (size_t i = 0; i < list_value->GetSize(); ++i) { | 79 for (size_t i = 0; i < list_value->GetSize(); ++i) { |
78 const base::DictionaryValue* plugin_value = NULL; | 80 const base::DictionaryValue* plugin_value = NULL; |
79 if (!list_value->GetDictionary(i, &plugin_value)) { | 81 if (!list_value->GetDictionary(i, &plugin_value)) { |
80 *error = base::ASCIIToUTF16(manifest_errors::kInvalidPlugins); | 82 *error = base::ASCIIToUTF16(manifest_errors::kInvalidPlugins); |
81 return false; | 83 return false; |
82 } | 84 } |
83 // Get plugins[i].path. | 85 // Get plugins[i].path. |
84 std::string path_str; | 86 std::string path_str; |
85 if (!plugin_value->GetString(keys::kPluginsPath, &path_str)) { | 87 if (!plugin_value->GetString(keys::kPluginsPath, &path_str)) { |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 IDS_EXTENSION_LOAD_PLUGIN_PATH_FAILED, | 136 IDS_EXTENSION_LOAD_PLUGIN_PATH_FAILED, |
135 plugin->path.LossyDisplayName()); | 137 plugin->path.LossyDisplayName()); |
136 return false; | 138 return false; |
137 } | 139 } |
138 } | 140 } |
139 } | 141 } |
140 return true; | 142 return true; |
141 } | 143 } |
142 | 144 |
143 } // namespace extensions | 145 } // namespace extensions |
OLD | NEW |