Steps to reproduce
The following Mocha test suite demonstrates this issue. Notice that the tests all complete at 100% in both Firefox 29 and Chrome 34, but not in IE 11.
Now, here’s that same suite of tests, but with all calls to IDBFactory.open and IDBFactory.deleteDatabases queued. I.e., no two requests can be open at the same time; I wait for the onsuccess callback before allowing another request to be opened.
For more details for what code changed between these two versions, here’s a diff on Github: https://github.com/pouchdb/pouchdb/pull/2124 .
Also note that it’s not enough to queue based on the database name, i.e. to only allow two open requests if they are for different database names. In another suite of tests (test.changes.js), we open and destroy two databases simultaneously, but this fails on IE11 unless we use a shared task queue.
Here’s that suite of tests:
Without queuing: https://nolanlawson.s3.amazonaws.com/pouchdb/www/20140502/ac2cb3fba4bf199ec6f05336e3e6fa2065a08e65/tests/test.html?grep=test.changes.js-local
With queuing: https://nolanlawson.s3.amazonaws.com/pouchdb/www/20140502/e365740e13eb405555d869cec475dd77f05287aa/tests/test.html?grep=test.changes.js-local
Databases can be opened/destroyed simultaneously without requiring queued access.
Comments and activity
- Microsoft Edge Team
Changed Assigned To to “IPBS P.”
Changed Assigned To from “IPBS P.” to “Bruce M.”
Changed Assigned To to “Kamen M.”
Changed Assigned To from “Kamen M.” to “Venkat K.”
Changed Assigned To from “Venkat K.” to “Shawn P.”
Changed Status to “Confirmed”
Changed Status from “Confirmed” to “Won’t fix”
Changed Assigned To to “Ali A.”
Changed Status from “Won’t fix”