DescriptionIndexedDB: Fix cursor prefetching edge cases
Cursor prefetch caches must be discarded when other
requests are made to ensure proper request sequencing.
Two edge cases were handled improperly if new records
was written just ahead of the cursor.
* A reset occurring before the prefetch results were
received would be ignored; since the newly records
weren't in the prefetch data, the cursor wouldn't see
them.
* A reset occurring after the results are received
would back up the cursor to before the new records,
even though the prefetch itself is a "continue"
and advanced past them already.
The fix is to reset the cache on receipt if necessary,
and to ensure the reset state accounts for the implicit
advance.
BUG=331570
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=243344
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=243421
Patch Set 1 #
Total comments: 2
Patch Set 2 : Simplified, added unit test #Patch Set 3 : Fix test-only leak found by valgrind #
Messages
Total messages: 12 (0 generated)
|