Merge pull request #3833 from atom/no-renderer-pump
Don't pump message loop when sending sync msg
This commit is contained in:
commit
b7cbc49c01
3 changed files with 4 additions and 12 deletions
|
@ -54,8 +54,6 @@ base::string16 SendSync(mate::Arguments* args,
|
|||
|
||||
IPC::SyncMessage* message = new AtomViewHostMsg_Message_Sync(
|
||||
render_view->GetRoutingID(), channel, arguments, &json);
|
||||
// Enable the UI thread in browser to receive messages.
|
||||
message->EnableMessagePumping();
|
||||
bool success = render_view->Send(message);
|
||||
|
||||
if (!success)
|
||||
|
|
|
@ -6,12 +6,6 @@ v8Util = process.atomBinding 'v8_util'
|
|||
# Created by init.coffee.
|
||||
ipcRenderer = v8Util.getHiddenValue global, 'ipc'
|
||||
|
||||
# Delay the callback to next tick in case the browser is still in the middle
|
||||
# of sending a message while the callback sends a sync message to browser,
|
||||
# which can fail sometimes.
|
||||
ipcRenderer.emit = (args...) ->
|
||||
setTimeout (-> EventEmitter::emit.call ipcRenderer, args...), 0
|
||||
|
||||
ipcRenderer.send = (args...) ->
|
||||
binding.send 'ipc-message', [args...]
|
||||
|
||||
|
|
|
@ -27,7 +27,9 @@ convertToMenuTemplate = (items) ->
|
|||
label: item.label
|
||||
enabled: item.enabled
|
||||
if item.id?
|
||||
transformed.click = -> DevToolsAPI.contextMenuItemSelected item.id
|
||||
transformed.click = ->
|
||||
DevToolsAPI.contextMenuItemSelected item.id
|
||||
DevToolsAPI.contextMenuCleared()
|
||||
template.push transformed
|
||||
template
|
||||
|
||||
|
@ -37,9 +39,7 @@ createMenu = (x, y, items, document) ->
|
|||
|
||||
menu = Menu.buildFromTemplate convertToMenuTemplate(items)
|
||||
# The menu is expected to show asynchronously.
|
||||
setImmediate ->
|
||||
menu.popup remote.getCurrentWindow()
|
||||
DevToolsAPI.contextMenuCleared()
|
||||
setTimeout -> menu.popup remote.getCurrentWindow()
|
||||
|
||||
showFileChooserDialog = (callback) ->
|
||||
{remote} = require 'electron'
|
||||
|
|
Loading…
Add table
Reference in a new issue