Check processing of pending version change requests - same versions.

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;

indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)

onConnection1Open():
indexedDB.open(dbname, 2)
indexedDB.open(dbname, 2)

connection2Blocked():
db.close()

connection2UpgradeNeeded():
PASS event.oldVersion is 1
PASS event.newVersion is 2

connection2OpenSuccess():
db2 = event.target.result
PASS db2.version is 2

connection3OpenSuccess():
db3 = event.target.result
PASS db3.version is 2
PASS successfullyParsed is true

TEST COMPLETE

