With the WebKit2 UniqueIDBDatabase backing, transaction requests may be discarded if another request for the same transaction is currently in progress. This can cause serious problems, depending on the request that gets discarded. <rdar://problem/17356958>
Created attachment 234948 [details] WIP patch Attached a WIP patch that can cause several layout tests to regress, with what appear to be race condition-based failures.
Created attachment 235329 [details] WIP patch v2 As it turns out, almost all of the operations are already queued within the web process. This version of the patch queues up the few remaining tasks, but there are some issues caused by this that aren't yet fixed, so this patch isn't ready for review.
Created attachment 236126 [details] Patch v3 Here's a newer version of the patch. It still causes 4 layout tests to fail, and is getting increasingly more detailed in how it works, but I think I'm getting closer to a proper fix.