| Makes sure transactions stop on navigation to a new page. |
| If the previous page's transaction is blindly charging forward, this test will probably timeout. |
| If the previous page's connection/transactions did not clean up properly, the delete request in this test will incorrectly be blocked. |
| If every thing is peachy keen, the delete request in this test will correctly succeed. |
| <div id="logger"></div> |
| <script> |
| |
| function log(msg) |
| { |
| document.getElementById("logger").innerHTML += msg + ""; |
| } |
| |
| function done() |
| { |
| log("Done."); |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| |
| // Calling "deleteDatabase" while there are already open connections causes those connections to first receive a versionChange event. |
| // If the transaction/connection from the previous page is still active, then deleting the database will timeout because the previous connection will never be able to respond to the version change event. |
| // Deleting the database should immediately succeed. |
| |
| var request = window.indexedDB.deleteDatabase('transactions-stop-on-navigation.html'); |
| request.onsuccess = deleteSuccess; |
| request.onblocked = deleteBlocked; |
| |
| function deleteSuccess() |
| { |
| log("Delete request was successful."); |
| done(); |
| } |
| |
| function deleteBlocked() |
| { |
| log("Delete request was blocked - it should not have been."); |
| done(); |
| } |
| |
| </script> |