Changeset 195696 in webkit
- Timestamp:
- Jan 27, 2016 2:57:10 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r195695 r195696 1 2016-01-27 Brady Eidson <beidson@apple.com> 2 3 Modern IDB: Cursors are utterly broken in the SQLite backend. 4 https://bugs.webkit.org/show_bug.cgi?id=153558 5 6 Reviewed by Alex Christensen. 7 8 * platform/mac-wk1/TestExpectations: 9 1 10 2016-01-27 Chris Dumez <cdumez@apple.com> 2 11 -
trunk/LayoutTests/platform/mac-wk1/TestExpectations
r195689 r195696 453 453 imported/w3c/indexeddb/value_recursive.htm [ Failure ] 454 454 imported/w3c/indexeddb/writer-starvation.htm [ Failure ] 455 storage/indexeddb/closed-cursor.html [ Failure ]456 storage/indexeddb/cursor-added-bug.html [ Failure ]457 455 storage/indexeddb/cursor-advance.html [ Failure ] 458 storage/indexeddb/cursor-basics.html [ Failure ]459 storage/indexeddb/cursor-continue-dir.html [ Failure ]460 456 storage/indexeddb/cursor-continue-validity.html [ Failure ] 461 457 storage/indexeddb/cursor-continue.html [ Failure ] 462 storage/indexeddb/cursor-delete.html [ Failure ]463 storage/indexeddb/cursor-finished.html [ Failure ]464 storage/indexeddb/cursor-inconsistency.html [ Failure ]465 458 storage/indexeddb/cursor-index-delete.html [ Failure ] 466 storage/indexeddb/cursor-key-order.html [ Failure ]467 storage/indexeddb/cursor-prev-no-duplicate.html [ Failure ]468 459 storage/indexeddb/cursor-primary-key-order.html [ Failure ] 469 460 storage/indexeddb/cursor-skip-deleted.html [ Failure ] 470 461 storage/indexeddb/cursor-update.html [ Failure ] 471 storage/indexeddb/cursor-value.html [ Failure ]472 462 storage/indexeddb/delete-range.html [ Failure ] 473 storage/indexeddb/deleted-objects.html [ Failure ]474 463 storage/indexeddb/duplicates.html [ Failure ] 475 storage/indexeddb/exceptions.html [ Failure ]476 464 storage/indexeddb/get-keyrange.html [ Failure ] 477 465 storage/indexeddb/index-basics.html [ Failure ] … … 483 471 storage/indexeddb/index-unique.html [ Failure ] 484 472 storage/indexeddb/key-generator.html [ Failure ] 485 storage/indexeddb/key-sort-order-across-types.html [ Failure ]486 storage/indexeddb/key-sort-order-date.html [ Failure ]487 473 storage/indexeddb/keypath-arrays.html [ Failure ] 488 storage/indexeddb/keypath-fetch-key.html [ Failure ]489 474 storage/indexeddb/keypath-intrinsic-properties.html [ Failure ] 490 475 storage/indexeddb/lazy-index-population.html [ Failure ] 491 476 storage/indexeddb/lazy-index-types.html [ Failure ] 492 storage/indexeddb/modern/cursor-1.html [ Failure ]493 storage/indexeddb/modern/cursor-2.html [ Failure ]494 477 storage/indexeddb/modern/cursor-3.html [ Failure ] 495 478 storage/indexeddb/modern/cursor-4.html [ Failure ] 496 storage/indexeddb/modern/cursor-5.html [ Failure ]497 storage/indexeddb/modern/cursor-6.html [ Failure ]498 479 storage/indexeddb/modern/cursor-7.html [ Failure ] 499 storage/indexeddb/modern/cursor-8.html [ Failure ]500 480 storage/indexeddb/modern/deleteindex-1.html [ Failure ] 501 481 storage/indexeddb/modern/deleteindex-2.html [ Failure ] … … 510 490 storage/indexeddb/modern/index-cursor-3.html [ Failure ] 511 491 storage/indexeddb/modern/index-get-count-basic.html [ Failure ] 512 storage/indexeddb/modern/objectstore-cursor-advance-failures.html [ Failure ]513 storage/indexeddb/modern/objectstore-cursor-continue-failures.html [ Failure ]514 storage/indexeddb/modern/request-readystate.html [ Failure ]515 storage/indexeddb/mozilla/clear.html [ Failure ]516 storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html [ Failure ]517 492 storage/indexeddb/mozilla/cursor-mutation.html [ Failure ] 518 493 storage/indexeddb/mozilla/cursor-update-updates-indexes.html [ Failure ] … … 521 496 storage/indexeddb/mozilla/indexes.html [ Failure ] 522 497 storage/indexeddb/mozilla/object-cursors.html [ Failure ] 523 storage/indexeddb/mozilla/remove-objectstore.html [ Failure ]524 storage/indexeddb/mutating-cursor.html [ Failure ]525 498 storage/indexeddb/objectstore-autoincrement.html [ Failure ] 526 499 storage/indexeddb/objectstore-basics.html [ Failure ] 527 storage/indexeddb/objectstore-clear.html [ Failure ]528 storage/indexeddb/objectstore-cursor.html [ Failure ]529 storage/indexeddb/open-cursor.html [ Failure ]530 500 storage/indexeddb/opencursor-key.html [ Failure ] 531 501 storage/indexeddb/optional-arguments.html [ Failure ] 532 storage/indexeddb/prefetch-bugfix-108071.html [ Failure ]533 storage/indexeddb/readonly.html [ Failure ]534 storage/indexeddb/transaction-rollback.html [ Failure ]535 storage/indexeddb/value-undefined.html [ Failure ]536 storage/indexeddb/values-odd-types.html [ Failure ]537 502 538 503 # SQLite backend tests that timeout -
trunk/Source/WebCore/ChangeLog
r195695 r195696 1 2016-01-27 Brady Eidson <beidson@apple.com> 2 3 Modern IDB: Cursors are utterly broken in the SQLite backend. 4 https://bugs.webkit.org/show_bug.cgi?id=153558 5 6 Reviewed by Alex Christensen. 7 8 No new tests (35 failures now pass, others improve). 9 10 - Fixes incorrect usage of Index cursors when ObjectStore cursors are intended. 11 - Improves the state of getting the cursor value vs. reaching the end of a cursor. 12 13 * Modules/indexeddb/server/SQLiteIDBBackingStore.cpp: 14 (WebCore::IDBServer::SQLiteIDBBackingStore::openCursor): 15 (WebCore::IDBServer::SQLiteIDBBackingStore::iterateCursor): 16 17 * Modules/indexeddb/server/SQLiteIDBCursor.cpp: 18 (WebCore::IDBServer::SQLiteIDBCursor::SQLiteIDBCursor): 19 (WebCore::IDBServer::SQLiteIDBCursor::currentData): 20 * Modules/indexeddb/server/SQLiteIDBCursor.h: 21 1 22 2016-01-27 Chris Dumez <cdumez@apple.com> 2 23 -
trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp
r195689 r195696 1407 1407 m_cursors.set(cursor->identifier(), cursor); 1408 1408 1409 result = { cursor->currentKey(), cursor->currentPrimaryKey(), ThreadSafeDataBuffer::copyVector(cursor->currentValueBuffer()) };1409 cursor->currentData(result); 1410 1410 return { }; 1411 1411 } … … 1443 1443 } 1444 1444 1445 result = { cursor->currentKey(), cursor->currentPrimaryKey(), ThreadSafeDataBuffer::copyVector(cursor->currentValueBuffer()) };1445 cursor->currentData(result); 1446 1446 return { }; 1447 1447 } -
trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.cpp
r195527 r195696 29 29 30 30 #include "IDBCursorInfo.h" 31 #include "IDBGetResult.h" 31 32 #include "IDBSerialization.h" 32 33 #include "Logging.h" … … 69 70 , m_cursorIdentifier(info.identifier()) 70 71 , m_objectStoreID(info.objectStoreIdentifier()) 71 , m_indexID(info. sourceIdentifier())72 , m_indexID(info.cursorSource() == IndexedDB::CursorSource::Index ? info.sourceIdentifier() : IDBIndexMetadata::InvalidId) 72 73 , m_cursorDirection(info.cursorDirection()) 73 74 , m_keyRange(info.range()) … … 85 86 { 86 87 ASSERT(m_objectStoreID); 88 } 89 90 void SQLiteIDBCursor::currentData(IDBGetResult& result) 91 { 92 if (m_completed) { 93 ASSERT(!m_errored); 94 result = { }; 95 return; 96 } 97 98 result = { m_currentKey, m_currentPrimaryKey, ThreadSafeDataBuffer::copyVector(m_currentValueBuffer) }; 87 99 } 88 100 -
trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.h
r195527 r195696 38 38 39 39 class IDBCursorInfo; 40 class IDBGetResult; 40 41 41 42 namespace IDBServer { … … 67 68 68 69 void objectStoreRecordsChanged(); 70 71 void currentData(IDBGetResult&); 69 72 70 73 private:
Note: See TracChangeset
for help on using the changeset viewer.