IDBIndex.openCursor() matches indices on multiple object stores.
<rdar://problem/28434463> and https://bugs.webkit.org/show_bug.cgi?id=158833
Reviewed by Alex Christensen.
Source/WebCore:
Tests: storage/indexeddb/modern/multiple-objectstore-index-cursor-collision-private.html
storage/indexeddb/modern/multiple-objectstore-index-cursor-collision.html
* Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::buildIndexStatement): Need to include the object store id in the statement for
index cursors, otherwise there will be collisions amongst multiple object stores that happen to
share primary keys.
(WebCore::IDBServer::SQLiteIDBCursor::bindArguments):
LayoutTests:
* storage/indexeddb/modern/multiple-objectstore-index-cursor-collision-expected.txt: Added.
* storage/indexeddb/modern/multiple-objectstore-index-cursor-collision-private-expected.txt: Added.
* storage/indexeddb/modern/multiple-objectstore-index-cursor-collision-private.html: Added.
* storage/indexeddb/modern/multiple-objectstore-index-cursor-collision.html: Added.
* storage/indexeddb/modern/resources/multiple-objectstore-index-cursor-collision.js: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@206280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
8 files changed