X-Git-Url: https://git-public.kairo.at/?p=lantea.git;a=blobdiff_plain;f=js%2Fui.js;h=bc3303d8474674363375f89e8f02060c1c823a0e;hp=e347b99842732bcf3b1540e8308228acf44fe4db;hb=b5e49b956629a45c3af14a87790060cbf18a718a;hpb=4b1d0915c90afdb6ca77be1dc721cc4ccec5cf0c diff --git a/js/ui.js b/js/ui.js index e347b99..bc3303d 100644 --- a/js/ui.js +++ b/js/ui.js @@ -3,7 +3,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ // Get the best-available indexedDB object. -var iDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB; +window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB; var mainDB; var gUIHideCountdown = 0; @@ -47,7 +47,7 @@ window.onload = function() { if (gWaitCounter <= 0) gWaitCounter = 0; else - document.getElementById("debug").textContent = "Loading prefs failed."; + console.log("Loading failed (waiting for init)."); gMapPrefsLoaded = true; resizeAndDraw(); @@ -66,24 +66,33 @@ window.onresize = function() { function initDB() { // Open DB. - var request = iDB.open("MainDB", 1); + 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."; - // Create a "prefs" objectStore. - var prefsStore = mainDB.createObjectStore("prefs"); - // Create a "track" objectStore. - var trackStore = mainDB.createObjectStore("track", {autoIncrement: true}); + var ver = mainDB.version || 0; // version is empty string for a new DB + 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 (!mainDB.objectStoreNames.contains("tilecache")) { + // Create a "tilecache" objectStore. + var tilecacheStore = mainDB.createObjectStore("tilecache"); + } mainDB.onversionchange = function(event) { mainDB.close(); mainDB = undefined;