2014-03-05 19:03:27 +04:00
|
|
|
window.onload = function() {
|
|
|
|
try {
|
2014-10-13 19:17:26 +04:00
|
|
|
var startTime = Date.now();
|
|
|
|
|
2014-10-30 20:49:08 +03:00
|
|
|
var path = require('path');
|
|
|
|
|
2014-03-05 19:03:27 +04:00
|
|
|
// Skip "?loadSettings=".
|
|
|
|
var loadSettings = JSON.parse(decodeURIComponent(location.search.substr(14)));
|
|
|
|
|
2014-10-30 20:30:10 +03:00
|
|
|
// Normalize to make sure drive letter case is consistent on Windows
|
|
|
|
process.resourcesPath = path.normalize(process.resourcesPath);
|
|
|
|
|
2014-10-30 20:48:51 +03:00
|
|
|
var devMode = loadSettings.devMode || !loadSettings.resourcePath.startsWith(process.resourcesPath + path.sep);
|
2014-10-29 20:21:23 +03:00
|
|
|
|
2014-10-10 03:57:08 +04:00
|
|
|
// Require before the module cache in dev mode
|
2014-10-29 20:21:23 +03:00
|
|
|
if (devMode) {
|
2014-10-10 03:57:08 +04:00
|
|
|
require('coffee-script').register();
|
|
|
|
}
|
|
|
|
|
2014-10-10 01:05:23 +04:00
|
|
|
ModuleCache = require('../src/module-cache');
|
|
|
|
ModuleCache.register(loadSettings);
|
|
|
|
ModuleCache.add(loadSettings.resourcePath);
|
|
|
|
|
2014-03-05 19:03:27 +04:00
|
|
|
// Start the crash reporter before anything else.
|
|
|
|
require('crash-reporter').start({
|
|
|
|
productName: 'Atom',
|
|
|
|
companyName: 'GitHub',
|
|
|
|
// By explicitly passing the app version here, we could save the call
|
|
|
|
// of "require('remote').require('app').getVersion()".
|
|
|
|
extra: {_version: loadSettings.appVersion}
|
|
|
|
});
|
|
|
|
|
|
|
|
require('vm-compatibility-layer');
|
2014-10-10 03:57:08 +04:00
|
|
|
|
2014-10-29 20:21:23 +03:00
|
|
|
if (!devMode) {
|
2014-10-10 03:57:08 +04:00
|
|
|
require('coffee-script').register();
|
|
|
|
}
|
|
|
|
|
2014-10-08 21:11:51 +04:00
|
|
|
require('../src/coffee-cache').register();
|
2014-10-08 21:00:13 +04:00
|
|
|
|
2014-03-05 19:03:27 +04:00
|
|
|
require(loadSettings.bootstrapScript);
|
2014-10-13 19:17:26 +04:00
|
|
|
require('ipc').sendChannel('window-command', 'window:loaded');
|
|
|
|
|
|
|
|
if (global.atom) {
|
|
|
|
global.atom.loadTime = Date.now() - startTime;
|
|
|
|
console.log('Window load time: ' + global.atom.getWindowLoadTime() + 'ms');
|
|
|
|
}
|
2014-03-05 19:03:27 +04:00
|
|
|
}
|
|
|
|
catch (error) {
|
|
|
|
var currentWindow = require('remote').getCurrentWindow();
|
|
|
|
currentWindow.setSize(800, 600);
|
|
|
|
currentWindow.center();
|
|
|
|
currentWindow.show();
|
|
|
|
currentWindow.openDevTools();
|
|
|
|
console.error(error.stack || error);
|
|
|
|
}
|
|
|
|
}
|