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

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
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 9ff0c5e17c49a9bf9e721e43ec30befd51c96328..995d2a9e60da458a57271ffc4ec48c8645036eb5 100644
--- a/chrome/common/extensions/extension_manifests_unittest.cc
+++ b/chrome/common/extensions/extension_manifests_unittest.cc
@@ -629,6 +629,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();
@@ -653,12 +654,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.
@@ -974,11 +975,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);
@@ -993,7 +995,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());
}

Powered by Google App Engine
This is Rietveld 408576698