| 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(
|
|
|