Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4976)

Unified Diff: chrome/common/extensions/extension_manifests_unittest.cc

Issue 8598022: Restrict access to permissions based on extension types. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/common/extensions/extension.cc ('k') | chrome/common/extensions/extension_permission_set.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/extensions/extension_manifests_unittest.cc
diff --git a/chrome/common/extensions/extension_manifests_unittest.cc b/chrome/common/extensions/extension_manifests_unittest.cc
index 8b8720b7eb13b674f97dad2e5eeb5247cf5a0c91..adc696960409b88d769b7184081fe0e9b1bffee5 100644
--- a/chrome/common/extensions/extension_manifests_unittest.cc
+++ b/chrome/common/extensions/extension_manifests_unittest.cc
@@ -630,6 +630,7 @@ TEST_F(ExtensionManifestTest, HostedAppPermissions) {
ListValue* permissions = NULL;
ASSERT_TRUE(manifest->GetList("permissions", &permissions));
+ int platform_app = ExtensionAPIPermission::kTypePlatformApp;
ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
ExtensionAPIPermissionSet api_perms = info->GetAll();
for (ExtensionAPIPermissionSet::iterator i = api_perms.begin();
@@ -654,12 +655,12 @@ TEST_F(ExtensionManifestTest, HostedAppPermissions) {
EXPECT_TRUE(extension->GetActivePermissions()->HasAPIPermission(
permission->id()));
- } else if (permission->is_platform_app_only()) {
+ } else if (permission->type_restrictions() == platform_app) {
LoadAndExpectError(Manifest(manifest.get(), name),
errors::kPermissionNotAllowed,
Extension::INTERNAL,
Extension::STRICT_ERROR_CHECKS);
- } else if (!permission->is_hosted_app()) {
+ } else if (!permission->supports_hosted_apps()) {
// Most normal extension permissions also aren't available to hosted apps.
// For these, the error is only reported in strict mode for legacy
// reasons: crbug.com/101993.
@@ -975,11 +976,12 @@ TEST_F(ExtensionManifestTest, PlatformAppOnlyPermissions) {
ExtensionAPIPermissionSet perms = info->GetAll();
int count = 0;
+ int platform_app = ExtensionAPIPermission::kTypePlatformApp;
for (ExtensionAPIPermissionSet::iterator i = perms.begin();
i != perms.end(); ++i) {
count += private_perms.count(*i);
EXPECT_EQ(private_perms.count(*i) > 0,
- info->GetByID(*i)->is_platform_app_only());
+ info->GetByID(*i)->type_restrictions() == platform_app);
}
EXPECT_EQ(1, count);
@@ -994,7 +996,8 @@ TEST_F(ExtensionManifestTest, PlatformAppOnlyPermissions) {
// questions about his permissions.
scoped_refptr<Extension> extension(
LoadAndExpectSuccess("not_platform_app.json"));
- scoped_refptr<const ExtensionPermissionSet> permissions;
- permissions = extension->GetActivePermissions();
- EXPECT_FALSE(permissions->HasPlatformAppPermissions());
+ ExtensionAPIPermissionSet apis = extension->GetActivePermissions()->apis();
+ for (ExtensionAPIPermissionSet::const_iterator i = apis.begin();
+ i != apis.end(); ++i)
+ EXPECT_NE(platform_app, info->GetByID(*i)->type_restrictions());
}
« no previous file with comments | « chrome/common/extensions/extension.cc ('k') | chrome/common/extensions/extension_permission_set.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698