Modern IDB: Properly handle writing blobs from Workers All of the blob writing code that's kicked off from IDBTransaction::putOrAddOnServer presumes that callbacks should come to the main thread. That's wrong - they should come to whatever thread IDBTransaction::putOrAddOnServer was called on (possibly the worker thread)
Noticed while working on https://bugs.webkit.org/show_bug.cgi?id=157525, though I don't think it's the cause of https://bugs.webkit.org/show_bug.cgi?id=157525
Created attachment 279503 [details] Patch v1
Comment on attachment 279503 [details] Patch v1 View in context: https://bugs.webkit.org/attachment.cgi?id=279503&action=review > Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:950 > + // If this transaction is on a worker thread, we must write the blobs to disk synchronously This is not ideal, but it's not catastrophic because we're already on a worker thread. Put a FIXME that says with future refactoring and c++14 lambda passing.
Created attachment 279509 [details] Patch for landing
Comment on attachment 279509 [details] Patch for landing Clearing flags on attachment: 279509 Committed r201232: <http://trac.webkit.org/changeset/201232>