Index: chrome/common/extensions/chrome_extensions_client.cc |
diff --git a/chrome/common/extensions/chrome_extensions_client.cc b/chrome/common/extensions/chrome_extensions_client.cc |
index 4f85c1f07250bd4d0dd5e44076bb9c3440eb60a8..cba890a5fc8c21fa8589370e0886417f2d179668 100644 |
--- a/chrome/common/extensions/chrome_extensions_client.cc |
+++ b/chrome/common/extensions/chrome_extensions_client.cc |
@@ -12,8 +12,12 @@ |
#include "base/strings/string_util.h" |
#include "base/values.h" |
#include "chrome/common/chrome_switches.h" |
+#include "chrome/common/extensions/api/api_features.h" |
+#include "chrome/common/extensions/api/behavior_features.h" |
#include "chrome/common/extensions/api/extension_action/action_info.h" |
#include "chrome/common/extensions/api/generated_schemas.h" |
+#include "chrome/common/extensions/api/manifest_features.h" |
+#include "chrome/common/extensions/api/permission_features.h" |
#include "chrome/common/extensions/chrome_manifest_handlers.h" |
#include "chrome/common/extensions/extension_constants.h" |
#include "chrome/common/extensions/manifest_handlers/theme_handler.h" |
@@ -140,20 +144,14 @@ const std::string ChromeExtensionsClient::GetProductName() { |
std::unique_ptr<FeatureProvider> ChromeExtensionsClient::CreateFeatureProvider( |
const std::string& name) const { |
std::unique_ptr<FeatureProvider> provider; |
- std::unique_ptr<JSONFeatureProviderSource> source( |
- CreateFeatureProviderSource(name)); |
if (name == "api") { |
- provider.reset(new JSONFeatureProvider(source->dictionary(), |
- CreateFeature<APIFeature>)); |
+ provider.reset(new APIFeatureProvider()); |
} else if (name == "manifest") { |
- provider.reset(new JSONFeatureProvider(source->dictionary(), |
- CreateFeature<ManifestFeature>)); |
+ provider.reset(new ManifestFeatureProvider()); |
} else if (name == "permission") { |
- provider.reset(new JSONFeatureProvider(source->dictionary(), |
- CreateFeature<PermissionFeature>)); |
+ provider.reset(new PermissionFeatureProvider()); |
} else if (name == "behavior") { |
- provider.reset(new JSONFeatureProvider(source->dictionary(), |
- CreateFeature<BehaviorFeature>)); |
+ provider.reset(new BehaviorFeatureProvider()); |
} else { |
NOTREACHED(); |
} |
@@ -161,25 +159,11 @@ std::unique_ptr<FeatureProvider> ChromeExtensionsClient::CreateFeatureProvider( |
} |
std::unique_ptr<JSONFeatureProviderSource> |
-ChromeExtensionsClient::CreateFeatureProviderSource( |
- const std::string& name) const { |
+ChromeExtensionsClient::CreateAPIFeatureSource() const { |
std::unique_ptr<JSONFeatureProviderSource> source( |
- new JSONFeatureProviderSource(name)); |
- if (name == "api") { |
- source->LoadJSON(IDR_EXTENSION_API_FEATURES); |
- source->LoadJSON(IDR_CHROME_EXTENSION_API_FEATURES); |
- } else if (name == "manifest") { |
- source->LoadJSON(IDR_EXTENSION_MANIFEST_FEATURES); |
- source->LoadJSON(IDR_CHROME_EXTENSION_MANIFEST_FEATURES); |
- } else if (name == "permission") { |
- source->LoadJSON(IDR_EXTENSION_PERMISSION_FEATURES); |
- source->LoadJSON(IDR_CHROME_EXTENSION_PERMISSION_FEATURES); |
- } else if (name == "behavior") { |
- source->LoadJSON(IDR_EXTENSION_BEHAVIOR_FEATURES); |
- } else { |
- NOTREACHED(); |
- source.reset(); |
- } |
+ new JSONFeatureProviderSource("api")); |
+ source->LoadJSON(IDR_EXTENSION_API_FEATURES); |
+ source->LoadJSON(IDR_CHROME_EXTENSION_API_FEATURES); |
return source; |
} |