Bug 163954

Summary: IndexedDB 2.0: Support IDBObjectStore openKeyCursor
Product: WebKit Reporter: Brady Eidson <beidson>
Component: WebCore Misc.Assignee: Brady Eidson <beidson>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, alecflett, cdumez, commit-queue, esprehn+autocc, jsbell, kondapallykalyan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 160306    
Attachments:
Description Flags
Patch
none
Patch
none
Patch aestes: review+

Description Brady Eidson 2016-10-25 10:23:11 PDT
IndexedDB 2.0: Support IDBObjectStore openKeyCursor
Comment 1 Brady Eidson 2016-10-25 10:23:33 PDT
<rdar://problem/28806930>
Comment 2 Brady Eidson 2016-10-25 13:34:55 PDT
Created attachment 292810 [details]
Patch
Comment 3 Brady Eidson 2016-10-25 13:40:14 PDT
Created attachment 292812 [details]
Patch
Comment 4 Brady Eidson 2016-10-25 13:40:51 PDT
Created attachment 292813 [details]
Patch
Comment 5 Andy Estes 2016-10-25 13:49:44 PDT
Comment on attachment 292812 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=292812&action=review

> Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp:168
> -    auto info = IDBCursorInfo::objectStoreCursor(m_transaction.get(), m_info.identifier(), range, direction.value());
> +    auto info = IDBCursorInfo::objectStoreCursor(m_transaction.get(), m_info.identifier(), range.get(), direction.value(), IndexedDB::CursorType::KeyAndValue);

I was confused by the implicit conversion from a IDBKeyRange* to a IDBKeyRangeData. Since IDBCursorInfo::objectStoreCursor() is always passed a IDBKeyRangeData temporary, maybe this range can be moved into its destination IDBCursorInfo? Not something you have to change here, but just a thought.
Comment 6 Brady Eidson 2016-10-25 14:46:02 PDT
https://trac.webkit.org/changeset/207845