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/extension.h" | 5 #include "chrome/common/extensions/extension.h" |
6 | 6 |
7 #include "base/base64.h" | 7 #include "base/base64.h" |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 #include "chrome/common/chrome_switches.h" | 24 #include "chrome/common/chrome_switches.h" |
25 #include "chrome/common/chrome_version_info.h" | 25 #include "chrome/common/chrome_version_info.h" |
26 // TODO(rdevlin.cronin): Remove these once all references have been removed as | 26 // TODO(rdevlin.cronin): Remove these once all references have been removed as |
27 // part of crbug.com/159265. | 27 // part of crbug.com/159265. |
28 #include "chrome/common/extensions/api/plugins/plugins_handler.h" | 28 #include "chrome/common/extensions/api/plugins/plugins_handler.h" |
29 #include "chrome/common/extensions/background_info.h" | 29 #include "chrome/common/extensions/background_info.h" |
30 #include "chrome/common/extensions/extension_manifest_constants.h" | 30 #include "chrome/common/extensions/extension_manifest_constants.h" |
31 #include "chrome/common/extensions/incognito_handler.h" | 31 #include "chrome/common/extensions/incognito_handler.h" |
32 #include "chrome/common/extensions/manifest.h" | 32 #include "chrome/common/extensions/manifest.h" |
33 #include "chrome/common/extensions/manifest_handler.h" | 33 #include "chrome/common/extensions/manifest_handler.h" |
34 #include "chrome/common/extensions/manifest_handlers/kiosk_enabled_info.h" | |
35 #include "chrome/common/extensions/manifest_handlers/offline_enabled_info.h" | |
36 #include "chrome/common/extensions/manifest_url_handler.h" | 34 #include "chrome/common/extensions/manifest_url_handler.h" |
37 #include "chrome/common/extensions/permissions/api_permission_set.h" | 35 #include "chrome/common/extensions/permissions/api_permission_set.h" |
38 #include "chrome/common/extensions/permissions/permission_set.h" | 36 #include "chrome/common/extensions/permissions/permission_set.h" |
39 #include "chrome/common/extensions/permissions/permissions_data.h" | 37 #include "chrome/common/extensions/permissions/permissions_data.h" |
40 #include "chrome/common/extensions/permissions/permissions_info.h" | 38 #include "chrome/common/extensions/permissions/permissions_info.h" |
41 #include "chrome/common/extensions/user_script.h" | 39 #include "chrome/common/extensions/user_script.h" |
42 #include "chrome/common/url_constants.h" | 40 #include "chrome/common/url_constants.h" |
43 #include "extensions/common/constants.h" | 41 #include "extensions/common/constants.h" |
44 #include "extensions/common/error_utils.h" | 42 #include "extensions/common/error_utils.h" |
45 #include "extensions/common/id_util.h" | 43 #include "extensions/common/id_util.h" |
46 #include "extensions/common/url_pattern_set.h" | 44 #include "extensions/common/url_pattern_set.h" |
47 #include "googleurl/src/url_util.h" | 45 #include "googleurl/src/url_util.h" |
48 #include "grit/chromium_strings.h" | 46 #include "grit/chromium_strings.h" |
49 #include "grit/theme_resources.h" | 47 #include "grit/theme_resources.h" |
50 #include "third_party/skia/include/core/SkBitmap.h" | 48 #include "third_party/skia/include/core/SkBitmap.h" |
51 #include "ui/base/l10n/l10n_util.h" | 49 #include "ui/base/l10n/l10n_util.h" |
52 | 50 |
53 #if defined(OS_WIN) | 51 #if defined(OS_WIN) |
54 #include "grit/generated_resources.h" | 52 #include "grit/generated_resources.h" |
55 #endif | 53 #endif |
56 | 54 |
57 namespace keys = extension_manifest_keys; | 55 namespace keys = extension_manifest_keys; |
58 namespace values = extension_manifest_values; | 56 namespace values = extension_manifest_values; |
59 namespace errors = extension_manifest_errors; | 57 namespace errors = extension_manifest_errors; |
60 namespace info_keys = extension_info_keys; | |
61 | 58 |
62 namespace extensions { | 59 namespace extensions { |
63 | 60 |
64 namespace { | 61 namespace { |
65 | 62 |
66 const int kModernManifestVersion = 2; | 63 const int kModernManifestVersion = 2; |
67 const int kPEMOutputColumns = 65; | 64 const int kPEMOutputColumns = 65; |
68 | 65 |
69 // KEY MARKERS | 66 // KEY MARKERS |
70 const char kKeyBeginHeaderMarker[] = "-----BEGIN"; | 67 const char kKeyBeginHeaderMarker[] = "-----BEGIN"; |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 return false; | 222 return false; |
226 | 223 |
227 return true; | 224 return true; |
228 } | 225 } |
229 | 226 |
230 // static | 227 // static |
231 bool Extension::IsExtension(const base::FilePath& file_name) { | 228 bool Extension::IsExtension(const base::FilePath& file_name) { |
232 return file_name.MatchesExtension(chrome::kExtensionFileExtension); | 229 return file_name.MatchesExtension(chrome::kExtensionFileExtension); |
233 } | 230 } |
234 | 231 |
235 void Extension::GetBasicInfo(bool enabled, | |
236 DictionaryValue* info) const { | |
237 info->SetString(info_keys::kIdKey, id()); | |
238 info->SetString(info_keys::kNameKey, name()); | |
239 info->SetBoolean(info_keys::kEnabledKey, enabled); | |
240 info->SetBoolean(info_keys::kKioskEnabledKey, | |
241 KioskEnabledInfo::IsKioskEnabled(this)); | |
242 info->SetBoolean(info_keys::kOfflineEnabledKey, | |
243 OfflineEnabledInfo::IsOfflineEnabled(this)); | |
244 info->SetString(info_keys::kVersionKey, VersionString()); | |
245 info->SetString(info_keys::kDescriptionKey, description()); | |
246 info->SetString(info_keys::kOptionsUrlKey, | |
247 ManifestURL::GetOptionsPage(this).possibly_invalid_spec()); | |
248 info->SetString(info_keys::kHomepageUrlKey, | |
249 ManifestURL::GetHomepageURL(this).possibly_invalid_spec()); | |
250 info->SetString(info_keys::kDetailsUrlKey, | |
251 ManifestURL::GetDetailsURL(this).possibly_invalid_spec()); | |
252 info->SetBoolean(info_keys::kPackagedAppKey, is_platform_app()); | |
253 } | |
254 | |
255 Manifest::Type Extension::GetType() const { | 232 Manifest::Type Extension::GetType() const { |
256 return converted_from_user_script() ? | 233 return converted_from_user_script() ? |
257 Manifest::TYPE_USER_SCRIPT : manifest_->type(); | 234 Manifest::TYPE_USER_SCRIPT : manifest_->type(); |
258 } | 235 } |
259 | 236 |
260 // static | 237 // static |
261 GURL Extension::GetResourceURL(const GURL& extension_url, | 238 GURL Extension::GetResourceURL(const GURL& extension_url, |
262 const std::string& relative_path) { | 239 const std::string& relative_path) { |
263 DCHECK(extension_url.SchemeIs(extensions::kExtensionScheme)); | 240 DCHECK(extension_url.SchemeIs(extensions::kExtensionScheme)); |
264 DCHECK_EQ("/", extension_url.path()); | 241 DCHECK_EQ("/", extension_url.path()); |
(...skipping 914 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1179 | 1156 |
1180 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo( | 1157 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo( |
1181 const Extension* extension, | 1158 const Extension* extension, |
1182 const PermissionSet* permissions, | 1159 const PermissionSet* permissions, |
1183 Reason reason) | 1160 Reason reason) |
1184 : reason(reason), | 1161 : reason(reason), |
1185 extension(extension), | 1162 extension(extension), |
1186 permissions(permissions) {} | 1163 permissions(permissions) {} |
1187 | 1164 |
1188 } // namespace extensions | 1165 } // namespace extensions |
OLD | NEW |