X-Git-Url: https://git-public.kairo.at/?p=lantea.git;a=blobdiff_plain;f=js%2Fui.js;h=f2501cf507501a2fb5566c3b6402d8257aaf755a;hp=e347b99842732bcf3b1540e8308228acf44fe4db;hb=a8634d376327635d475798e7cfbc5b3630935f18;hpb=4b1d0915c90afdb6ca77be1dc721cc4ccec5cf0c diff --git a/js/ui.js b/js/ui.js index e347b99..f2501cf 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."; + document.getElementById("debug").textContent = "Loading failed (waiting for init)."; gMapPrefsLoaded = true; resizeAndDraw(); @@ -66,7 +66,7 @@ window.onresize = function() { function initDB() { // Open DB. - var request = iDB.open("MainDB", 1); + var request = window.indexedDB.open("MainDB", 4); request.onerror = function(event) { // Errors can be handled here. Error codes explain in: // https://developer.mozilla.org/en/IndexedDB/IDBDatabaseException#Constants @@ -80,10 +80,17 @@ function initDB() { 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 (ver <= 1) { + // Create a "prefs" objectStore. + var prefsStore = mainDB.createObjectStore("prefs"); + // Create a "track" objectStore. + var trackStore = mainDB.createObjectStore("track", {autoIncrement: true}); + } + if (ver <= 4) { + // Create a "tilecache" objectStore. + var tilecacheStore = mainDB.createObjectStore("tilecache"); + } mainDB.onversionchange = function(event) { mainDB.close(); mainDB = undefined;