@@ -46,6 +46,13 @@ shaka.offline.indexeddb.StorageMechanism = class {
46
46
this . v5_ = null ;
47
47
/** @private {shaka.extern.EmeSessionStorageCell} */
48
48
this . sessions_ = null ;
49
+ /** @private {string} */
50
+ this . stack_ = '' ;
51
+ try {
52
+ throw new Error ( '' ) ;
53
+ } catch ( error ) {
54
+ this . stack_ = error . stack ;
55
+ }
49
56
}
50
57
51
58
/**
@@ -62,6 +69,7 @@ shaka.offline.indexeddb.StorageMechanism = class {
62
69
let timedOut = false ;
63
70
const timeOutTimer = new shaka . util . Timer ( ( ) => {
64
71
timedOut = true ;
72
+ window . dump ( 'TIMEOUT on open from: ' + this . stack_ ) ;
65
73
p . reject ( new shaka . util . Error (
66
74
shaka . util . Error . Severity . CRITICAL ,
67
75
shaka . util . Error . Category . STORAGE ,
@@ -89,6 +97,9 @@ shaka.offline.indexeddb.StorageMechanism = class {
89
97
timeOutTimer . stop ( ) ;
90
98
p . resolve ( ) ;
91
99
} ;
100
+ open . onversionchange = ( event ) => {
101
+ window . dump ( 'VERSIONCHANGE triggered for database from: ' + this . stack_ ) ;
102
+ } ;
92
103
open . onupgradeneeded = ( event ) => {
93
104
// Add object stores for the latest version only.
94
105
this . createStores_ ( open . result ) ;
@@ -105,6 +116,10 @@ shaka.offline.indexeddb.StorageMechanism = class {
105
116
open . error ) ) ;
106
117
timeOutTimer . stop ( ) ;
107
118
} ;
119
+ open . onblocked = ( event ) => {
120
+ window . dump ( 'Opening ' + name + ' is being blocked from: ' + this . stack_ ) ;
121
+ p . reject ( new Error ( 'Open blocked' ) ) ;
122
+ } ;
108
123
109
124
return p ;
110
125
}
@@ -191,7 +206,7 @@ shaka.offline.indexeddb.StorageMechanism = class {
191
206
this . db_ . close ( ) ;
192
207
}
193
208
194
- await shaka . offline . indexeddb . StorageMechanism . deleteAll_ ( ) ;
209
+ await this . deleteAll_ ( ) ;
195
210
196
211
// Reset before initializing.
197
212
this . db_ = null ;
@@ -329,14 +344,16 @@ shaka.offline.indexeddb.StorageMechanism = class {
329
344
* @return {!Promise }
330
345
* @private
331
346
*/
332
- static deleteAll_ ( ) {
347
+ deleteAll_ ( ) {
333
348
const name = shaka . offline . indexeddb . StorageMechanism . DB_NAME ;
334
349
335
350
const p = new shaka . util . PublicPromise ( ) ;
336
351
337
352
const del = window . indexedDB . deleteDatabase ( name ) ;
338
353
del . onblocked = ( event ) => {
339
- shaka . log . warning ( 'Deleting' , name , 'is being blocked' , event ) ;
354
+ window . dump (
355
+ 'Deleting ' + name + ' is being blocked from: ' + this . stack_ ) ;
356
+ p . reject ( new Error ( 'Delete blocked' ) ) ;
340
357
} ;
341
358
del . onsuccess = ( event ) => {
342
359
p . resolve ( ) ;
0 commit comments