diff --git a/atom.gyp b/atom.gyp index 8e17e043db43..803c0ec4b3f8 100644 --- a/atom.gyp +++ b/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', ], diff --git a/renderer/lib/init.coffee b/renderer/lib/init.coffee index 01b72777ff03..cf275f1bb286 100644 --- a/renderer/lib/init.coffee +++ b/renderer/lib/init.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') diff --git a/renderer/lib/override.coffee b/renderer/lib/override.coffee new file mode 100644 index 000000000000..1938afbd56bf --- /dev/null +++ b/renderer/lib/override.coffee @@ -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