Bug 1168606 - Support preloading also for index cursors. r=ttung,asuth

Depends on D43252

Differential Revision: https://phabricator.services.mozilla.com/D43461
This commit is contained in:
Simon Giesecke
2019-11-05 12:45:48 +00:00
parent edc9fa805c
commit c82b7bbae7
6 changed files with 232 additions and 110 deletions

View File

@@ -258,6 +258,8 @@ IDBCursorDirection IDBCursor::GetDirection() const {
}
}
IDBCursor::Type IDBCursor::GetType() const { return mType; }
void IDBCursor::GetSource(OwningIDBObjectStoreOrIDBIndex& aSource) const {
AssertIsOnOwningThread();
@@ -453,7 +455,8 @@ void IDBCursor::Continue(JSContext* aCx, JS::Handle<JS::Value> aKey,
IDB_LOG_STRINGIFY(key));
}
mBackgroundActor->SendContinueInternal(ContinueParams(key), mKey);
mBackgroundActor->SendContinueInternal(ContinueParams(key), mKey,
mPrimaryKey);
mContinueCalled = true;
}
@@ -559,7 +562,7 @@ void IDBCursor::ContinuePrimaryKey(JSContext* aCx, JS::Handle<JS::Value> aKey,
IDB_LOG_STRINGIFY(key), IDB_LOG_STRINGIFY(primaryKey));
mBackgroundActor->SendContinueInternal(
ContinuePrimaryKeyParams(key, primaryKey), mKey);
ContinuePrimaryKeyParams(key, primaryKey), mKey, mPrimaryKey);
mContinueCalled = true;
}
@@ -604,7 +607,8 @@ void IDBCursor::Advance(uint32_t aCount, ErrorResult& aRv) {
IDB_LOG_STRINGIFY(mSourceIndex), IDB_LOG_STRINGIFY(mDirection), aCount);
}
mBackgroundActor->SendContinueInternal(AdvanceParams(aCount), mKey);
mBackgroundActor->SendContinueInternal(AdvanceParams(aCount), mKey,
mPrimaryKey);
mContinueCalled = true;
}