IndexedDB 2.0: Implement new IDBCursor.continuePrimaryKey function.
authorbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 9 Nov 2016 23:29:38 +0000 (23:29 +0000)
committerbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 9 Nov 2016 23:29:38 +0000 (23:29 +0000)
commite905b0b5c00d36243ded677b6cb19081ef89a167
treefbf1dbd64062bc1601b0314f545ad90da8fae85c
parent86270a6f22cc3e8adc5b11e67a7d668baaacb0e6
IndexedDB 2.0: Implement new IDBCursor.continuePrimaryKey function.
https://bugs.webkit.org/show_bug.cgi?id=164404

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

* web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order-expected.txt:

Source/WebCore:

Tests: storage/indexeddb/modern/idbcursor-continue-primary-key-1-private.html
       storage/indexeddb/modern/idbcursor-continue-primary-key-1.html
       Also covered by existing tests.

* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::continuePrimaryKey):
(WebCore::IDBCursor::uncheckedIterateCursor):
* Modules/indexeddb/IDBCursor.h:
* Modules/indexeddb/IDBCursor.idl:

* Modules/indexeddb/IDBKeyData.h:
(WebCore::IDBKeyData::operator>):
(WebCore::IDBKeyData::operator<=):
(WebCore::IDBKeyData::operator>=):

* Modules/indexeddb/server/MemoryCursor.h:

* Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::iterateCursor):

* Modules/indexeddb/server/MemoryIndexCursor.cpp:
(WebCore::IDBServer::MemoryIndexCursor::iterate):
* Modules/indexeddb/server/MemoryIndexCursor.h:

* Modules/indexeddb/server/MemoryObjectStoreCursor.cpp:
(WebCore::IDBServer::MemoryObjectStoreCursor::iterate):
* Modules/indexeddb/server/MemoryObjectStoreCursor.h:

* Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::iterateCursor):

* Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::iterate):
* Modules/indexeddb/server/SQLiteIDBCursor.h:

* Modules/indexeddb/shared/IDBIterateCursorData.cpp:
(WebCore::IDBIterateCursorData::isolatedCopy):
* Modules/indexeddb/shared/IDBIterateCursorData.h:
(WebCore::IDBIterateCursorData::encode):
(WebCore::IDBIterateCursorData::decode):

LayoutTests:

* storage/indexeddb/cursor-basics-expected.txt:
* storage/indexeddb/cursor-basics-private-expected.txt:
* storage/indexeddb/modern/idbcursor-continue-primary-key-1-expected.txt: Added.
* storage/indexeddb/modern/idbcursor-continue-primary-key-1-private-expected.txt: Added.
* storage/indexeddb/modern/idbcursor-continue-primary-key-1-private.html: Added.
* storage/indexeddb/modern/idbcursor-continue-primary-key-1.html: Added.
* storage/indexeddb/modern/resources/idbcursor-continue-primary-key-1.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
26 files changed:
LayoutTests/ChangeLog
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order-expected.txt
LayoutTests/storage/indexeddb/cursor-basics-expected.txt
LayoutTests/storage/indexeddb/cursor-basics-private-expected.txt
LayoutTests/storage/indexeddb/modern/idbcursor-continue-primary-key-1-expected.txt [new file with mode: 0644]
LayoutTests/storage/indexeddb/modern/idbcursor-continue-primary-key-1-private-expected.txt [new file with mode: 0644]
LayoutTests/storage/indexeddb/modern/idbcursor-continue-primary-key-1-private.html [new file with mode: 0644]
LayoutTests/storage/indexeddb/modern/idbcursor-continue-primary-key-1.html [new file with mode: 0644]
LayoutTests/storage/indexeddb/modern/resources/idbcursor-continue-primary-key-1.js [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/Modules/indexeddb/IDBCursor.cpp
Source/WebCore/Modules/indexeddb/IDBCursor.h
Source/WebCore/Modules/indexeddb/IDBCursor.idl
Source/WebCore/Modules/indexeddb/IDBKeyData.h
Source/WebCore/Modules/indexeddb/server/MemoryCursor.h
Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp
Source/WebCore/Modules/indexeddb/server/MemoryIndexCursor.cpp
Source/WebCore/Modules/indexeddb/server/MemoryIndexCursor.h
Source/WebCore/Modules/indexeddb/server/MemoryObjectStoreCursor.cpp
Source/WebCore/Modules/indexeddb/server/MemoryObjectStoreCursor.h
Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp
Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.cpp
Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.h
Source/WebCore/Modules/indexeddb/shared/IDBIterateCursorData.cpp
Source/WebCore/Modules/indexeddb/shared/IDBIterateCursorData.h