According to http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html (search for "VERSION_CHANGE transaction steps"), calling setVersion() on an open database should trigger a versionchange event on the database object. Mozilla does this ( test: http://mxr.mozilla.org/mozilla2.0/source/dom/indexedDB/test/test_setVersion_events.html?force=1 ) but in WebKit the versionchange event is never fired.
Created attachment 89782 [details] test case
Assuming that the test fails without those lines commented out (versionChangeEventCount++ etc), I think moz got this one wrong. A versionchange event should be fired at _other_ open connections, but not the one that calls setVersion. This is the relevant part of the spec, the crucial bit being "except connection": Let openDatabases be the set of all IDBDatabase and IDBDatabaseSync objects, except connection, connected to the same database as connection. Fire a versionchange event at each object in openDatabases that is open.
Aha, that makes more sense. I don't think they got it wrong; I think it was my misunderstanding in porting the test. Closing as invalid.