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.h" | 5 #include "chrome/common/extensions/extension.h" |
6 | 6 |
7 #include <ostream> | 7 #include <ostream> |
8 | 8 |
9 #include "base/base64.h" | 9 #include "base/base64.h" |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 20 matching lines...) Expand all Loading... | |
31 #include "chrome/common/extensions/extension_action.h" | 31 #include "chrome/common/extensions/extension_action.h" |
32 #include "chrome/common/extensions/extension_error_utils.h" | 32 #include "chrome/common/extensions/extension_error_utils.h" |
33 #include "chrome/common/extensions/extension_manifest_constants.h" | 33 #include "chrome/common/extensions/extension_manifest_constants.h" |
34 #include "chrome/common/extensions/extension_resource.h" | 34 #include "chrome/common/extensions/extension_resource.h" |
35 #include "chrome/common/extensions/extension_switch_utils.h" | 35 #include "chrome/common/extensions/extension_switch_utils.h" |
36 #include "chrome/common/extensions/features/feature.h" | 36 #include "chrome/common/extensions/features/feature.h" |
37 #include "chrome/common/extensions/features/simple_feature_provider.h" | 37 #include "chrome/common/extensions/features/simple_feature_provider.h" |
38 #include "chrome/common/extensions/file_browser_handler.h" | 38 #include "chrome/common/extensions/file_browser_handler.h" |
39 #include "chrome/common/extensions/manifest.h" | 39 #include "chrome/common/extensions/manifest.h" |
40 #include "chrome/common/extensions/permissions/permissions_info.h" | 40 #include "chrome/common/extensions/permissions/permissions_info.h" |
41 #include "chrome/common/extensions/requirements_provider.h" | |
41 #include "chrome/common/extensions/url_pattern_set.h" | 42 #include "chrome/common/extensions/url_pattern_set.h" |
42 #include "chrome/common/extensions/user_script.h" | 43 #include "chrome/common/extensions/user_script.h" |
43 #include "chrome/common/url_constants.h" | 44 #include "chrome/common/url_constants.h" |
44 #include "crypto/sha2.h" | 45 #include "crypto/sha2.h" |
45 #include "googleurl/src/url_util.h" | 46 #include "googleurl/src/url_util.h" |
46 #include "grit/chromium_strings.h" | 47 #include "grit/chromium_strings.h" |
47 #include "grit/generated_resources.h" | 48 #include "grit/generated_resources.h" |
48 #include "grit/theme_resources_standard.h" | 49 #include "grit/theme_resources_standard.h" |
49 #include "net/base/registry_controlled_domain.h" | 50 #include "net/base/registry_controlled_domain.h" |
50 #include "third_party/skia/include/core/SkBitmap.h" | 51 #include "third_party/skia/include/core/SkBitmap.h" |
(...skipping 1618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1669 } else { | 1670 } else { |
1670 sandboxed_pages_content_security_policy_ = | 1671 sandboxed_pages_content_security_policy_ = |
1671 kDefaultSandboxedPageContentSecurityPolicy; | 1672 kDefaultSandboxedPageContentSecurityPolicy; |
1672 CHECK(ContentSecurityPolicyIsSandboxed( | 1673 CHECK(ContentSecurityPolicyIsSandboxed( |
1673 sandboxed_pages_content_security_policy_, GetType())); | 1674 sandboxed_pages_content_security_policy_, GetType())); |
1674 } | 1675 } |
1675 | 1676 |
1676 return true; | 1677 return true; |
1677 } | 1678 } |
1678 | 1679 |
1679 // These are not actually persisted (they're only used by the store), but | |
1680 // still validated. | |
1681 bool Extension::CheckRequirements(string16* error) { | 1680 bool Extension::CheckRequirements(string16* error) { |
1682 if (!manifest_->HasKey(keys::kRequirements)) | 1681 if (!manifest_->HasKey(keys::kRequirements)) { |
Aaron Boodman
2012/07/16 21:16:12
No need for braces here.
| |
1683 return true; | 1682 return true; |
1683 } | |
1684 | |
1684 DictionaryValue* requirements_value = NULL; | 1685 DictionaryValue* requirements_value = NULL; |
1685 if (!manifest_->GetDictionary(keys::kRequirements, &requirements_value)) { | 1686 if (!manifest_->GetDictionary(keys::kRequirements, &requirements_value)) { |
1686 *error = ASCIIToUTF16(errors::kInvalidRequirements); | 1687 *error = ASCIIToUTF16(errors::kInvalidRequirements); |
1687 return false; | 1688 return false; |
1688 } | 1689 } |
1689 | 1690 |
1690 for (DictionaryValue::key_iterator it = requirements_value->begin_keys(); | 1691 for (DictionaryValue::key_iterator it = requirements_value->begin_keys(); |
1691 it != requirements_value->end_keys(); ++it) { | 1692 it != requirements_value->end_keys(); ++it) { |
1692 DictionaryValue* requirement_value; | 1693 DictionaryValue* requirement_value; |
1693 if (!requirements_value->GetDictionaryWithoutPathExpansion( | 1694 if (!requirements_value->GetDictionaryWithoutPathExpansion( |
1694 *it, &requirement_value)) { | 1695 *it, &requirement_value)) { |
1695 *error = ExtensionErrorUtils::FormatErrorMessageUTF16( | 1696 *error = ExtensionErrorUtils::FormatErrorMessageUTF16( |
1696 errors::kInvalidRequirement, *it); | 1697 errors::kInvalidRequirement, *it); |
1697 return false; | 1698 return false; |
1698 } | 1699 } |
1699 } | 1700 } |
1701 | |
1700 return true; | 1702 return true; |
1701 } | 1703 } |
1702 | 1704 |
1703 bool Extension::LoadDefaultLocale(string16* error) { | 1705 bool Extension::LoadDefaultLocale(string16* error) { |
1704 if (!manifest_->HasKey(keys::kDefaultLocale)) | 1706 if (!manifest_->HasKey(keys::kDefaultLocale)) |
1705 return true; | 1707 return true; |
1706 if (!manifest_->GetString(keys::kDefaultLocale, &default_locale_) || | 1708 if (!manifest_->GetString(keys::kDefaultLocale, &default_locale_) || |
1707 !l10n_util::IsValidLocaleSyntax(default_locale_)) { | 1709 !l10n_util::IsValidLocaleSyntax(default_locale_)) { |
1708 *error = ASCIIToUTF16(errors::kInvalidDefaultLocale); | 1710 *error = ASCIIToUTF16(errors::kInvalidDefaultLocale); |
1709 return false; | 1711 return false; |
(...skipping 2168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3878 | 3880 |
3879 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo( | 3881 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo( |
3880 const Extension* extension, | 3882 const Extension* extension, |
3881 const PermissionSet* permissions, | 3883 const PermissionSet* permissions, |
3882 Reason reason) | 3884 Reason reason) |
3883 : reason(reason), | 3885 : reason(reason), |
3884 extension(extension), | 3886 extension(extension), |
3885 permissions(permissions) {} | 3887 permissions(permissions) {} |
3886 | 3888 |
3887 } // namespace extensions | 3889 } // namespace extensions |
OLD | NEW |