From 9b620ba18adb46de59f5a1a63711b45b3a19a832 Mon Sep 17 00:00:00 2001 From: Igor Zhukov Date: Sat, 21 Jun 2014 11:12:34 +0400 Subject: [PATCH] Disabled IndexedDB workaround Closes #336 --- app/js/lib/ng_utils.js | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/app/js/lib/ng_utils.js b/app/js/lib/ng_utils.js index 86007679..fc181a4f 100644 --- a/app/js/lib/ng_utils.js +++ b/app/js/lib/ng_utils.js @@ -294,19 +294,24 @@ angular.module('izhukov.utils', []) return openDbPromise; } - var request = indexedDB.open(dbName, dbVersion), - deferred = $q.defer(), - createObjectStore = function (db) { - db.createObjectStore(dbStoreName); - }; + try { + var request = indexedDB.open(dbName, dbVersion), + deferred = $q.defer(), + createObjectStore = function (db) { + db.createObjectStore(dbStoreName); + }; + } catch (error) { + storageIsAvailable = false; + return $q.reject(error); + } request.onsuccess = function (event) { db = request.result; - db.onerror = function (event) { + db.onerror = function (error) { storageIsAvailable = false; - console.error("Error creating/accessing IndexedDB database", event); - deferred.reject(event); + console.error('Error creating/accessing IndexedDB database', error); + deferred.reject(error); }; // Interim solution for Google Chrome to create an objectStore. Will be deprecated @@ -326,6 +331,12 @@ angular.module('izhukov.utils', []) } }; + request.onerror = function (event) { + storageIsAvailable = false; + console.error('Error creating/accessing IndexedDB database', event); + deferred.reject(event); + } + request.onupgradeneeded = function (event) { createObjectStore(event.target.result); }; @@ -385,6 +396,8 @@ angular.module('izhukov.utils', []) return $q.when(fakeWriter); } + openDatabase(); + return { isAvailable: isAvailable, saveFile: saveFile, @@ -481,6 +494,8 @@ angular.module('izhukov.utils', []) }) } + requestFS(); + return { isAvailable: isAvailable, saveFile: saveFile,