Enable the UI thread in browser to receive synchronous messages.

This is required to send synchronous message from renderer to browser.
This commit is contained in:
Cheng Zhao 2013-07-10 12:36:02 +08:00
parent 9c52af8253
commit ce569ebf78

View file

@ -98,11 +98,14 @@ v8::Handle<v8::Value> RendererIPC::SendSync(const v8::Arguments &args) {
RenderView* render_view = GetCurrentRenderView();
base::DictionaryValue result;
bool success = render_view->Send(new AtomViewHostMsg_Message_Sync(
IPC::SyncMessage* message = new AtomViewHostMsg_Message_Sync(
render_view->GetRoutingID(),
channel,
*static_cast<base::ListValue*>(arguments.get()),
&result));
&result);
// Enable the UI thread in browser to receive messages.
message->EnableMessagePumping();
bool success = render_view->Send(message);
if (!success)
return node::ThrowError("Unable to send AtomViewHostMsg_Message_Sync");