From f48241bc5ec2b1b3fbdad590f8958cdb631e6574 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 29 Apr 2014 15:15:45 +0800 Subject: [PATCH] Use new IPC API of atom-shell. --- src/atom.coffee | 24 +++++++-------- src/browser/atom-application.coffee | 16 +++++----- src/browser/atom-window.coffee | 3 +- src/menu-manager.coffee | 2 +- src/workspace-view.coffee | 46 ++++++++++++++--------------- 5 files changed, 45 insertions(+), 46 deletions(-) diff --git a/src/atom.coffee b/src/atom.coffee index cae8eb240..a9fcffc6c 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -340,7 +340,7 @@ class Atom extends Model # options - An {Object} with the following keys: # :pathsToOpen - An {Array} of {String} paths to open. open: (options) -> - ipc.sendChannel('open', options) + ipc.send('open', options) # Public: Open a confirm dialog. # @@ -394,50 +394,50 @@ class Atom extends Model # Public: Open the dev tools for the current window. openDevTools: -> - ipc.sendChannel('call-window-method', 'openDevTools') + ipc.send('call-window-method', 'openDevTools') # Public: Toggle the visibility of the dev tools for the current window. toggleDevTools: -> - ipc.sendChannel('call-window-method', 'toggleDevTools') + ipc.send('call-window-method', 'toggleDevTools') # Public: Execute code in dev tools. executeJavaScriptInDevTools: (code) -> - ipc.sendChannel('call-window-method', 'executeJavaScriptInDevTools', code) + ipc.send('call-window-method', 'executeJavaScriptInDevTools', code) # Public: Reload the current window. reload: -> - ipc.sendChannel('call-window-method', 'restart') + ipc.send('call-window-method', 'restart') # Public: Focus the current window. focus: -> - ipc.sendChannel('call-window-method', 'focus') + ipc.send('call-window-method', 'focus') $(window).focus() # Public: Show the current window. show: -> - ipc.sendChannel('call-window-method', 'show') + ipc.send('call-window-method', 'show') # Public: Hide the current window. hide: -> - ipc.sendChannel('call-window-method', 'hide') + ipc.send('call-window-method', 'hide') # Public: Set the size of current window. # # width - The {Number} of pixels. # height - The {Number} of pixels. setSize: (width, height) -> - ipc.sendChannel('call-window-method', 'setSize', width, height) + ipc.send('call-window-method', 'setSize', width, height) # Public: Set the position of current window. # # x - The {Number} of pixels. # y - The {Number} of pixels. setPosition: (x, y) -> - ipc.sendChannel('call-window-method', 'setPosition', x, y) + ipc.send('call-window-method', 'setPosition', x, y) # Public: Move current window to the center of the screen. center: -> - ipc.sendChannel('call-window-method', 'center') + ipc.send('call-window-method', 'center') # Schedule the window to be shown and focused on the next tick. # @@ -472,7 +472,7 @@ class Atom extends Model # Public: Set the full screen state of the current window. setFullScreen: (fullScreen=false) -> - ipc.sendChannel('call-window-method', 'setFullScreen', fullScreen) + ipc.send('call-window-method', 'setFullScreen', fullScreen) # Public: Is the current window in full screen mode? isFullScreen: -> diff --git a/src/browser/atom-application.coffee b/src/browser/atom-application.coffee index 99b739ae5..e01b060aa 100644 --- a/src/browser/atom-application.coffee +++ b/src/browser/atom-application.coffee @@ -191,7 +191,7 @@ class AtomApplication @emit('application:new-window') # A request from the associated render process to open a new render process. - ipc.on 'open', (processId, routingId, options) => + ipc.on 'open', (event, options) => if options? if options.pathsToOpen?.length > 0 @openPaths(options) @@ -200,21 +200,21 @@ class AtomApplication else @promptForPath() - ipc.on 'update-application-menu', (processId, routingId, template, keystrokesByCommand) => + ipc.on 'update-application-menu', (event, template, keystrokesByCommand) => @applicationMenu.update(template, keystrokesByCommand) - ipc.on 'run-package-specs', (processId, routingId, specDirectory) => + ipc.on 'run-package-specs', (event, specDirectory) => @runSpecs({resourcePath: global.devResourcePath, specDirectory: specDirectory, exitWhenDone: false}) - ipc.on 'command', (processId, routingId, command) => + ipc.on 'command', (event, command) => @emit(command) - ipc.on 'window-command', (processId, routingId, command, args...) -> - win = BrowserWindow.fromProcessIdAndRoutingId(processId, routingId) + ipc.on 'window-command', (event, command, args...) -> + win = BrowserWindow.fromWebContents(event.sender) win.emit(command, args...) - ipc.on 'call-window-method', (processId, routingId, method, args...) -> - win = BrowserWindow.fromProcessIdAndRoutingId(processId, routingId) + ipc.on 'call-window-method', (event, method, args...) -> + win = BrowserWindow.fromWebContents(event.sender) win[method](args...) # Public: Executes the given command. diff --git a/src/browser/atom-window.coffee b/src/browser/atom-window.coffee index f65e66db1..2ae94bf55 100644 --- a/src/browser/atom-window.coffee +++ b/src/browser/atom-window.coffee @@ -2,7 +2,6 @@ BrowserWindow = require 'browser-window' ContextMenu = require './context-menu' app = require 'app' dialog = require 'dialog' -ipc = require 'ipc' path = require 'path' fs = require 'fs' url = require 'url' @@ -136,7 +135,7 @@ class AtomWindow sendCommandToBrowserWindow: (command, args...) -> action = if args[0]?.contextCommand then 'context-command' else 'command' - ipc.sendChannel @browserWindow.getProcessId(), @browserWindow.getRoutingId(), action, command, args... + @browserWindow.webContents.send action, command, args... getDimensions: -> [x, y] = @browserWindow.getPosition() diff --git a/src/menu-manager.coffee b/src/menu-manager.coffee index e66f10290..c21a5ad16 100644 --- a/src/menu-manager.coffee +++ b/src/menu-manager.coffee @@ -112,7 +112,7 @@ class MenuManager sendToBrowserProcess: (template, keystrokesByCommand) -> keystrokesByCommand = @filterMultipleKeystroke(keystrokesByCommand) - ipc.sendChannel 'update-application-menu', template, keystrokesByCommand + ipc.send 'update-application-menu', template, keystrokesByCommand normalizeLabel: (label) -> return undefined unless label? diff --git a/src/workspace-view.coffee b/src/workspace-view.coffee index 847228e4d..570c24233 100644 --- a/src/workspace-view.coffee +++ b/src/workspace-view.coffee @@ -106,33 +106,33 @@ class WorkspaceView extends View @on 'pane-container:active-pane-item-changed', => @updateTitle() @on 'pane:active-item-title-changed', '.active.pane', => @updateTitle() - @command 'application:about', -> ipc.sendChannel('command', 'application:about') - @command 'application:run-all-specs', -> ipc.sendChannel('command', 'application:run-all-specs') - @command 'application:run-benchmarks', -> ipc.sendChannel('command', 'application:run-benchmarks') - @command 'application:show-settings', -> ipc.sendChannel('command', 'application:show-settings') - @command 'application:quit', -> ipc.sendChannel('command', 'application:quit') - @command 'application:hide', -> ipc.sendChannel('command', 'application:hide') - @command 'application:hide-other-applications', -> ipc.sendChannel('command', 'application:hide-other-applications') - @command 'application:unhide-all-applications', -> ipc.sendChannel('command', 'application:unhide-all-applications') - @command 'application:new-window', -> ipc.sendChannel('command', 'application:new-window') - @command 'application:new-file', -> ipc.sendChannel('command', 'application:new-file') - @command 'application:open', -> ipc.sendChannel('command', 'application:open') - @command 'application:open-file', -> ipc.sendChannel('command', 'application:open-file') - @command 'application:open-folder', -> ipc.sendChannel('command', 'application:open-folder') - @command 'application:open-dev', -> ipc.sendChannel('command', 'application:open-dev') - @command 'application:minimize', -> ipc.sendChannel('command', 'application:minimize') - @command 'application:zoom', -> ipc.sendChannel('command', 'application:zoom') - @command 'application:bring-all-windows-to-front', -> ipc.sendChannel('command', 'application:bring-all-windows-to-front') - @command 'application:open-your-config', -> ipc.sendChannel('command', 'application:open-your-config') - @command 'application:open-your-init-script', -> ipc.sendChannel('command', 'application:open-your-init-script') - @command 'application:open-your-keymap', -> ipc.sendChannel('command', 'application:open-your-keymap') - @command 'application:open-your-snippets', -> ipc.sendChannel('command', 'application:open-your-snippets') - @command 'application:open-your-stylesheet', -> ipc.sendChannel('command', 'application:open-your-stylesheet') + @command 'application:about', -> ipc.send('command', 'application:about') + @command 'application:run-all-specs', -> ipc.send('command', 'application:run-all-specs') + @command 'application:run-benchmarks', -> ipc.send('command', 'application:run-benchmarks') + @command 'application:show-settings', -> ipc.send('command', 'application:show-settings') + @command 'application:quit', -> ipc.send('command', 'application:quit') + @command 'application:hide', -> ipc.send('command', 'application:hide') + @command 'application:hide-other-applications', -> ipc.send('command', 'application:hide-other-applications') + @command 'application:unhide-all-applications', -> ipc.send('command', 'application:unhide-all-applications') + @command 'application:new-window', -> ipc.send('command', 'application:new-window') + @command 'application:new-file', -> ipc.send('command', 'application:new-file') + @command 'application:open', -> ipc.send('command', 'application:open') + @command 'application:open-file', -> ipc.send('command', 'application:open-file') + @command 'application:open-folder', -> ipc.send('command', 'application:open-folder') + @command 'application:open-dev', -> ipc.send('command', 'application:open-dev') + @command 'application:minimize', -> ipc.send('command', 'application:minimize') + @command 'application:zoom', -> ipc.send('command', 'application:zoom') + @command 'application:bring-all-windows-to-front', -> ipc.send('command', 'application:bring-all-windows-to-front') + @command 'application:open-your-config', -> ipc.send('command', 'application:open-your-config') + @command 'application:open-your-init-script', -> ipc.send('command', 'application:open-your-init-script') + @command 'application:open-your-keymap', -> ipc.send('command', 'application:open-your-keymap') + @command 'application:open-your-snippets', -> ipc.send('command', 'application:open-your-snippets') + @command 'application:open-your-stylesheet', -> ipc.send('command', 'application:open-your-stylesheet') @command 'application:open-license', => @model.openLicense() @command 'window:install-shell-commands', => @installShellCommands() - @command 'window:run-package-specs', -> ipc.sendChannel('run-package-specs', path.join(atom.project.getPath(), 'spec')) + @command 'window:run-package-specs', -> ipc.send('run-package-specs', path.join(atom.project.getPath(), 'spec')) @command 'window:increase-font-size', => @increaseFontSize() @command 'window:decrease-font-size', => @decreaseFontSize() @command 'window:reset-font-size', => @model.resetFontSize()