History

Call preventDefault() on IDB errors so they don't bubble up to window.onerror

Thibaut committed 11 years ago

Commit 0231b841 parent 9b1d7041 file · +26 −7Browse files

Unified · Split

assets/javascripts/app/db.coffee+26−7
@@ -37,7 +37,8 @@ class app.DB · 36 unmodified lines
3737 db.close()
3838 return
3939
40− onOpenError: =>
40+ onOpenError: (event) =>
41+ event?.preventDefault()
4142 @useIndexedDB = @open = false
4243 @runCallbacks()
4344 return
@@ -114,8 +115,13 @@ class app.DB · 70 unmodified lines
114115 store = txn.objectStore('docs')
115116
116117 req = store.get(doc.slug)
117− req.onsuccess = -> fn(req.result)
118− req.onerror = -> fn(false)
118+ req.onsuccess = ->
119+ fn(req.result)
120+ return
121+ req.onerror = (event) ->
122+ event.preventDefault()
123+ fn(false)
124+ return
119125 return
120126 return
121127
@@ -140,8 +146,13 @@ class app.DB · 18 unmodified lines
140146
141147 docs.forEach (doc) ->
142148 req = store.get(doc.slug)
143− req.onsuccess = -> result[doc.slug] = req.result
144− req.onerror = -> result[doc.slug] = false
149+ req.onsuccess = ->
150+ result[doc.slug] = req.result
151+ return
152+ req.onerror = (event) ->
153+ event.preventDefault()
154+ result[doc.slug] = false
155+ return
145156 return
146157 return
147158
@@ -175,8 +186,13 @@ class app.DB · 27 unmodified lines
175186 store = txn.objectStore(entry.doc.slug)
176187
177188 req = store.get(entry.dbPath())
178− req.onsuccess = -> if req.result then onSuccess(req.result) else onError()
179− req.onerror = onError
189+ req.onsuccess = ->
190+ if req.result then onSuccess(req.result) else onError()
191+ return
192+ req.onerror = (event) ->
193+ event.preventDefault()
194+ onError()
195+ return
180196 @loadDocsCache(db) unless @cachedDocs
181197 return
182198
@@ -192,6 +208,9 @@ class app.DB · 9 unmodified lines
192208 @cachedDocs[cursor.key] = cursor.value
193209 cursor.continue()
194210 return
211+ req.onerror = (event) ->
212+ event.preventDefault()
213+ return
195214 return
196215
197216 shouldLoadWithIDB: (entry) ->