* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
-// Get the best-available indexedDB object.
+// Get the best-available objects for indexedDB and requestAnimationFrame.
window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB;
-var mainDB;
+window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
+var mainDB;
+var gAppInitDone = false;
var gUIHideCountdown = 0;
var gWaitCounter = 0;
var gAction, gActionLabel;
gAction.removeEventListener(aEvent.type, postInit, false);
console.log("init done, draw map.");
gMapPrefsLoaded = true;
- resizeAndDraw();
+ gAppInitDone = true;
+ //gMap.resizeAndDraw(); <-- HACK: This triggers bug 1001853, work around with a delay.
+ window.setTimeout(gMap.resizeAndDraw, 100);
gActionLabel.textContent = "";
gAction.style.display = "none";
setTracking(document.getElementById("trackCheckbox"));
}
window.onresize = function() {
- resizeAndDraw();
+ gMap.resizeAndDraw();
}
function initDB(aEvent) {
function maybeHideUI() {
gUIHideCountdown--;
+ if (document.getElementById("trackArea").style.display == "block") {
+ // If track area is visible, update track data.
+ document.getElementById("trackLength").textContent = calcTrackLength().toFixed(1);
+ document.getElementById("trackDuration").textContent = Math.round(calcTrackDuration()/60);
+ }
if (gUIHideCountdown <= 0) {
var areas = document.getElementsByClassName('overlayArea');
for (var i = 0; i <= areas.length - 1; i++) {