Index: chrome/renderer/extensions/dispatcher.cc |
diff --git a/chrome/renderer/extensions/dispatcher.cc b/chrome/renderer/extensions/dispatcher.cc |
index eb8796329d70e0b96f0c59e7e2e29d0d0dfd6dcf..445610478770d58b9bb8f801ca643381d55158a6 100644 |
--- a/chrome/renderer/extensions/dispatcher.cc |
+++ b/chrome/renderer/extensions/dispatcher.cc |
@@ -718,10 +718,17 @@ void Dispatcher::RegisterSchemaGeneratedBindings( |
ModuleSystem* module_system, |
ChromeV8Context* context) { |
std::set<std::string> apis = |
- ExtensionAPI::GetSharedInstance()->GetAllAPINames(); |
+ BaseFeatureProvider::GetByName("api")->GetAllFeatureNames(); |
for (std::set<std::string>::iterator it = apis.begin(); |
it != apis.end(); ++it) { |
const std::string& api_name = *it; |
+ |
+ std::string child_name; |
+ ExtensionAPI::GetSharedInstance()->GetAPINameFromFullName(api_name, |
+ &child_name); |
+ if (!child_name.empty()) |
+ continue; |
+ |
if (!context->IsAnyFeatureAvailableToContext(api_name)) |
continue; |