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 0047d5677b85813bb3c136ada5770dd5ceeaeb67..c54c815f00173cea6de69a3a563cfb37ef279f26 100644 |
--- a/chrome/common/extensions/api/extension_api_unittest.cc |
+++ b/chrome/common/extensions/api/extension_api_unittest.cc |
@@ -26,7 +26,6 @@ |
#include "testing/gtest/include/gtest/gtest.h" |
namespace extensions { |
-namespace { |
SimpleFeature* CreateAPIFeature() { |
return new APIFeature(); |
@@ -94,7 +93,9 @@ TEST(ExtensionAPITest, IsPrivileged) { |
// Default unknown names to privileged for paranoia's sake. |
EXPECT_TRUE(extension_api->IsPrivileged(std::string())); |
EXPECT_TRUE(extension_api->IsPrivileged("<unknown-namespace>")); |
- EXPECT_TRUE(extension_api->IsPrivileged("extension.<unknown-member>")); |
+ |
+ // Child features that are unknown default to parent feature privilege. |
+ EXPECT_FALSE(extension_api->IsPrivileged("extension.<unknown-member>")); |
// Exists, but privileged. |
EXPECT_TRUE(extension_api->IsPrivileged("extension.getViews")); |
@@ -148,7 +149,7 @@ TEST(ExtensionAPITest, IsPrivilegedFeatures) { |
} |
} |
-TEST(ExtensionAPI, APIFeatures) { |
+TEST(ExtensionAPITest, APIFeatures) { |
struct { |
std::string api_full_name; |
bool expect_is_available; |
@@ -186,7 +187,24 @@ TEST(ExtensionAPI, APIFeatures) { |
{ "test7.foo", false, Feature::WEB_PAGE_CONTEXT, GURL("http://bar.com") }, |
{ "test7.foo", true, Feature::WEB_PAGE_CONTEXT, GURL("http://foo.com") }, |
{ "test7.bar", false, Feature::WEB_PAGE_CONTEXT, GURL("http://bar.com") }, |
- { "test7.bar", false, Feature::WEB_PAGE_CONTEXT, GURL("http://foo.com") } |
+ { "test7.bar", false, Feature::WEB_PAGE_CONTEXT, GURL("http://foo.com") }, |
+ |
+ // Test parent/child. |
+ { "parent1", true, Feature::CONTENT_SCRIPT_CONTEXT, GURL() }, |
+ { "parent1", false, Feature::WEB_PAGE_CONTEXT, GURL("http://foo.com") }, |
+ { "child1", false, Feature::CONTENT_SCRIPT_CONTEXT, GURL() }, |
+ { "child1", true, Feature::WEB_PAGE_CONTEXT, GURL("http://foo.com") }, |
+ { "child2", true, Feature::CONTENT_SCRIPT_CONTEXT, GURL() }, |
+ { "child2", false, Feature::WEB_PAGE_CONTEXT, GURL("http://foo.com") }, |
+ { "parent2", true, Feature::CONTENT_SCRIPT_CONTEXT, GURL() }, |
+ { "parent2", true, Feature::BLESSED_EXTENSION_CONTEXT, GURL() }, |
+ { "parent2", true, Feature::UNBLESSED_EXTENSION_CONTEXT, GURL() }, |
+ { "child3", false, Feature::CONTENT_SCRIPT_CONTEXT, GURL() }, |
+ { "child3", true, Feature::BLESSED_EXTENSION_CONTEXT, GURL() }, |
+ { "child3", false, Feature::UNBLESSED_EXTENSION_CONTEXT, GURL() }, |
+ { "child.child", true, Feature::CONTENT_SCRIPT_CONTEXT, GURL() }, |
+ { "child.child", false, Feature::BLESSED_EXTENSION_CONTEXT, GURL() }, |
+ { "child.child", true, Feature::UNBLESSED_EXTENSION_CONTEXT, GURL() } |
}; |
base::FilePath api_features_path; |
@@ -209,7 +227,7 @@ TEST(ExtensionAPI, APIFeatures) { |
for (base::DictionaryValue::Iterator iter(*value); !iter.IsAtEnd(); |
iter.Advance()) { |
if (iter.key().find(".") == std::string::npos) |
- api.RegisterSchema(iter.key(), ""); |
+ api.RegisterSchemaResource(iter.key(), 0); |
} |
EXPECT_EQ(test_data[i].expect_is_available, |
@@ -220,7 +238,7 @@ TEST(ExtensionAPI, APIFeatures) { |
} |
} |
-TEST(ExtensionAPI, IsAnyFeatureAvailableToContext) { |
+TEST(ExtensionAPITest, IsAnyFeatureAvailableToContext) { |
struct { |
std::string api_full_name; |
bool expect_is_available; |
@@ -261,7 +279,7 @@ TEST(ExtensionAPI, IsAnyFeatureAvailableToContext) { |
for (base::DictionaryValue::Iterator iter(*value); !iter.IsAtEnd(); |
iter.Advance()) { |
if (iter.key().find(".") == std::string::npos) |
- api.RegisterSchema(iter.key(), ""); |
+ api.RegisterSchemaResource(iter.key(), 0); |
} |
EXPECT_EQ(test_data[i].expect_is_available, |
@@ -622,7 +640,8 @@ TEST(ExtensionAPITest, TypesHaveNamespace) { |
<< "Failed to load: " << manifest_path.value(); |
ExtensionAPI api; |
- api.RegisterSchema("test.foo", manifest_str); |
+ api.RegisterSchemaResource("test.foo", 0); |
+ api.LoadSchema("test.foo", manifest_str); |
const base::DictionaryValue* schema = api.GetSchema("test.foo"); |
@@ -669,5 +688,4 @@ TEST(ExtensionAPITest, TypesHaveNamespace) { |
EXPECT_EQ("fully.qualified.Type", type); |
} |
-} // namespace |
} // namespace extensions |