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 |