OLD | NEW |
(Empty) | |
| 1 <html> |
| 2 <head> |
| 3 <script src="../../resources/js-test.js"></script> |
| 4 <script src="resources/shared.js"></script> |
| 5 </head> |
| 6 <body> |
| 7 <script> |
| 8 |
| 9 description("Test deleting an object store and a database containing blobs."); |
| 10 |
| 11 indexedDBTest(prepareDatabase, reopen, {version: 1}); |
| 12 function prepareDatabase() |
| 13 { |
| 14 db = event.target.result; |
| 15 event.target.transaction.onabort = unexpectedAbortCallback; |
| 16 evalAndLog("store0 = db.createObjectStore('store0')"); |
| 17 evalAndLog("store1 = db.createObjectStore('store1')"); |
| 18 blobAContent = "First blob content"; |
| 19 blobA = new Blob([blobAContent], {"type" : "text\/plain"}); |
| 20 key = "blob key"; |
| 21 evalAndLog("store0.put(blobA, key)"); |
| 22 delete blobA; |
| 23 } |
| 24 |
| 25 function reopen() |
| 26 { |
| 27 evalAndLog("db.close()"); |
| 28 debug(""); |
| 29 debug("reopen():"); |
| 30 request = indexedDB.open(dbname, 2); |
| 31 request.onupgradeneeded = deleteObjectStore; |
| 32 request.onsuccess = unexpectedSuccessCallback; |
| 33 request.onerror = unexpectedErrorCallback; |
| 34 request.onblocked = unexpectedBlockedCallback; |
| 35 } |
| 36 |
| 37 function deleteObjectStore(e) |
| 38 { |
| 39 debug(""); |
| 40 debug("deleteObjectStore():"); |
| 41 db = e.target.result; |
| 42 evalAndLog("db.deleteObjectStore('store0')"); |
| 43 request.onsuccess = didDeleteObjectStore; |
| 44 } |
| 45 |
| 46 function didDeleteObjectStore() |
| 47 { |
| 48 debug(""); |
| 49 debug("didDeleteObjectStore()"); |
| 50 blobBContent = "Second blob content"; |
| 51 evalAndLog("trans = db.transaction('store1', 'readwrite')"); |
| 52 evalAndLog("store1 = trans.objectStore('store1')"); |
| 53 blobB = new Blob([blobBContent], {"type" : "text\/plain"}); |
| 54 evalAndLog("store1.put(blobB, key)"); |
| 55 delete blobB; |
| 56 trans.oncomplete = deleteDatabase; |
| 57 } |
| 58 |
| 59 function deleteDatabase() |
| 60 { |
| 61 evalAndLog("db.close()"); |
| 62 evalAndLog("request = indexedDB.deleteDatabase(dbname)"); |
| 63 request.onerror = unexpectedErrorCallback; |
| 64 request.onsuccess = reportSuccess; |
| 65 } |
| 66 |
| 67 function reportSuccess() |
| 68 { |
| 69 debug("Database deleted."); |
| 70 finishJSTest(); |
| 71 } |
| 72 </script> |
| 73 </body> |
| 74 </html> |
| 75 |
OLD | NEW |