move debug output to console.log; make DB upgrade work more reasonably
authorRobert Kaiser <kairo@kairo.at>
Fri, 14 Dec 2012 23:40:14 +0000 (00:40 +0100)
committerRobert Kaiser <kairo@kairo.at>
Fri, 14 Dec 2012 23:40:14 +0000 (00:40 +0100)
js/map.js
js/ui.js

index 04bbc1a..a698818 100644 (file)
--- a/js/map.js
+++ b/js/map.js
@@ -122,7 +122,7 @@ function initMap() {
       gWaitCounter++;
       gTrackStore.getList(function(aTPoints) {
         if (gDebug)
-          document.getElementById("debug").textContent = aTPoints.length + " points loaded.";
+          console.log(aTPoints.length + " points loaded.");
         if (aTPoints.length) {
           gTrack = aTPoints;
         }
@@ -133,7 +133,7 @@ function initMap() {
       setTimeout(getPersistentPrefs, 100);
     loopCnt++;
     if (loopCnt > 50) {
-      document.getElementById("debug").textContent = "Loading prefs failed.";
+      console.log("Loading prefs failed.");
     }
   };
   getPersistentPrefs();
@@ -165,13 +165,14 @@ function initMap() {
 function resizeAndDraw() {
   var viewportWidth = Math.min(window.innerWidth, window.outerWidth);
   var viewportHeight = Math.min(window.innerHeight, window.outerHeight);
-
-  gMapCanvas.width = viewportWidth;
-  gMapCanvas.height = viewportHeight;
-  gTrackCanvas.width = viewportWidth;
-  gTrackCanvas.height = viewportHeight;
-  drawMap();
-  showUI();
+  if (gMapCanvas && gTrackCanvas) {
+    gMapCanvas.width = viewportWidth;
+    gMapCanvas.height = viewportHeight;
+    gTrackCanvas.width = viewportWidth;
+    gTrackCanvas.height = viewportHeight;
+    drawMap();
+    showUI();
+  }
 }
 
 function zoomIn() {
@@ -475,10 +476,9 @@ var mapEvHandler = {
                        y: gPos.y + (x - gMapCanvas.height / 2) * gZoomFactor};
         var gpsCoord = xy2gps(ptCoord.x, ptCoord.y);
         var pt2Coord = gps2xy(gpsCoord.latitude, gpsCoord.longitude);
-        document.getElementById("debug").textContent =
-            ptCoord.x + "/" + ptCoord.y + " - " +
-            gpsCoord.latitude + "/" + gpsCoord.longitude + " - " +
-            pt2Coord.x + "/" + pt2Coord.y;
+        console.log(ptCoord.x + "/" + ptCoord.y + " - " +
+                    gpsCoord.latitude + "/" + gpsCoord.longitude + " - " +
+                    pt2Coord.x + "/" + pt2Coord.y);
         */
 
         var newZoomLevel = gPos.z + (delta > 0 ? 1 : -1);
@@ -591,7 +591,8 @@ function startTracking() {
       function(error) {
         // Ignore erros for the moment, but this is good for debugging.
         // See https://developer.mozilla.org/en/Using_geolocation#Handling_errors
-        document.getElementById("debug").textContent = error.message;
+        if (gDebug)
+          console.log(error.message);
       },
       {enableHighAccuracy: true}
     );
index f2501cf..bc3303d 100644 (file)
--- a/js/ui.js
+++ b/js/ui.js
@@ -47,7 +47,7 @@ window.onload = function() {
       if (gWaitCounter <= 0)
         gWaitCounter = 0;
       else
-        document.getElementById("debug").textContent = "Loading failed (waiting for init).";
+        console.log("Loading failed (waiting for init).");
 
       gMapPrefsLoaded = true;
       resizeAndDraw();
@@ -66,28 +66,30 @@ window.onresize = function() {
 
 function initDB() {
   // Open DB.
-  var request = window.indexedDB.open("MainDB", 4);
+  var request = window.indexedDB.open("MainDB", 2);
   request.onerror = function(event) {
     // Errors can be handled here. Error codes explain in:
     // https://developer.mozilla.org/en/IndexedDB/IDBDatabaseException#Constants
-    //document.getElementById("debug").textContent =
-    //  "error opening mainDB: " + event.target.errorCode;
+    if (gDebug)
+      console.log("error opening mainDB: " + event.target.errorCode);
   };
   request.onsuccess = function(event) {
-    //document.getElementById("debug").textContent = "mainDB opened.";
     mainDB = request.result;
   };
   request.onupgradeneeded = function(event) {
     mainDB = request.result;
-    //document.getElementById("debug").textContent = "mainDB upgraded.";
     var ver = mainDB.version || 0; // version is empty string for a new DB
-    if (ver <= 1) {
+    if (gDebug)
+      console.log("mainDB has version " + ver + ", upgrade needed.");
+    if (!mainDB.objectStoreNames.contains("prefs")) {
       // Create a "prefs" objectStore.
       var prefsStore = mainDB.createObjectStore("prefs");
+    }
+    if (!mainDB.objectStoreNames.contains("track")) {
       // Create a "track" objectStore.
       var trackStore = mainDB.createObjectStore("track", {autoIncrement: true});
     }
-    if (ver <= 4) {
+    if (!mainDB.objectStoreNames.contains("tilecache")) {
       // Create a "tilecache" objectStore.
       var tilecacheStore = mainDB.createObjectStore("tilecache");
     }