remove global access to backgroundPage, optimize eventPage, track application startup time

10.3.x-maintenance
cTn 2014-10-01 14:08:15 +02:00
parent f9ff34fb8b
commit a580d94d10
2 changed files with 21 additions and 18 deletions

View File

@ -13,6 +13,8 @@
'use strict';
function start_app() {
var applicationStartTime = new Date().getTime();
chrome.app.window.create('main.html', {
id: 'main-window',
frame: 'chrome',
@ -21,21 +23,23 @@ function start_app() {
minHeight: 632
}
}, function (createdWindow) {
createdWindow.onClosed.addListener(function () {
// connectionId is passed from the script side through the chrome.runtime.getBackgroundPage refference
// allowing us to automatically close the port when application shut down
createdWindow.contentWindow.addEventListener('load', function () {
createdWindow.contentWindow.catch_startup_time(applicationStartTime);
});
// save connectionId in separate variable before app_window is destroyed
var connectionId = app_window.serial.connectionId;
var valid_connection = app_window.CONFIGURATOR.connectionValid;
var mincommand = app_window.MISC.mincommand;
createdWindow.onClosed.addListener(function () {
// autoamtically close the port when application closes
// save connectionId in separate variable before createdWindow.contentWindow is destroyed
var connectionId = createdWindow.contentWindow.serial.connectionId,
valid_connection = createdWindow.contentWindow.CONFIGURATOR.connectionValid,
mincommand = createdWindow.contentWindow.MISC.mincommand;
if (connectionId > 0 && valid_connection) {
// code below is handmade MSP message (without pretty JS wrapper), it behaves exactly like MSP.send_message
// reset motors to default (mincommand)
var bufferOut = new ArrayBuffer(22);
var bufView = new Uint8Array(bufferOut);
var checksum = 0;
var bufferOut = new ArrayBuffer(22),
bufView = new Uint8Array(bufferOut),
checksum = 0;
bufView[0] = 36; // $
bufView[1] = 77; // M

15
main.js
View File

@ -1,13 +1,5 @@
'use strict';
// Get access to the background window object
// This object is used to pass variables between active page and background page
var backgroundPage;
chrome.runtime.getBackgroundPage(function (result) {
backgroundPage = result;
backgroundPage.app_window = window;
});
// Google Analytics
var googleAnalyticsService = analytics.getService('ice_cream_app');
var googleAnalytics = googleAnalyticsService.getTracker('UA-32728876-6');
@ -259,6 +251,13 @@ $(document).ready(function () {
});
});
function catch_startup_time(startTime) {
var endTime = new Date().getTime(),
timeSpent = endTime - startTime;
googleAnalytics.sendTiming('Load Times', 'Application Startup', timeSpent);
}
function microtime() {
var now = new Date().getTime() / 1000;