Add API to get any global variable from browser.

This commit is contained in:
Cheng Zhao 2013-04-30 16:27:14 +08:00
parent 7a2734ed71
commit a06c9b806b
2 changed files with 17 additions and 0 deletions

View file

@ -54,6 +54,12 @@ ipc.on 'ATOM_BROWSER_REQUIRE', (event, processId, routingId, module) ->
catch e
event.result = type: 'error', value: e.message
ipc.on 'ATOM_BROWSER_GLOBAL', (event, processId, routingId, name) ->
try
event.result = new Meta(processId, routingId, global[name])
catch e
event.result = type: 'error', value: e.message
ipc.on 'ATOM_BROWSER_CURRENT_WINDOW', (event, processId, routingId) ->
try
windows = objectsRegistry.getAllWindows()

View file

@ -103,3 +103,14 @@ exports.getObject = (id) ->
exports.getCurrentWindow = ->
meta = ipc.sendChannelSync 'ATOM_BROWSER_CURRENT_WINDOW'
metaToValue meta
# Get a global object in browser.
exports.getGlobal = (name) ->
meta = ipc.sendChannelSync 'ATOM_BROWSER_GLOBAL', name
metaToValue meta
# Get the process object in browser.
processCache = null
exports.__defineGetter__ 'process', ->
processCache = exports.getGlobal('process') unless processCache?
processCache