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

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

Issue 9386001: Implement a module system for the extension bindings JS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 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
diff --git a/chrome/renderer/extensions/schema_generated_bindings.cc b/chrome/renderer/extensions/schema_generated_bindings.cc
index c05d797b90293538442d892660875c1ff4630e29..bc3e1cb2fd6c3de6479db92b1d841c7590fc44ab 100644
--- a/chrome/renderer/extensions/schema_generated_bindings.cc
+++ b/chrome/renderer/extensions/schema_generated_bindings.cc
@@ -94,22 +94,12 @@ class ExtensionImpl : public ChromeV8Extension {
}
}
- 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);
+ void SetNativeFunctions(v8::Handle<v8::Object> object) {
+ RouteFunctionToStatic("GetExtensionAPIDefinition",
+ GetExtensionAPIDefinition, object);
+ RouteFunctionToStatic("GetNextRequestId", GetNextRequestId, object);
+ RouteFunctionToStatic("StartRequest", StartRequest, object);
+ RouteFunctionToStatic("SetIconCommon", SetIconCommon, object);
}
private:
@@ -342,12 +332,9 @@ class ExtensionImpl : public ChromeV8Extension {
namespace extensions {
-v8::Extension* SchemaGeneratedBindings::Get(
+ChromeV8Extension* SchemaGeneratedBindings::Get(
ExtensionDispatcher* extension_dispatcher) {
- static v8::Extension* extension = new ExtensionImpl(extension_dispatcher);
- CHECK_EQ(extension_dispatcher,
- static_cast<ExtensionImpl*>(extension)->extension_dispatcher());
- return extension;
+ return new ExtensionImpl(extension_dispatcher);
}
// static

Powered by Google App Engine
This is Rietveld 408576698