Test that deleteDatabase is not blocked when connections close in on versionchange callback

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;

blockedEventFired = false
indexedDB.open(dbname)

openOnSuccess():
h = event.target.result
indexedDB.deleteDatabase(dbname)

onVersionChange():
PASS event.target.version is 1
PASS event.oldVersion is 1
PASS event.newVersion is null
h.close()

deleteDatabaseOnSuccess():
PASS blockedEventFired is false
PASS successfullyParsed is true

TEST COMPLETE

