Ensure that IDBVersionChangeRequest objects are not GC'd if they have pending events

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;


self.dbname = 'versionchangerequest-activedomobject'

testDeleteDatabase():
indexedDB.deleteDatabase(self.dbname)
self.gc()
PASS deleteDatabase's IDBVersionChangeRequest.onsuccess event fired

testSetVersion():
indexedDB.open(self.dbname)
self.gc()
PASS IDBOpenDBRequest received upgradeneeded event
PASS IDBOpenDBRequest received success event
PASS successfullyParsed is true

TEST COMPLETE

