| Index: chrome/renderer/extensions/renderer_extension_bindings.cc
|
| ===================================================================
|
| --- chrome/renderer/extensions/renderer_extension_bindings.cc (revision 18701)
|
| +++ chrome/renderer/extensions/renderer_extension_bindings.cc (working copy)
|
| @@ -43,6 +43,8 @@
|
| return v8::FunctionTemplate::New(OpenChannelToExtension);
|
| } else 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);
|
| }
|
| return v8::Handle<v8::FunctionTemplate>();
|
| }
|
| @@ -80,6 +82,17 @@
|
| }
|
| return v8::Undefined();
|
| }
|
| +
|
| + // Sends a message along the given channel.
|
| + static v8::Handle<v8::Value> CloseChannel(const v8::Arguments& args) {
|
| + if (args.Length() >= 1 && args[0]->IsInt32()) {
|
| + int port_id = args[0]->Int32Value();
|
| + // Send via the RenderThread because the RenderView might be closing.
|
| + EventBindings::GetRenderThread()->Send(
|
| + new ViewHostMsg_ExtensionCloseChannel(port_id));
|
| + }
|
| + return v8::Undefined();
|
| + }
|
| };
|
|
|
| // Convert a ListValue to a vector of V8 values.
|
|
|