Index: chrome/renderer/extensions/miscellaneous_bindings.cc |
diff --git a/chrome/renderer/extensions/miscellaneous_bindings.cc b/chrome/renderer/extensions/miscellaneous_bindings.cc |
index 8a5f7582e2b5c9d6a9fba5af2f67ba0ab0a2ee01..2a30f068597cc6543edabb5bc94911fcdd8638b4 100644 |
--- a/chrome/renderer/extensions/miscellaneous_bindings.cc |
+++ b/chrome/renderer/extensions/miscellaneous_bindings.cc |
@@ -62,33 +62,19 @@ static void ClearPortData(int port_id) { |
} |
const char kPortClosedError[] = "Attempting to use a disconnected port object"; |
-const char* kExtensionDeps[] = { "extensions/event.js" }; |
class ExtensionImpl : public ChromeV8Extension { |
public: |
explicit ExtensionImpl(ExtensionDispatcher* dispatcher) |
- : ChromeV8Extension("extensions/miscellaneous_bindings.js", |
- IDR_MISCELLANEOUS_BINDINGS_JS, |
- arraysize(kExtensionDeps), kExtensionDeps, |
- dispatcher) { |
+ : ChromeV8Extension(dispatcher) { |
+ RouteStaticFunction("CloseChannel", &CloseChannel); |
+ RouteStaticFunction("PortAddRef", &PortAddRef); |
+ RouteStaticFunction("PortRelease", &PortRelease); |
+ RouteStaticFunction("PostMessage", &PostMessage); |
+ RouteStaticFunction("BindToGC", &BindToGC); |
} |
- ~ExtensionImpl() {} |
- virtual v8::Handle<v8::FunctionTemplate> GetNativeFunction( |
- v8::Handle<v8::String> name) { |
- if (name->Equals(v8::String::New("PostMessage"))) { |
- return v8::FunctionTemplate::New(PostMessage); |
- } else if (name->Equals(v8::String::New("CloseChannel"))) { |
- return v8::FunctionTemplate::New(CloseChannel); |
- } else if (name->Equals(v8::String::New("PortAddRef"))) { |
- return v8::FunctionTemplate::New(PortAddRef); |
- } else if (name->Equals(v8::String::New("PortRelease"))) { |
- return v8::FunctionTemplate::New(PortRelease); |
- } else if (name->Equals(v8::String::New("BindToGC"))) { |
- return v8::FunctionTemplate::New(BindToGC); |
- } |
- return ChromeV8Extension::GetNativeFunction(name); |
- } |
+ ~ExtensionImpl() {} |
// Sends a message along the given channel. |
static v8::Handle<v8::Value> PostMessage(const v8::Arguments& args) { |
@@ -186,9 +172,8 @@ class ExtensionImpl : public ChromeV8Extension { |
namespace extensions { |
-v8::Extension* MiscellaneousBindings::Get(ExtensionDispatcher* dispatcher) { |
- static v8::Extension* extension = new ExtensionImpl(dispatcher); |
- return extension; |
+ChromeV8Extension* MiscellaneousBindings::Get(ExtensionDispatcher* dispatcher) { |
+ return new ExtensionImpl(dispatcher); |
} |
void MiscellaneousBindings::DeliverMessage( |