mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix spurious idb error on startup in Safari
This commit is contained in:
parent
3de72fd9ca
commit
8c2f2cfc0e
@ -83,14 +83,17 @@ class DB:
|
|||||||
request.onsuccess = def(event):
|
request.onsuccess = def(event):
|
||||||
blob = Blob(['test'], {'type':"text/plain"})
|
blob = Blob(['test'], {'type':"text/plain"})
|
||||||
idb = event.target.result
|
idb = event.target.result
|
||||||
|
store = idb.transaction(['files'], 'readwrite').objectStore('files')
|
||||||
try:
|
try:
|
||||||
req = idb.transaction(['files'], 'readwrite').objectStore('files').put(blob, ':-test-blob-:')
|
req = store.put(blob, ':-test-blob-:')
|
||||||
except Exception:
|
except:
|
||||||
self.initialize_stage2(idb, False)
|
self.initialize_stage2(idb, False)
|
||||||
req.onsuccess = def(event):
|
req.onsuccess = def(event):
|
||||||
self.initialize_stage2(idb, True)
|
self.initialize_stage2(idb, True)
|
||||||
req.onerror = def(event):
|
req.onerror = def(event):
|
||||||
self.initialize_stage2(idb, False)
|
# We use setTimeout as otherwise the idb.onerror handler is
|
||||||
|
# called with this error on Safari
|
||||||
|
setTimeout(self.initialize_stage2.bind(None, idb, False), 0)
|
||||||
|
|
||||||
def initialize_stage2(self, idb, supports_blobs):
|
def initialize_stage2(self, idb, supports_blobs):
|
||||||
self.idb = idb
|
self.idb = idb
|
||||||
|
Loading…
x
Reference in New Issue
Block a user