| Test that a deleteDatabase called while handling an upgradeneeded event is queued and fires its events at the right time. The close() call to unblock the delete occurs in the connection's 'versionchange' event handler. |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; |
| |
| dbname = "delete-in-upgradeneeded-close-in-versionchange.html" |
| indexedDB.deleteDatabase(dbname) |
| |
| initiallyDeleted(): |
| request = indexedDB.open(dbname, 1) |
| |
| upgradeNeededCallback(): |
| PASS sawUpgradeNeeded is false |
| sawUpgradeNeeded = true |
| PASS event.oldVersion is 0 |
| PASS event.newVersion is 1 |
| db = event.target.result |
| deleteRequest = indexedDB.deleteDatabase(dbname) |
| request2.onsuccess = deleteSuccessCallback |
| |
| versionChangeCallback(): |
| PASS event.oldVersion is 1 |
| PASS event.newVersion is null |
| sawVersionChange = true |
| Closing the connection before the IDBOpenDBRequest's success fires will cause the open to fail. |
| db.close() |
| |
| deleteBlockedCallback(): |
| PASS sawVersionChange is true |
| sawDeleteBlocked = true |
| |
| deleteSuccessCallback(): |
| PASS sawVersionChange is true |
| FIXME: Blocked events shouldn't fire if connections close in versionchange handler. http://crbug.com/100123 |
| FAIL sawDeleteBlocked should be false. Was true. |
| PASS sawUpgradeNeeded is true |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |