Chromium Code Reviews| Index: chrome/common/extensions/api/extension_api_unittest.cc |
| diff --git a/chrome/common/extensions/api/extension_api_unittest.cc b/chrome/common/extensions/api/extension_api_unittest.cc |
| index 7d0bae1e4611745eb694fa24430ebe69191dccb5..63a3da876ef39ec01121bd94f82c5d245c3728ed 100644 |
| --- a/chrome/common/extensions/api/extension_api_unittest.cc |
| +++ b/chrome/common/extensions/api/extension_api_unittest.cc |
| @@ -99,13 +99,16 @@ TEST(ExtensionAPI, IsPrivileged) { |
| EXPECT_FALSE(extension_api->IsPrivileged("extension.connect")); |
| EXPECT_FALSE(extension_api->IsPrivileged("extension.onConnect")); |
| - // Properties are not supported yet. |
| - EXPECT_TRUE(extension_api->IsPrivileged("extension.lastError")); |
| + // Properties are not supported yet, but the default for this module is |
| + // unprivileged, so that's what we see. |
| + EXPECT_FALSE(extension_api->IsPrivileged("extension.lastError")); |
| - // Default unknown names to privileged for paranoia's sake. |
| + // Default unknown modules to privileged for paranoia's sake. |
| EXPECT_TRUE(extension_api->IsPrivileged("")); |
| EXPECT_TRUE(extension_api->IsPrivileged("<unknown-namespace>")); |
| - EXPECT_TRUE(extension_api->IsPrivileged("extension.<unknown-member>")); |
| + |
| + // Default unknown names within a module to the parent's value. |
| + EXPECT_FALSE(extension_api->IsPrivileged("extension.<unknown-member>")); |
| // Exists, but privileged. |
| EXPECT_TRUE(extension_api->IsPrivileged("extension.getViews")); |
| @@ -134,11 +137,13 @@ TEST(ExtensionAPI, IsPrivilegedFeatures) { |
| Feature::UNSPECIFIED_CONTEXT }, |
| { "is_privileged_features_3.json", "test", false, |
| Feature::UNSPECIFIED_CONTEXT }, |
| - { "is_privileged_features_4.json", "test.bar", false, |
| - Feature::UNSPECIFIED_CONTEXT }, |
| { "is_privileged_features_5.json", "test.bar", true, |
| Feature::BLESSED_EXTENSION_CONTEXT }, |
| - { "is_privileged_features_5.json", "test.bar", false, |
| + // These are privileged because you can't be less permissive than your |
| + // module. |
|
not at google - send to devlin
2012/04/10 23:55:41
Don't understand comment... you *can* be less perm
Aaron Boodman
2012/04/11 21:51:54
Tried to clarify.
|
| + { "is_privileged_features_4.json", "test.bar", true, |
| + Feature::UNSPECIFIED_CONTEXT }, |
| + { "is_privileged_features_5.json", "test.bar", true, |
| Feature::UNBLESSED_EXTENSION_CONTEXT } |
| }; |
| @@ -350,71 +355,5 @@ TEST(ExtensionAPI, GetAPINameFromFullName) { |
| } |
| } |
| -TEST(ExtensionAPI, DefaultConfigurationFeatures) { |
| - scoped_ptr<ExtensionAPI> api(ExtensionAPI::CreateWithDefaultConfiguration()); |
| - |
| - Feature* bookmarks = api->GetFeature("bookmarks"); |
| - Feature* bookmarks_create = api->GetFeature("bookmarks.create"); |
| - |
| - struct { |
| - Feature* feature; |
| - // TODO(aa): More stuff to test over time. |
| - } test_data[] = { |
| - { bookmarks }, |
| - { bookmarks_create } |
| - }; |
| - |
| - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_data); ++i) { |
| - Feature* feature = test_data[i].feature; |
| - ASSERT_TRUE(feature) << i; |
| - |
| - EXPECT_TRUE(feature->whitelist()->empty()); |
| - EXPECT_TRUE(feature->extension_types()->empty()); |
| - |
| - EXPECT_EQ(1u, feature->contexts()->size()); |
| - EXPECT_TRUE(feature->contexts()->count( |
| - Feature::BLESSED_EXTENSION_CONTEXT)); |
| - |
| - EXPECT_EQ(Feature::UNSPECIFIED_LOCATION, feature->location()); |
| - EXPECT_EQ(Feature::UNSPECIFIED_PLATFORM, feature->platform()); |
| - EXPECT_EQ(0, feature->min_manifest_version()); |
| - EXPECT_EQ(0, feature->max_manifest_version()); |
| - } |
| -} |
| - |
| -TEST(ExtensionAPI, FeaturesRequireContexts) { |
| - scoped_ptr<ListValue> schema1(new ListValue()); |
| - DictionaryValue* feature_definition = new DictionaryValue(); |
| - schema1->Append(feature_definition); |
| - feature_definition->SetString("namespace", "test"); |
| - feature_definition->SetBoolean("uses_feature_system", true); |
| - |
| - scoped_ptr<ListValue> schema2(schema1->DeepCopy()); |
| - |
| - ListValue* contexts = new ListValue(); |
| - contexts->Append(Value::CreateStringValue("content_script")); |
| - feature_definition->Set("contexts", contexts); |
| - |
| - struct { |
| - ListValue* schema; |
| - bool expect_success; |
| - } test_data[] = { |
| - { schema1.get(), true }, |
| - { schema2.get(), false } |
| - }; |
| - |
| - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_data); ++i) { |
| - std::string schema_source; |
| - base::JSONWriter::Write(test_data[i].schema, &schema_source); |
| - |
| - ExtensionAPI api; |
| - api.RegisterSchema("test", base::StringPiece(schema_source)); |
| - api.LoadAllSchemas(); |
| - |
| - Feature* feature = api.GetFeature("test"); |
| - EXPECT_EQ(test_data[i].expect_success, feature != NULL) << i; |
| - } |
| -} |
| - |
| } // namespace |
| } // namespace extensions |