Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5201)

Unified Diff: chrome/renderer/extensions/api_definitions_natives.cc

Issue 15091002: Lazily load API schemas from resource files and convert all APIs to features (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comments Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/extensions/api_definitions_natives.cc
diff --git a/chrome/renderer/extensions/api_definitions_natives.cc b/chrome/renderer/extensions/api_definitions_natives.cc
index 6004c7ae0c0de8c698454c75325f38170d5c2c15..24f1dd8964d78ea84d509475f7c0fd6d168b5971 100644
--- a/chrome/renderer/extensions/api_definitions_natives.cc
+++ b/chrome/renderer/extensions/api_definitions_natives.cc
@@ -6,7 +6,7 @@
#include <algorithm>
-#include "chrome/common/extensions/api/extension_api.h"
+#include "chrome/common/extensions/features/base_feature_provider.h"
namespace {
const char kInvalidExtensionNamespace[] = "Invalid extension namespace";
@@ -25,8 +25,15 @@ ApiDefinitionsNatives::ApiDefinitionsNatives(Dispatcher* dispatcher,
v8::Handle<v8::Value> ApiDefinitionsNatives::GetExtensionAPIDefinitions(
const v8::Arguments& args) {
- return dispatcher()->v8_schema_registry()->GetSchemas(
- ExtensionAPI::GetSharedInstance()->GetAllAPINames());
+ std::vector<std::string> apis;
+ std::vector<std::string> feature_names =
not at google - send to devlin 2013/05/24 19:09:18 also const&
cduvall 2013/05/30 00:50:51 Done.
+ BaseFeatureProvider::GetByName("api")->GetAllFeatureNames();
+ for (std::vector<std::string>::const_iterator i = feature_names.begin();
+ i != feature_names.end(); ++i) {
+ if (!BaseFeatureProvider::GetByName("api")->GetFeature(*i)->HasParent())
+ apis.push_back(*i);
+ }
+ return dispatcher()->v8_schema_registry()->GetSchemas(apis);
}
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698