diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp index 9632f877deac..42aa9e38d630 100644 --- a/dom/indexedDB/ActorsParent.cpp +++ b/dom/indexedDB/ActorsParent.cpp @@ -28458,9 +28458,11 @@ OpenOp::DoIndexDatabaseWork(DatabaseConnection* aConnection) openLimit; mCursor->mContinuePrimaryKeyQuery = queryStart + - NS_LITERAL_CSTRING(" AND sort_column >= :current_key " - "AND index_table.object_data_key >= :object_key " - ) + + NS_LITERAL_CSTRING(" AND (" + "(sort_column == :current_key AND " + "index_table.object_data_key >= :object_key) OR " + "sort_column > :current_key" + ")") + directionClause + openLimit; break; @@ -28510,9 +28512,11 @@ OpenOp::DoIndexDatabaseWork(DatabaseConnection* aConnection) openLimit; mCursor->mContinuePrimaryKeyQuery = queryStart + - NS_LITERAL_CSTRING(" AND sort_column <= :current_key " - "AND index_table.object_data_key <= :object_key " - ) + + NS_LITERAL_CSTRING(" AND (" + "(sort_column == :current_key AND " + "index_table.object_data_key <= :object_key) OR " + "sort_column < :current_key" + ")") + directionClause + openLimit; break; @@ -28692,9 +28696,11 @@ OpenOp::DoIndexKeyDatabaseWork(DatabaseConnection* aConnection) openLimit; mCursor->mContinuePrimaryKeyQuery = queryStart + - NS_LITERAL_CSTRING(" AND sort_column >= :current_key " - "AND object_data_key >= :object_key " - ) + + NS_LITERAL_CSTRING(" AND (" + "(sort_column == :current_key AND " + "object_data_key >= :object_key) OR " + "sort_column > :current_key" + ")") + directionClause + openLimit; break; @@ -28744,9 +28750,11 @@ OpenOp::DoIndexKeyDatabaseWork(DatabaseConnection* aConnection) openLimit; mCursor->mContinuePrimaryKeyQuery = queryStart + - NS_LITERAL_CSTRING(" AND sort_column <= :current_key " - "AND object_data_key <= :object_key " - ) + + NS_LITERAL_CSTRING(" AND (" + "(sort_column == :current_key AND " + "object_data_key <= :object_key) OR " + "sort_column < :current_key" + ")") + directionClause + openLimit; break; diff --git a/testing/web-platform/meta/IndexedDB/idbcursor-continuePrimaryKey.htm.ini b/testing/web-platform/meta/IndexedDB/idbcursor-continuePrimaryKey.htm.ini deleted file mode 100644 index 54bfaca5ab5f..000000000000 --- a/testing/web-platform/meta/IndexedDB/idbcursor-continuePrimaryKey.htm.ini +++ /dev/null @@ -1,5 +0,0 @@ -[idbcursor-continuePrimaryKey.htm] - type: testharness - [IndexedDB: IDBCursor method continuePrimaryKey()] - expected: FAIL -