Index: chrome/renderer/extensions/event_bindings.cc |
diff --git a/chrome/renderer/extensions/event_bindings.cc b/chrome/renderer/extensions/event_bindings.cc |
index dd4c3d6a66ef848b7aea245dec1e363669091ebf..ba035da25be3156997548e801e9c1e3a4a6f0a42 100644 |
--- a/chrome/renderer/extensions/event_bindings.cc |
+++ b/chrome/renderer/extensions/event_bindings.cc |
@@ -62,14 +62,9 @@ class ExtensionImpl : public ChromeV8Extension { |
} |
~ExtensionImpl() {} |
- virtual v8::Handle<v8::FunctionTemplate> GetNativeFunction( |
- v8::Handle<v8::String> name) { |
- if (name->Equals(v8::String::New("AttachEvent"))) { |
- return v8::FunctionTemplate::New(AttachEvent, v8::External::New(this)); |
- } else if (name->Equals(v8::String::New("DetachEvent"))) { |
- return v8::FunctionTemplate::New(DetachEvent, v8::External::New(this)); |
- } |
- return ChromeV8Extension::GetNativeFunction(name); |
+ void SetNativeFunctions(v8::Handle<v8::Object> object) { |
+ RouteFunctionToStatic("AttachEvent", AttachEvent, object); |
+ RouteFunctionToStatic("DetachEvent", DetachEvent, object); |
} |
// Attach an event name to an object. |
@@ -130,7 +125,6 @@ class ExtensionImpl : public ChromeV8Extension { |
} // namespace |
-v8::Extension* EventBindings::Get(ExtensionDispatcher* dispatcher) { |
- static v8::Extension* extension = new ExtensionImpl(dispatcher); |
- return extension; |
+ChromeV8Extension* EventBindings::Get(ExtensionDispatcher* dispatcher) { |
+ return new ExtensionImpl(dispatcher); |
} |