-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IndexedDB: Add tests for HTML monkey patches #4643
IndexedDB: Add tests for HTML monkey patches #4643
Conversation
Notifying @velmont, @chunywang, @dumbmatter, @inexorabletash, @yunxiaoxie, @zhaozihao, and @zqzhang. (Learn how reviewing works.) These tests will be available shortly on w3c-test.org.
w3c-test:do-not-mirror (What's this?) |
All tests pass in Chrome 55 (stable) |
Chrome (unstable channel)Testing web-platform-tests at revision 5df47a92c0060693f23a6cf16059fb422f48e048 All results290 tests ran/IndexedDB/abort-in-initial-upgradeneeded.html
/IndexedDB/bindings-inject-key.html
/IndexedDB/clone-before-keypath-eval.html
/IndexedDB/close-in-upgradeneeded.html
/IndexedDB/cursor-overloads.htm
/IndexedDB/delete-request-queue.html
/IndexedDB/error-attributes.html
/IndexedDB/event-dispatch-active-flag.html
/IndexedDB/fire-error-event-exception.html
/IndexedDB/fire-success-event-exception.html
/IndexedDB/fire-upgradeneeded-event-exception.html
/IndexedDB/idb-binary-key-detached.htm
/IndexedDB/idb-binary-key-roundtrip.htm
/IndexedDB/idb_webworkers.htm
/IndexedDB/idbcursor-advance-continue-async.htm
/IndexedDB/idbcursor-advance-exception-order.html
/IndexedDB/idbcursor-advance-invalid.htm
/IndexedDB/idbcursor-advance.htm
/IndexedDB/idbcursor-continue-exception-order.htm
/IndexedDB/idbcursor-continue.htm
/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm
/IndexedDB/idbcursor-continuePrimaryKey.htm
/IndexedDB/idbcursor-delete-exception-order.htm
/IndexedDB/idbcursor-direction-index-keyrange.htm
/IndexedDB/idbcursor-direction-index.htm
/IndexedDB/idbcursor-direction-objectstore-keyrange.htm
/IndexedDB/idbcursor-direction-objectstore.htm
/IndexedDB/idbcursor-direction.htm
/IndexedDB/idbcursor-key.htm
/IndexedDB/idbcursor-primarykey.htm
/IndexedDB/idbcursor-reused.htm
/IndexedDB/idbcursor-source.htm
/IndexedDB/idbcursor-update-exception-order.htm
/IndexedDB/idbcursor_advance_index.htm
/IndexedDB/idbcursor_advance_index2.htm
/IndexedDB/idbcursor_advance_index3.htm
/IndexedDB/idbcursor_advance_index5.htm
/IndexedDB/idbcursor_advance_index6.htm
/IndexedDB/idbcursor_advance_index7.htm
/IndexedDB/idbcursor_advance_index8.htm
/IndexedDB/idbcursor_advance_index9.htm
/IndexedDB/idbcursor_advance_objectstore.htm
/IndexedDB/idbcursor_advance_objectstore2.htm
/IndexedDB/idbcursor_advance_objectstore3.htm
/IndexedDB/idbcursor_advance_objectstore4.htm
/IndexedDB/idbcursor_advance_objectstore5.htm
/IndexedDB/idbcursor_continue_index.htm
/IndexedDB/idbcursor_continue_index2.htm
/IndexedDB/idbcursor_continue_index3.htm
/IndexedDB/idbcursor_continue_index4.htm
/IndexedDB/idbcursor_continue_index5.htm
/IndexedDB/idbcursor_continue_index6.htm
/IndexedDB/idbcursor_continue_index7.htm
/IndexedDB/idbcursor_continue_index8.htm
/IndexedDB/idbcursor_continue_invalid.htm
/IndexedDB/idbcursor_continue_objectstore.htm
/IndexedDB/idbcursor_continue_objectstore2.htm
/IndexedDB/idbcursor_continue_objectstore3.htm
/IndexedDB/idbcursor_continue_objectstore4.htm
/IndexedDB/idbcursor_continue_objectstore5.htm
/IndexedDB/idbcursor_continue_objectstore6.htm
/IndexedDB/idbcursor_delete_index.htm
/IndexedDB/idbcursor_delete_index2.htm
/IndexedDB/idbcursor_delete_index3.htm
/IndexedDB/idbcursor_delete_index4.htm
/IndexedDB/idbcursor_delete_index5.htm
/IndexedDB/idbcursor_delete_objectstore.htm
/IndexedDB/idbcursor_delete_objectstore2.htm
/IndexedDB/idbcursor_delete_objectstore3.htm
/IndexedDB/idbcursor_delete_objectstore4.htm
/IndexedDB/idbcursor_delete_objectstore5.htm
/IndexedDB/idbcursor_iterating.htm
/IndexedDB/idbcursor_iterating_index.htm
/IndexedDB/idbcursor_iterating_index2.htm
/IndexedDB/idbcursor_iterating_objectstore.htm
/IndexedDB/idbcursor_iterating_objectstore2.htm
/IndexedDB/idbcursor_update_index.htm
/IndexedDB/idbcursor_update_index2.htm
/IndexedDB/idbcursor_update_index3.htm
/IndexedDB/idbcursor_update_index4.htm
/IndexedDB/idbcursor_update_index5.htm
/IndexedDB/idbcursor_update_index6.htm
/IndexedDB/idbcursor_update_index7.htm
/IndexedDB/idbcursor_update_index8.htm
/IndexedDB/idbcursor_update_objectstore.htm
/IndexedDB/idbcursor_update_objectstore2.htm
/IndexedDB/idbcursor_update_objectstore3.htm
/IndexedDB/idbcursor_update_objectstore4.htm
/IndexedDB/idbcursor_update_objectstore5.htm
/IndexedDB/idbcursor_update_objectstore6.htm
/IndexedDB/idbcursor_update_objectstore7.htm
/IndexedDB/idbcursor_update_objectstore8.htm
/IndexedDB/idbcursor_update_objectstore9.htm
/IndexedDB/idbdatabase-createObjectStore-exception-order.htm
/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm
/IndexedDB/idbdatabase-transaction-exception-order.html
/IndexedDB/idbdatabase_close.htm
/IndexedDB/idbdatabase_close2.htm
/IndexedDB/idbdatabase_createObjectStore-createIndex-emptyname.htm
/IndexedDB/idbdatabase_createObjectStore.htm
/IndexedDB/idbdatabase_createObjectStore10-1000ends.htm
/IndexedDB/idbdatabase_createObjectStore10-emptyname.htm
/IndexedDB/idbdatabase_createObjectStore11.htm
/IndexedDB/idbdatabase_createObjectStore2.htm
/IndexedDB/idbdatabase_createObjectStore3.htm
/IndexedDB/idbdatabase_createObjectStore4.htm
/IndexedDB/idbdatabase_createObjectStore5.htm
/IndexedDB/idbdatabase_createObjectStore6.htm
/IndexedDB/idbdatabase_createObjectStore7.htm
/IndexedDB/idbdatabase_createObjectStore8-parameters.htm
/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm
/IndexedDB/idbdatabase_deleteObjectStore.htm
/IndexedDB/idbdatabase_deleteObjectStore2.htm
/IndexedDB/idbdatabase_deleteObjectStore3.htm
/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm
/IndexedDB/idbdatabase_transaction.htm
/IndexedDB/idbdatabase_transaction2.htm
/IndexedDB/idbdatabase_transaction3.htm
/IndexedDB/idbdatabase_transaction4.htm
/IndexedDB/idbdatabase_transaction5.htm
/IndexedDB/idbfactory_cmp.htm
/IndexedDB/idbfactory_cmp2.htm
/IndexedDB/idbfactory_deleteDatabase.htm
/IndexedDB/idbfactory_deleteDatabase2.htm
/IndexedDB/idbfactory_deleteDatabase3.htm
/IndexedDB/idbfactory_deleteDatabase4.htm
/IndexedDB/idbfactory_open.htm
/IndexedDB/idbfactory_open10.htm
/IndexedDB/idbfactory_open11.htm
/IndexedDB/idbfactory_open12.htm
/IndexedDB/idbfactory_open2.htm
/IndexedDB/idbfactory_open3.htm
/IndexedDB/idbfactory_open4.htm
/IndexedDB/idbfactory_open5.htm
/IndexedDB/idbfactory_open6.htm
/IndexedDB/idbfactory_open7.htm
/IndexedDB/idbfactory_open8.htm
/IndexedDB/idbindex-getAll-enforcerange.html
/IndexedDB/idbindex-getAllKeys-enforcerange.html
/IndexedDB/idbindex-multientry-arraykeypath.htm
/IndexedDB/idbindex-multientry-big.htm
/IndexedDB/idbindex-multientry.htm
/IndexedDB/idbindex-query-exception-order.html
/IndexedDB/idbindex_count.htm
/IndexedDB/idbindex_count2.htm
/IndexedDB/idbindex_count3.htm
/IndexedDB/idbindex_count4.htm
/IndexedDB/idbindex_get.htm
/IndexedDB/idbindex_get2.htm
/IndexedDB/idbindex_get3.htm
/IndexedDB/idbindex_get4.htm
/IndexedDB/idbindex_get5.htm
/IndexedDB/idbindex_get6.htm
/IndexedDB/idbindex_get7.htm
/IndexedDB/idbindex_get8.htm
/IndexedDB/idbindex_getKey.htm
/IndexedDB/idbindex_getKey2.htm
/IndexedDB/idbindex_getKey3.htm
/IndexedDB/idbindex_getKey4.htm
/IndexedDB/idbindex_getKey5.htm
/IndexedDB/idbindex_getKey6.htm
/IndexedDB/idbindex_getKey7.htm
/IndexedDB/idbindex_getKey8.htm
/IndexedDB/idbindex_indexNames.htm
/IndexedDB/idbindex_openCursor.htm
/IndexedDB/idbindex_openCursor2.htm
/IndexedDB/idbindex_openCursor3.htm
/IndexedDB/idbindex_openKeyCursor.htm
/IndexedDB/idbindex_openKeyCursor2.htm
/IndexedDB/idbindex_openKeyCursor3.htm
/IndexedDB/idbindex_openKeyCursor4.htm
/IndexedDB/idbkeyrange.htm
/IndexedDB/idbkeyrange_incorrect.htm
/IndexedDB/idbobjectstore-add-put-exception-order.html
/IndexedDB/idbobjectstore-clear-exception-order.html
/IndexedDB/idbobjectstore-delete-exception-order.html
/IndexedDB/idbobjectstore-deleteIndex-exception-order.html
/IndexedDB/idbobjectstore-getAll-enforcerange.html
/IndexedDB/idbobjectstore-getAllKeys-enforcerange.html
/IndexedDB/idbobjectstore-query-exception-order.html
/IndexedDB/idbobjectstore_add.htm
/IndexedDB/idbobjectstore_add10.htm
/IndexedDB/idbobjectstore_add11.htm
/IndexedDB/idbobjectstore_add12.htm
/IndexedDB/idbobjectstore_add13.htm
/IndexedDB/idbobjectstore_add14.htm
/IndexedDB/idbobjectstore_add15.htm
/IndexedDB/idbobjectstore_add16.htm
/IndexedDB/idbobjectstore_add2.htm
/IndexedDB/idbobjectstore_add3.htm
/IndexedDB/idbobjectstore_add4.htm
/IndexedDB/idbobjectstore_add5.htm
/IndexedDB/idbobjectstore_add6.htm
/IndexedDB/idbobjectstore_add7.htm
/IndexedDB/idbobjectstore_add8.htm
/IndexedDB/idbobjectstore_add9.htm
/IndexedDB/idbobjectstore_clear.htm
/IndexedDB/idbobjectstore_clear2.htm
/IndexedDB/idbobjectstore_clear3.htm
/IndexedDB/idbobjectstore_clear4.htm
/IndexedDB/idbobjectstore_count.htm
/IndexedDB/idbobjectstore_count2.htm
/IndexedDB/idbobjectstore_count3.htm
/IndexedDB/idbobjectstore_count4.htm
/IndexedDB/idbobjectstore_createIndex.htm
/IndexedDB/idbobjectstore_createIndex10.htm
/IndexedDB/idbobjectstore_createIndex11.htm
/IndexedDB/idbobjectstore_createIndex12.htm
/IndexedDB/idbobjectstore_createIndex13.htm
/IndexedDB/idbobjectstore_createIndex14-exception_order.htm
/IndexedDB/idbobjectstore_createIndex2.htm
/IndexedDB/idbobjectstore_createIndex3-usable-right-away.htm
/IndexedDB/idbobjectstore_createIndex4-deleteIndex-event_order.htm
/IndexedDB/idbobjectstore_createIndex5-emptykeypath.htm
/IndexedDB/idbobjectstore_createIndex6-event_order.htm
/IndexedDB/idbobjectstore_createIndex7-event_order.htm
/IndexedDB/idbobjectstore_createIndex8-valid_keys.htm
/IndexedDB/idbobjectstore_createIndex9-emptyname.htm
/IndexedDB/idbobjectstore_delete.htm
/IndexedDB/idbobjectstore_delete2.htm
/IndexedDB/idbobjectstore_delete3.htm
/IndexedDB/idbobjectstore_delete4.htm
/IndexedDB/idbobjectstore_delete5.htm
/IndexedDB/idbobjectstore_delete6.htm
/IndexedDB/idbobjectstore_delete7.htm
/IndexedDB/idbobjectstore_deleteIndex.htm
/IndexedDB/idbobjectstore_deleted.htm
/IndexedDB/idbobjectstore_get.htm
/IndexedDB/idbobjectstore_get2.htm
/IndexedDB/idbobjectstore_get3.htm
/IndexedDB/idbobjectstore_get4.htm
/IndexedDB/idbobjectstore_get5.htm
/IndexedDB/idbobjectstore_get6.htm
/IndexedDB/idbobjectstore_get7.htm
/IndexedDB/idbobjectstore_index.htm
/IndexedDB/idbobjectstore_openCursor.htm
/IndexedDB/idbobjectstore_openCursor_invalid.htm
/IndexedDB/idbobjectstore_put.htm
/IndexedDB/idbobjectstore_put10.htm
/IndexedDB/idbobjectstore_put11.htm
/IndexedDB/idbobjectstore_put12.htm
/IndexedDB/idbobjectstore_put13.htm
/IndexedDB/idbobjectstore_put14.htm
/IndexedDB/idbobjectstore_put15.htm
/IndexedDB/idbobjectstore_put16.htm
/IndexedDB/idbobjectstore_put2.htm
/IndexedDB/idbobjectstore_put3.htm
/IndexedDB/idbobjectstore_put4.htm
/IndexedDB/idbobjectstore_put5.htm
/IndexedDB/idbobjectstore_put6.htm
/IndexedDB/idbobjectstore_put7.htm
/IndexedDB/idbobjectstore_put8.htm
/IndexedDB/idbobjectstore_put9.htm
/IndexedDB/idbrequest_error.html
/IndexedDB/idbrequest_result.html
/IndexedDB/idbtransaction-objectStore-exception-order.html
/IndexedDB/idbtransaction-oncomplete.htm
/IndexedDB/idbtransaction.htm
/IndexedDB/idbtransaction_abort.htm
/IndexedDB/idbtransaction_objectStoreNames.html
/IndexedDB/idbversionchangeevent.htm
/IndexedDB/index_sort_order.htm
/IndexedDB/key-conversion-exceptions.htm
/IndexedDB/key_invalid.htm
/IndexedDB/key_valid.html
/IndexedDB/keygenerator-constrainterror.htm
/IndexedDB/keygenerator-overflow.htm
/IndexedDB/keygenerator.htm
/IndexedDB/keyorder.htm
/IndexedDB/keypath-exceptions.htm
/IndexedDB/keypath-special-identifiers.htm
/IndexedDB/keypath.htm
/IndexedDB/keypath_invalid.htm
/IndexedDB/keypath_maxsize.htm
/IndexedDB/list_ordering.htm
/IndexedDB/objectstore_keyorder.htm
/IndexedDB/open-request-queue.html
/IndexedDB/request_bubble-and-capture.htm
/IndexedDB/string-list-ordering.htm
/IndexedDB/transaction-create_in_versionchange.htm
/IndexedDB/transaction-deactivation-timing.html
/IndexedDB/transaction-lifetime-blocked.htm
/IndexedDB/transaction-lifetime-empty.html
/IndexedDB/transaction-lifetime.htm
/IndexedDB/transaction-requestqueue.htm
/IndexedDB/transaction_bubble-and-capture.htm
/IndexedDB/upgrade-transaction-deactivation-timing.html
/IndexedDB/value.htm
/IndexedDB/value_recursive.htm
/IndexedDB/writer-starvation.htm
|
Firefox (nightly channel)Testing web-platform-tests at revision 5df47a92c0060693f23a6cf16059fb422f48e048 All results290 tests ran/IndexedDB/abort-in-initial-upgradeneeded.html
/IndexedDB/bindings-inject-key.html
/IndexedDB/clone-before-keypath-eval.html
/IndexedDB/close-in-upgradeneeded.html
/IndexedDB/cursor-overloads.htm
/IndexedDB/delete-request-queue.html
/IndexedDB/error-attributes.html
/IndexedDB/event-dispatch-active-flag.html
/IndexedDB/fire-error-event-exception.html
/IndexedDB/fire-success-event-exception.html
/IndexedDB/fire-upgradeneeded-event-exception.html
/IndexedDB/idb-binary-key-detached.htm
/IndexedDB/idb-binary-key-roundtrip.htm
/IndexedDB/idb_webworkers.htm
/IndexedDB/idbcursor-advance-continue-async.htm
/IndexedDB/idbcursor-advance-exception-order.html
/IndexedDB/idbcursor-advance-invalid.htm
/IndexedDB/idbcursor-advance.htm
/IndexedDB/idbcursor-continue-exception-order.htm
/IndexedDB/idbcursor-continue.htm
/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm
/IndexedDB/idbcursor-continuePrimaryKey.htm
/IndexedDB/idbcursor-delete-exception-order.htm
/IndexedDB/idbcursor-direction-index-keyrange.htm
/IndexedDB/idbcursor-direction-index.htm
/IndexedDB/idbcursor-direction-objectstore-keyrange.htm
/IndexedDB/idbcursor-direction-objectstore.htm
/IndexedDB/idbcursor-direction.htm
/IndexedDB/idbcursor-key.htm
/IndexedDB/idbcursor-primarykey.htm
/IndexedDB/idbcursor-reused.htm
/IndexedDB/idbcursor-source.htm
/IndexedDB/idbcursor-update-exception-order.htm
/IndexedDB/idbcursor_advance_index.htm
/IndexedDB/idbcursor_advance_index2.htm
/IndexedDB/idbcursor_advance_index3.htm
/IndexedDB/idbcursor_advance_index5.htm
/IndexedDB/idbcursor_advance_index6.htm
/IndexedDB/idbcursor_advance_index7.htm
/IndexedDB/idbcursor_advance_index8.htm
/IndexedDB/idbcursor_advance_index9.htm
/IndexedDB/idbcursor_advance_objectstore.htm
/IndexedDB/idbcursor_advance_objectstore2.htm
/IndexedDB/idbcursor_advance_objectstore3.htm
/IndexedDB/idbcursor_advance_objectstore4.htm
/IndexedDB/idbcursor_advance_objectstore5.htm
/IndexedDB/idbcursor_continue_index.htm
/IndexedDB/idbcursor_continue_index2.htm
/IndexedDB/idbcursor_continue_index3.htm
/IndexedDB/idbcursor_continue_index4.htm
/IndexedDB/idbcursor_continue_index5.htm
/IndexedDB/idbcursor_continue_index6.htm
/IndexedDB/idbcursor_continue_index7.htm
/IndexedDB/idbcursor_continue_index8.htm
/IndexedDB/idbcursor_continue_invalid.htm
/IndexedDB/idbcursor_continue_objectstore.htm
/IndexedDB/idbcursor_continue_objectstore2.htm
/IndexedDB/idbcursor_continue_objectstore3.htm
/IndexedDB/idbcursor_continue_objectstore4.htm
/IndexedDB/idbcursor_continue_objectstore5.htm
/IndexedDB/idbcursor_continue_objectstore6.htm
/IndexedDB/idbcursor_delete_index.htm
/IndexedDB/idbcursor_delete_index2.htm
/IndexedDB/idbcursor_delete_index3.htm
/IndexedDB/idbcursor_delete_index4.htm
/IndexedDB/idbcursor_delete_index5.htm
/IndexedDB/idbcursor_delete_objectstore.htm
/IndexedDB/idbcursor_delete_objectstore2.htm
/IndexedDB/idbcursor_delete_objectstore3.htm
/IndexedDB/idbcursor_delete_objectstore4.htm
/IndexedDB/idbcursor_delete_objectstore5.htm
/IndexedDB/idbcursor_iterating.htm
/IndexedDB/idbcursor_iterating_index.htm
/IndexedDB/idbcursor_iterating_index2.htm
/IndexedDB/idbcursor_iterating_objectstore.htm
/IndexedDB/idbcursor_iterating_objectstore2.htm
/IndexedDB/idbcursor_update_index.htm
/IndexedDB/idbcursor_update_index2.htm
/IndexedDB/idbcursor_update_index3.htm
/IndexedDB/idbcursor_update_index4.htm
/IndexedDB/idbcursor_update_index5.htm
/IndexedDB/idbcursor_update_index6.htm
/IndexedDB/idbcursor_update_index7.htm
/IndexedDB/idbcursor_update_index8.htm
/IndexedDB/idbcursor_update_objectstore.htm
/IndexedDB/idbcursor_update_objectstore2.htm
/IndexedDB/idbcursor_update_objectstore3.htm
/IndexedDB/idbcursor_update_objectstore4.htm
/IndexedDB/idbcursor_update_objectstore5.htm
/IndexedDB/idbcursor_update_objectstore6.htm
/IndexedDB/idbcursor_update_objectstore7.htm
/IndexedDB/idbcursor_update_objectstore8.htm
/IndexedDB/idbcursor_update_objectstore9.htm
/IndexedDB/idbdatabase-createObjectStore-exception-order.htm
/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm
/IndexedDB/idbdatabase-transaction-exception-order.html
/IndexedDB/idbdatabase_close.htm
/IndexedDB/idbdatabase_close2.htm
/IndexedDB/idbdatabase_createObjectStore-createIndex-emptyname.htm
/IndexedDB/idbdatabase_createObjectStore.htm
/IndexedDB/idbdatabase_createObjectStore10-1000ends.htm
/IndexedDB/idbdatabase_createObjectStore10-emptyname.htm
/IndexedDB/idbdatabase_createObjectStore11.htm
/IndexedDB/idbdatabase_createObjectStore2.htm
/IndexedDB/idbdatabase_createObjectStore3.htm
/IndexedDB/idbdatabase_createObjectStore4.htm
/IndexedDB/idbdatabase_createObjectStore5.htm
/IndexedDB/idbdatabase_createObjectStore6.htm
/IndexedDB/idbdatabase_createObjectStore7.htm
/IndexedDB/idbdatabase_createObjectStore8-parameters.htm
/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm
/IndexedDB/idbdatabase_deleteObjectStore.htm
/IndexedDB/idbdatabase_deleteObjectStore2.htm
/IndexedDB/idbdatabase_deleteObjectStore3.htm
/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm
/IndexedDB/idbdatabase_transaction.htm
/IndexedDB/idbdatabase_transaction2.htm
/IndexedDB/idbdatabase_transaction3.htm
/IndexedDB/idbdatabase_transaction4.htm
/IndexedDB/idbdatabase_transaction5.htm
/IndexedDB/idbfactory_cmp.htm
/IndexedDB/idbfactory_cmp2.htm
/IndexedDB/idbfactory_deleteDatabase.htm
/IndexedDB/idbfactory_deleteDatabase2.htm
/IndexedDB/idbfactory_deleteDatabase3.htm
/IndexedDB/idbfactory_deleteDatabase4.htm
/IndexedDB/idbfactory_open.htm
/IndexedDB/idbfactory_open10.htm
/IndexedDB/idbfactory_open11.htm
/IndexedDB/idbfactory_open12.htm
/IndexedDB/idbfactory_open2.htm
/IndexedDB/idbfactory_open3.htm
/IndexedDB/idbfactory_open4.htm
/IndexedDB/idbfactory_open5.htm
/IndexedDB/idbfactory_open6.htm
/IndexedDB/idbfactory_open7.htm
/IndexedDB/idbfactory_open8.htm
/IndexedDB/idbindex-getAll-enforcerange.html
/IndexedDB/idbindex-getAllKeys-enforcerange.html
/IndexedDB/idbindex-multientry-arraykeypath.htm
/IndexedDB/idbindex-multientry-big.htm
/IndexedDB/idbindex-multientry.htm
/IndexedDB/idbindex-query-exception-order.html
/IndexedDB/idbindex_count.htm
/IndexedDB/idbindex_count2.htm
/IndexedDB/idbindex_count3.htm
/IndexedDB/idbindex_count4.htm
/IndexedDB/idbindex_get.htm
/IndexedDB/idbindex_get2.htm
/IndexedDB/idbindex_get3.htm
/IndexedDB/idbindex_get4.htm
/IndexedDB/idbindex_get5.htm
/IndexedDB/idbindex_get6.htm
/IndexedDB/idbindex_get7.htm
/IndexedDB/idbindex_get8.htm
/IndexedDB/idbindex_getKey.htm
/IndexedDB/idbindex_getKey2.htm
/IndexedDB/idbindex_getKey3.htm
/IndexedDB/idbindex_getKey4.htm
/IndexedDB/idbindex_getKey5.htm
/IndexedDB/idbindex_getKey6.htm
/IndexedDB/idbindex_getKey7.htm
/IndexedDB/idbindex_getKey8.htm
/IndexedDB/idbindex_indexNames.htm
/IndexedDB/idbindex_openCursor.htm
/IndexedDB/idbindex_openCursor2.htm
/IndexedDB/idbindex_openCursor3.htm
/IndexedDB/idbindex_openKeyCursor.htm
/IndexedDB/idbindex_openKeyCursor2.htm
/IndexedDB/idbindex_openKeyCursor3.htm
/IndexedDB/idbindex_openKeyCursor4.htm
/IndexedDB/idbkeyrange.htm
/IndexedDB/idbkeyrange_incorrect.htm
/IndexedDB/idbobjectstore-add-put-exception-order.html
/IndexedDB/idbobjectstore-clear-exception-order.html
/IndexedDB/idbobjectstore-delete-exception-order.html
/IndexedDB/idbobjectstore-deleteIndex-exception-order.html
/IndexedDB/idbobjectstore-getAll-enforcerange.html
/IndexedDB/idbobjectstore-getAllKeys-enforcerange.html
/IndexedDB/idbobjectstore-query-exception-order.html
/IndexedDB/idbobjectstore_add.htm
/IndexedDB/idbobjectstore_add10.htm
/IndexedDB/idbobjectstore_add11.htm
/IndexedDB/idbobjectstore_add12.htm
/IndexedDB/idbobjectstore_add13.htm
/IndexedDB/idbobjectstore_add14.htm
/IndexedDB/idbobjectstore_add15.htm
/IndexedDB/idbobjectstore_add16.htm
/IndexedDB/idbobjectstore_add2.htm
/IndexedDB/idbobjectstore_add3.htm
/IndexedDB/idbobjectstore_add4.htm
/IndexedDB/idbobjectstore_add5.htm
/IndexedDB/idbobjectstore_add6.htm
/IndexedDB/idbobjectstore_add7.htm
/IndexedDB/idbobjectstore_add8.htm
/IndexedDB/idbobjectstore_add9.htm
/IndexedDB/idbobjectstore_clear.htm
/IndexedDB/idbobjectstore_clear2.htm
/IndexedDB/idbobjectstore_clear3.htm
/IndexedDB/idbobjectstore_clear4.htm
/IndexedDB/idbobjectstore_count.htm
/IndexedDB/idbobjectstore_count2.htm
/IndexedDB/idbobjectstore_count3.htm
/IndexedDB/idbobjectstore_count4.htm
/IndexedDB/idbobjectstore_createIndex.htm
/IndexedDB/idbobjectstore_createIndex10.htm
/IndexedDB/idbobjectstore_createIndex11.htm
/IndexedDB/idbobjectstore_createIndex12.htm
/IndexedDB/idbobjectstore_createIndex13.htm
/IndexedDB/idbobjectstore_createIndex14-exception_order.htm
/IndexedDB/idbobjectstore_createIndex2.htm
/IndexedDB/idbobjectstore_createIndex3-usable-right-away.htm
/IndexedDB/idbobjectstore_createIndex4-deleteIndex-event_order.htm
/IndexedDB/idbobjectstore_createIndex5-emptykeypath.htm
/IndexedDB/idbobjectstore_createIndex6-event_order.htm
/IndexedDB/idbobjectstore_createIndex7-event_order.htm
/IndexedDB/idbobjectstore_createIndex8-valid_keys.htm
/IndexedDB/idbobjectstore_createIndex9-emptyname.htm
/IndexedDB/idbobjectstore_delete.htm
/IndexedDB/idbobjectstore_delete2.htm
/IndexedDB/idbobjectstore_delete3.htm
/IndexedDB/idbobjectstore_delete4.htm
/IndexedDB/idbobjectstore_delete5.htm
/IndexedDB/idbobjectstore_delete6.htm
/IndexedDB/idbobjectstore_delete7.htm
/IndexedDB/idbobjectstore_deleteIndex.htm
/IndexedDB/idbobjectstore_deleted.htm
/IndexedDB/idbobjectstore_get.htm
/IndexedDB/idbobjectstore_get2.htm
/IndexedDB/idbobjectstore_get3.htm
/IndexedDB/idbobjectstore_get4.htm
/IndexedDB/idbobjectstore_get5.htm
/IndexedDB/idbobjectstore_get6.htm
/IndexedDB/idbobjectstore_get7.htm
/IndexedDB/idbobjectstore_index.htm
/IndexedDB/idbobjectstore_openCursor.htm
/IndexedDB/idbobjectstore_openCursor_invalid.htm
/IndexedDB/idbobjectstore_put.htm
/IndexedDB/idbobjectstore_put10.htm
/IndexedDB/idbobjectstore_put11.htm
/IndexedDB/idbobjectstore_put12.htm
/IndexedDB/idbobjectstore_put13.htm
/IndexedDB/idbobjectstore_put14.htm
/IndexedDB/idbobjectstore_put15.htm
/IndexedDB/idbobjectstore_put16.htm
/IndexedDB/idbobjectstore_put2.htm
/IndexedDB/idbobjectstore_put3.htm
/IndexedDB/idbobjectstore_put4.htm
/IndexedDB/idbobjectstore_put5.htm
/IndexedDB/idbobjectstore_put6.htm
/IndexedDB/idbobjectstore_put7.htm
/IndexedDB/idbobjectstore_put8.htm
/IndexedDB/idbobjectstore_put9.htm
/IndexedDB/idbrequest_error.html
/IndexedDB/idbrequest_result.html
/IndexedDB/idbtransaction-objectStore-exception-order.html
/IndexedDB/idbtransaction-oncomplete.htm
/IndexedDB/idbtransaction.htm
/IndexedDB/idbtransaction_abort.htm
/IndexedDB/idbtransaction_objectStoreNames.html
/IndexedDB/idbversionchangeevent.htm
/IndexedDB/index_sort_order.htm
/IndexedDB/key-conversion-exceptions.htm
/IndexedDB/key_invalid.htm
/IndexedDB/key_valid.html
/IndexedDB/keygenerator-constrainterror.htm
/IndexedDB/keygenerator-overflow.htm
/IndexedDB/keygenerator.htm
/IndexedDB/keyorder.htm
/IndexedDB/keypath-exceptions.htm
/IndexedDB/keypath-special-identifiers.htm
/IndexedDB/keypath.htm
/IndexedDB/keypath_invalid.htm
/IndexedDB/keypath_maxsize.htm
/IndexedDB/list_ordering.htm
/IndexedDB/objectstore_keyorder.htm
/IndexedDB/open-request-queue.html
/IndexedDB/request_bubble-and-capture.htm
/IndexedDB/string-list-ordering.htm
/IndexedDB/transaction-create_in_versionchange.htm
/IndexedDB/transaction-deactivation-timing.html
/IndexedDB/transaction-lifetime-blocked.htm
/IndexedDB/transaction-lifetime-empty.html
/IndexedDB/transaction-lifetime.htm
/IndexedDB/transaction-requestqueue.htm
/IndexedDB/transaction_bubble-and-capture.htm
/IndexedDB/upgrade-transaction-deactivation-timing.html
/IndexedDB/value.htm
/IndexedDB/value_recursive.htm
/IndexedDB/writer-starvation.htm
|
I split this up - this now covers just the transaction activation cases, i.e. those discussed in w3c/IndexedDB#87 that would require the HTML hook as discussed in whatwg/html#2310 |
Do you have a reviewer lined up for these, or should @annevk and I try to muddle through based on our IDB knowledge? :) (Also, needs a bit of a rebase, I guess.) |
I'll wrangle an IDB-knowledgeable reviewer. |
These tests are now available on w3c-test.org |
@pwnall - can you review? |
}, | ||
(t, db) => { | ||
const tx = db.transaction('store'); | ||
const finish = keep_alive(tx, 'store'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
finish sounds a bit close to done. How about a name like release_tx
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
db.createObjectStore('store'); | ||
}, | ||
(t, db) => { | ||
const tx = db.transaction('store'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a oncomplete
handler and assert that it hasn't been called on line 38 (where you call finish)? Alternatively, this can all be done in keep_alive
, but it's less explicit. An assert on line 38 would be a nice and easy way for a reader to make sure that the transaction is still pinned, as expected.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
Promise.resolve().then(t.step_func(() => { | ||
saw_handler_promise = true; | ||
assert_true(is_transaction_active(tx, 'store'), | ||
'Transaction should be active in handlers microtasks'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
handler microtasks?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should be "handler's microtasks"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed. I'd be ok with handler microtasks
if you don't want to change the outer quotes. I think the grammar still parses correctly, even though the form you suggested definitely has the lightest cognitive load.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll add the apostrophe.
Promise.resolve().then(t.step_func(() => { | ||
saw_listener_promise = true; | ||
assert_true(is_transaction_active(tx, 'store'), | ||
'Transaction should be active in listeners microtasks'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
listener microtasks?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ditto.
|
||
Promise.resolve().then(t.step_func(() => { | ||
microtasks_ran = true; | ||
new_tx = db.transaction('store'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you mean to reassign new_tx
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whooops! Nope.
Thanks @pwnall - another look pls? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with one nit.
setTimeout(t.step_func(() => { | ||
assert_false(is_transaction_active(tx, 'store'), | ||
'Transaction should be inactive in next task'); | ||
release_tx(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could also benefit from a tx_completed
check. I think that's generally the case when you check that the transaction should be inactive.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. I ended up just moving it into the keep_alive()
helper since it was getting copy/pastey
The IDB spec implicitly "monkey patches" HTML with imprecise prose when describing newly created transactions: "When control is returned to the event loop, the implementation must unset the active flag." The plan is replace that with a proper hook. Adding tests first to ensure that the expected behavior is captured appropriately. w3c/IndexedDB#87
In particular, call it from perform a microtask checkpoint. Tests: web-platform-tests/wpt#4643. Fixes #2279.
In particular, call it from perform a microtask checkpoint. Tests: web-platform-tests/wpt#4643. Fixes whatwg#2279.
The IDB spec implicitly "monkey patches" HTML with imprecise prose
when describing newly created transactions:
"When control is returned to the event loop, the implementation must
unset the active flag."
The plan is replace that with a proper hook. Adding tests first to ensure the
expected behavior is captured appropriately.
w3c/IndexedDB#87