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

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

Issue 9657026: Revert 125801 - Implement a module system for the extension bindings JS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 9 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/schema_generated_bindings.cc
===================================================================
--- chrome/renderer/extensions/schema_generated_bindings.cc (revision 125813)
+++ chrome/renderer/extensions/schema_generated_bindings.cc (working copy)
@@ -51,6 +51,13 @@
namespace {
+const char* kExtensionDeps[] = {
+ "extensions/event.js",
+ "extensions/json_schema.js",
+ "extensions/miscellaneous_bindings.js",
+ "extensions/apitest.js"
+};
+
// Contains info relevant to a pending API request.
struct PendingRequest {
public :
@@ -70,12 +77,11 @@
class ExtensionImpl : public ChromeV8Extension {
public:
explicit ExtensionImpl(ExtensionDispatcher* extension_dispatcher)
- : ChromeV8Extension(extension_dispatcher) {
- RouteStaticFunction("GetExtensionAPIDefinition",
- &GetExtensionAPIDefinition);
- RouteStaticFunction("GetNextRequestId", &GetNextRequestId);
- RouteStaticFunction("StartRequest", &StartRequest);
- RouteStaticFunction("SetIconCommon", &SetIconCommon);
+ : ChromeV8Extension("extensions/schema_generated_bindings.js",
+ IDR_SCHEMA_GENERATED_BINDINGS_JS,
+ arraysize(kExtensionDeps),
+ kExtensionDeps,
+ extension_dispatcher) {
}
~ExtensionImpl() {
@@ -88,6 +94,24 @@
}
}
+ virtual v8::Handle<v8::FunctionTemplate> GetNativeFunction(
+ v8::Handle<v8::String> name) OVERRIDE {
+ if (name->Equals(v8::String::New("GetExtensionAPIDefinition"))) {
+ return v8::FunctionTemplate::New(GetExtensionAPIDefinition,
+ v8::External::New(this));
+ } else if (name->Equals(v8::String::New("GetNextRequestId"))) {
+ return v8::FunctionTemplate::New(GetNextRequestId);
+ } else if (name->Equals(v8::String::New("StartRequest"))) {
+ return v8::FunctionTemplate::New(StartRequest,
+ v8::External::New(this));
+ } else if (name->Equals(v8::String::New("SetIconCommon"))) {
+ return v8::FunctionTemplate::New(SetIconCommon,
+ v8::External::New(this));
+ }
+
+ return ChromeV8Extension::GetNativeFunction(name);
+ }
+
private:
static v8::Handle<v8::Value> GetV8SchemaForAPI(
ExtensionImpl* self,
@@ -323,9 +347,12 @@
namespace extensions {
-ChromeV8Extension* SchemaGeneratedBindings::Get(
+v8::Extension* SchemaGeneratedBindings::Get(
ExtensionDispatcher* extension_dispatcher) {
- return new ExtensionImpl(extension_dispatcher);
+ static v8::Extension* extension = new ExtensionImpl(extension_dispatcher);
+ CHECK_EQ(extension_dispatcher,
+ static_cast<ExtensionImpl*>(extension)->extension_dispatcher());
+ return extension;
}
// static
« no previous file with comments | « chrome/renderer/extensions/schema_generated_bindings.h ('k') | chrome/renderer/extensions/tabs_custom_bindings.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698