| 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
|
|
|