| 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 0cadcb734c194709d37f7cb5a3b510f1b669f390..a7b2d9ad2444b81ec72fb08a0110064293e704dd 100644
|
| --- a/chrome/common/extensions/extension_manifests_unittest.cc
|
| +++ b/chrome/common/extensions/extension_manifests_unittest.cc
|
| @@ -575,106 +575,6 @@ TEST_F(ExtensionManifestTest, OptionsPageInApps) {
|
| errors::kInvalidOptionsPageExpectUrlInPackage);
|
| }
|
|
|
| -TEST_F(ExtensionManifestTest, HostedAppPermissions) {
|
| - std::string error;
|
| - scoped_ptr<DictionaryValue> manifest(
|
| - LoadManifestFile("hosted_app_absolute_options.json", &error));
|
| - ASSERT_TRUE(manifest.get());
|
| - 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();
|
| - i != api_perms.end(); ++i) {
|
| - if (*i == ExtensionAPIPermission::kExperimental)
|
| - continue;
|
| -
|
| - ExtensionAPIPermission* permission = info->GetByID(*i);
|
| - const char* name = permission->name();
|
| - StringValue* p = new StringValue(name);
|
| - permissions->Clear();
|
| - permissions->Append(p);
|
| -
|
| - // Some permissions are only available to component hosted apps.
|
| - if (permission->is_component_only()) {
|
| - LoadAndExpectError(Manifest(manifest.get(), name),
|
| - errors::kPermissionNotAllowed,
|
| - Extension::INTERNAL);
|
| - scoped_refptr<Extension> extension(
|
| - LoadAndExpectSuccess(Manifest(manifest.get(), name),
|
| - Extension::COMPONENT));
|
| - EXPECT_TRUE(extension->GetActivePermissions()->HasAPIPermission(
|
| - permission->id()));
|
| -
|
| - } else if (permission->type_restrictions() == platform_app) {
|
| - LoadAndExpectError(Manifest(manifest.get(), name),
|
| - errors::kPermissionNotAllowed,
|
| - Extension::INTERNAL,
|
| - Extension::STRICT_ERROR_CHECKS);
|
| - } 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.
|
| - LoadAndExpectError(Manifest(manifest.get(), name),
|
| - errors::kPermissionNotAllowed,
|
| - Extension::INTERNAL,
|
| - Extension::STRICT_ERROR_CHECKS);
|
| - scoped_refptr<Extension> extension(
|
| - LoadAndExpectSuccess(Manifest(manifest.get(), name),
|
| - Extension::INTERNAL));
|
| - EXPECT_FALSE(extension->GetActivePermissions()->HasAPIPermission(
|
| - permission->id()));
|
| -
|
| - // These permissions are also allowed for component hosted apps.
|
| - extension = LoadAndExpectSuccess(Manifest(manifest.get(), name),
|
| - Extension::COMPONENT);
|
| - EXPECT_TRUE(extension->GetActivePermissions()->HasAPIPermission(
|
| - permission->id()));
|
| -
|
| - } else {
|
| - scoped_refptr<Extension> extension(
|
| - LoadAndExpectSuccess(Manifest(manifest.get(), name)));
|
| - EXPECT_TRUE(extension->GetActivePermissions()->HasAPIPermission(
|
| - permission->id()));
|
| - }
|
| - }
|
| -}
|
| -
|
| -TEST_F(ExtensionManifestTest, ComponentOnlyPermission) {
|
| - std::string error;
|
| - scoped_ptr<DictionaryValue> manifest(
|
| - LoadManifestFile("init_valid_minimal.json", &error));
|
| - ASSERT_TRUE(manifest.get());
|
| - ListValue* permissions = new ListValue();
|
| - manifest->Set("permissions", permissions);
|
| -
|
| - ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
|
| - ExtensionAPIPermissionSet api_perms = info->GetAll();
|
| - for (ExtensionAPIPermissionSet::iterator i = api_perms.begin();
|
| - i != api_perms.end(); ++i) {
|
| - if (*i == ExtensionAPIPermission::kExperimental)
|
| - continue;
|
| -
|
| - ExtensionAPIPermission* permission = info->GetByID(*i);
|
| - const char* name = permission->name();
|
| - StringValue* p = new StringValue(name);
|
| - permissions->Clear();
|
| - permissions->Append(p);
|
| -
|
| - if (!permission->is_component_only())
|
| - continue;
|
| -
|
| - // Component-only extensions should only be enabled for component
|
| - // extensions.
|
| - LoadAndExpectError(Manifest(manifest.get(), name),
|
| - errors::kPermissionNotAllowed);
|
| - LoadAndExpectSuccess(Manifest(manifest.get(), name),
|
| - Extension::COMPONENT);
|
| - }
|
| -}
|
| -
|
| TEST_F(ExtensionManifestTest, AllowUnrecognizedPermissions) {
|
| std::string error;
|
| scoped_ptr<DictionaryValue> manifest(
|
|
|