Remove sync call in remote module

This commit is contained in:
Cheng Zhao 2015-12-17 22:03:16 +08:00
parent 0282d424bf
commit 353f08e477
5 changed files with 34 additions and 31 deletions

View file

@ -1,7 +1,9 @@
# Import common modules. common = require '../../../../common/api/lib/exports/electron'
module.exports = require '../../../../common/api/lib/exports/electron'
Object.defineProperties module.exports, # Import common modules.
common.defineProperties exports
Object.defineProperties exports,
# Browser side modules, please sort with alphabet order. # Browser side modules, please sort with alphabet order.
app: app:
enumerable: true enumerable: true

View file

@ -219,9 +219,6 @@ ipcMain.on 'ATOM_BROWSER_GUEST_WEB_CONTENTS', (event, guestInstanceId) ->
catch e catch e
event.returnValue = exceptionToMeta e event.returnValue = exceptionToMeta e
ipcMain.on 'ATOM_BROWSER_LIST_MODULES', (event) ->
event.returnValue = (name for name of electron)
ipcMain.on 'ATOM_BROWSER_ASYNC_CALL_TO_GUEST_VIEW', (event, guestInstanceId, method, args...) -> ipcMain.on 'ATOM_BROWSER_ASYNC_CALL_TO_GUEST_VIEW', (event, guestInstanceId, method, args...) ->
try try
guestViewManager = require './guest-view-manager' guestViewManager = require './guest-view-manager'

View file

@ -5,23 +5,25 @@ exports.hideInternalModules = ->
# Remove the "common/api/lib" and "browser-or-renderer/api/lib". # Remove the "common/api/lib" and "browser-or-renderer/api/lib".
globalPaths.splice 0, 2 globalPaths.splice 0, 2
Object.defineProperties exports, # Attaches properties to |exports|.
# Common modules, please sort with alphabet order. exports.defineProperties = (exports) ->
clipboard: Object.defineProperties exports,
# Must be enumerable, otherwise it woulde be invisible to remote module. # Common modules, please sort with alphabet order.
enumerable: true clipboard:
get: -> require '../clipboard' # Must be enumerable, otherwise it woulde be invisible to remote module.
crashReporter: enumerable: true
enumerable: true get: -> require '../clipboard'
get: -> require '../crash-reporter' crashReporter:
nativeImage: enumerable: true
enumerable: true get: -> require '../crash-reporter'
get: -> require '../native-image' nativeImage:
shell: enumerable: true
enumerable: true get: -> require '../native-image'
get: -> require '../shell' shell:
# The internal modules, invisible unless you know their names. enumerable: true
CallbacksRegistry: get: -> require '../shell'
get: -> require '../callbacks-registry' # The internal modules, invisible unless you know their names.
deprecate: CallbacksRegistry:
get: -> require '../deprecate' get: -> require '../callbacks-registry'
deprecate:
get: -> require '../deprecate'

View file

@ -1,7 +1,9 @@
# Import common modules. common = require '../../../../common/api/lib/exports/electron'
module.exports = require '../../../../common/api/lib/exports/electron'
Object.defineProperties module.exports, # Import common modules.
common.defineProperties exports
Object.defineProperties exports,
# Renderer side modules, please sort with alphabet order. # Renderer side modules, please sort with alphabet order.
desktopCapturer: desktopCapturer:
enumerable: true enumerable: true

View file

@ -126,9 +126,9 @@ ipcRenderer.on 'ATOM_RENDERER_RELEASE_CALLBACK', (event, id) ->
callbacksRegistry.remove id callbacksRegistry.remove id
# List all built-in modules in browser process. # List all built-in modules in browser process.
browserModules = ipcRenderer.sendSync 'ATOM_BROWSER_LIST_MODULES' browserModules = require '../../../browser/api/lib/exports/electron'
# And add a helper receiver for each one. # And add a helper receiver for each one.
for name in browserModules for name of browserModules
do (name) -> do (name) ->
Object.defineProperty exports, name, get: -> exports.getBuiltin name Object.defineProperty exports, name, get: -> exports.getBuiltin name