IndexedDB: Only fire 'blocked' if 'versionchange' was ignored [Chromium]
commit75a854a00cdd60185b50b0100009509bbf8245a3
authorjsbell@chromium.org <jsbell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Mon, 7 Jul 2014 15:57:36 +0000 (7 15:57 +0000)
committerjsbell@chromium.org <jsbell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Mon, 7 Jul 2014 15:57:36 +0000 (7 15:57 +0000)
treedaac7e504df53cb8c7234df04f258c5c59920ac4
parent5d3b34b312827f3cafe236de08037ec3870b9d7b
IndexedDB: Only fire 'blocked' if 'versionchange' was ignored [Chromium]

The spec requires that version change requests (open with a higher
version, or delete) notify other connections with a 'versionchange'
event. If connections are still open after those events are delivered,
then 'blocked' should be fire on the request. Chromium's implementation
has always just fired 'blocked' in all cases.

This changes the back end to wait until it gets an explicit 'ignored'
message from the front end. In the case where none of the front ends
ack the 'versionchange', they must be in the middle of closing which
will unblock the request anyway.

Blink API changes will need to land first.

BUG=100123

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281546 0039d316-1c4b-4281-b951-d872f2087c98
14 files changed:
content/browser/indexed_db/indexed_db_callbacks.cc
content/browser/indexed_db/indexed_db_callbacks.h
content/browser/indexed_db/indexed_db_connection.cc
content/browser/indexed_db/indexed_db_connection.h
content/browser/indexed_db/indexed_db_database.cc
content/browser/indexed_db/indexed_db_database.h
content/browser/indexed_db/indexed_db_database_unittest.cc
content/browser/indexed_db/indexed_db_dispatcher_host.cc
content/browser/indexed_db/indexed_db_dispatcher_host.h
content/child/indexed_db/indexed_db_dispatcher.cc
content/child/indexed_db/indexed_db_dispatcher.h
content/child/indexed_db/webidbdatabase_impl.cc
content/child/indexed_db/webidbdatabase_impl.h
content/common/indexed_db/indexed_db_messages.h