From 354b0c8e39f323755bc7375701955fe47fcdb142 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Fri, 17 May 2013 23:40:37 +0800 Subject: [PATCH] Send message to window directly when passing BrowserWindow for ipc.send. --- browser/api/lib/ipc.coffee | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/browser/api/lib/ipc.coffee b/browser/api/lib/ipc.coffee index f9acccaa5631..53f4cbddc44f 100644 --- a/browser/api/lib/ipc.coffee +++ b/browser/api/lib/ipc.coffee @@ -1,6 +1,15 @@ EventEmitter = require('events').EventEmitter send = process.atomBinding('ipc').send +sendWrap = (channel, processId, routingId, args...) -> + BrowserWindow = require 'browser_window' + if processId?.constructor is BrowserWindow + window = processId + processId = window.getProcessId() + routingId = window.getRoutingId() + + send channel, processId, routingId, args... + class Ipc extends EventEmitter constructor: -> process.on 'ATOM_INTERNAL_MESSAGE', (args...) => @@ -12,6 +21,6 @@ class Ipc extends EventEmitter @sendChannel(processId, routingId, 'message', args...) sendChannel: (args...) -> - send('ATOM_INTERNAL_MESSAGE', args...) + sendWrap('ATOM_INTERNAL_MESSAGE', args...) module.exports = new Ipc