Fixed IndexedDBCursor destruction bug.
commit51ea685f93420be476208abea8484a25e6ea6d73
authorcmumford@chromium.org <cmumford@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Thu, 1 May 2014 17:44:11 +0000 (1 17:44 +0000)
committercmumford@chromium.org <cmumford@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Thu, 1 May 2014 17:44:11 +0000 (1 17:44 +0000)
tree4ddc6096c9fb66f8a6d435b2e76f8c7d7617c3fa
parentbac6ddbb41a551655b8802c2253ed21a0ab9a992
Fixed IndexedDBCursor destruction bug.

IndexedDBCursor's can now be destroyed with cursor messages still in an IPC
message queue.

Specifically in 368134 IndexedDBCallbacks::OnSuccessWithPrefetch() was called,
enqueuing a CallbacksSuccessCursorPrefetch message via IndexedDBDispatcher.
Before that message was handled (by IndexedDBDispatcher::OnSuccessCursorPrefetch())
IndexedDBDispatcher::CursorDestroyed() was called which removing the cursor ID
from the map. This new behavior started as a result of Blink's r172568 which
began deleting cursors earlier than the previous implementation.

Also, unrevert's r266866 to re-enable the RenderThreadShutdownTest test.

BUG=368134

Review URL: https://codereview.chromium.org/260713009

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267571 0039d316-1c4b-4281-b951-d872f2087c98
content/browser/indexed_db/indexed_db_browsertest.cc
content/child/indexed_db/indexed_db_dispatcher.cc