* 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;
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();
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
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;