| <html> |
| <head> |
| <script src="../../resources/js-test.js"></script> |
| <script src="resources/shared.js"></script> |
| </head> |
| <body> |
| <script> |
| if (window.internals) |
| window.internals.settings.setIndexedDBWorkersEnabled(true); |
| |
| description("Regression test for WK82678 - don't commit after a blocked event"); |
| |
| indexedDBTest(prepareDatabase, holdConnection); |
| function prepareDatabase() |
| { |
| db = event.target.result; |
| evalAndLog("db.onversionchange = onVersionChange"); |
| evalAndLog("store = db.createObjectStore('store1')"); |
| } |
| |
| function holdConnection() |
| { |
| debug(""); |
| debug("holdConnection():"); |
| debug("holding connection until versionchange event"); |
| debug(""); |
| worker = startWorker("resources/dont-commit-on-blocked-worker.js"); |
| } |
| |
| function onVersionChange(e) |
| { |
| // Timing of logging from worker vs. this event is racy, so do not log here. |
| // Don't close within this turn of the event loop, so that worker sees 'blocked'. |
| setTimeout(function() { |
| db.close(); |
| }, 0); |
| } |
| |
| </script> |
| </body> |
| </html> |