Separate overrides from init script.
This commit is contained in:
parent
4c8e483bc1
commit
753a1e7aff
3 changed files with 39 additions and 36 deletions
1
atom.gyp
1
atom.gyp
|
@ -32,6 +32,7 @@
|
|||
'common/api/lib/shell.coffee',
|
||||
'common/lib/init.coffee',
|
||||
'renderer/lib/init.coffee',
|
||||
'renderer/lib/override.coffee',
|
||||
'renderer/api/lib/ipc.coffee',
|
||||
'renderer/api/lib/remote.coffee',
|
||||
],
|
||||
|
|
|
@ -42,39 +42,5 @@ else
|
|||
global.__filename = __filename
|
||||
global.__dirname = __dirname
|
||||
|
||||
# Redirect window.onerror to uncaughtException.
|
||||
window.onerror = (error) ->
|
||||
if global.process.listeners('uncaughtException').length > 0
|
||||
global.process.emit 'uncaughtException', error
|
||||
true
|
||||
else
|
||||
false
|
||||
|
||||
# Override default window.close, see:
|
||||
# https://github.com/atom/atom-shell/issues/70
|
||||
window.close = ->
|
||||
require('remote').getCurrentWindow().close()
|
||||
|
||||
# Override default window.open.
|
||||
window.open = (url, name, features) ->
|
||||
options = {}
|
||||
for feature in features.split ','
|
||||
[name, value] = feature.split '='
|
||||
options[name] =
|
||||
if value is 'yes'
|
||||
true
|
||||
else if value is 'no'
|
||||
false
|
||||
else
|
||||
value
|
||||
|
||||
options.x ?= options.left
|
||||
options.y ?= options.top
|
||||
options.title ?= name
|
||||
options.width ?= 800
|
||||
options.height ?= 600
|
||||
|
||||
BrowserWindow = require('remote').require 'browser-window'
|
||||
browser = new BrowserWindow options
|
||||
browser.loadUrl url
|
||||
browser
|
||||
# Override default web functions.
|
||||
require path.join(__dirname, 'override')
|
||||
|
|
36
renderer/lib/override.coffee
Normal file
36
renderer/lib/override.coffee
Normal file
|
@ -0,0 +1,36 @@
|
|||
# Redirect window.onerror to uncaughtException.
|
||||
window.onerror = (error) ->
|
||||
if global.process.listeners('uncaughtException').length > 0
|
||||
global.process.emit 'uncaughtException', error
|
||||
true
|
||||
else
|
||||
false
|
||||
|
||||
# Override default window.close, see:
|
||||
# https://github.com/atom/atom-shell/issues/70
|
||||
window.close = ->
|
||||
require('remote').getCurrentWindow().close()
|
||||
|
||||
# Override default window.open.
|
||||
window.open = (url, name, features) ->
|
||||
options = {}
|
||||
for feature in features.split ','
|
||||
[name, value] = feature.split '='
|
||||
options[name] =
|
||||
if value is 'yes'
|
||||
true
|
||||
else if value is 'no'
|
||||
false
|
||||
else
|
||||
value
|
||||
|
||||
options.x ?= options.left
|
||||
options.y ?= options.top
|
||||
options.title ?= name
|
||||
options.width ?= 800
|
||||
options.height ?= 600
|
||||
|
||||
BrowserWindow = require('remote').require 'browser-window'
|
||||
browser = new BrowserWindow options
|
||||
browser.loadUrl url
|
||||
browser
|
Loading…
Reference in a new issue