-
Notifications
You must be signed in to change notification settings - Fork 64
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
The done flag is never unset between upgradeneeded and success #161
Comments
Also, if there is an error (abort errors are the specified ones) during or after the "steps to run an upgrade transaction", should Also, as far as the explanatory text you cited mentioning the |
Also, since the open request is not using the steps to asynchronously execute a request, the |
Thanks as always @brettz9 ! I tacked this in #202
I added this in the case where the result is cleared out for abort. I still don't think it's observable, but it made sense to do as part of the related changes...
Correct. This appears at the end of "Aborting a transaction" where request's transaction is cleared. The timing is specific here - this is visible after the event fires.
That's not what "in parallel" means. It's defined at https://html.spec.whatwg.org/multipage/infrastructure.html#in-parallel and means the referenced steps are run parallel to the surrounding algorithm, but are themselves run sequentially. It's known that the terminology is confusing, see whatwg/html#2643 (and in #199 I at least turn "in parallel" into a link)
Ugh, yeah. So that's taken care of in the PR as part of the open/delete steps. Can you review the PR and comment there? |
Thanks as always to you for the thorough consideration and your ongoing amendments and pain-staking work on such minutia here and in the tests! And thanks for the reference to the definition of "in parallel" for HTML algorithms. I've added some comments on the referenced PR so can continue there. |
…e flag appropriately Set request result/done flag appropriately in open/delete (Resolves w3c/IndexedDB#161 ) w3c/IndexedDB@e213bcf 92c97770 Define db's associated upgrade tx to align with impls/tests w3c/IndexedDB@ee40bb3 116a0e44
There's a note in the request definition:
For cursor iteration there are explicit "Unset the done flag on request." steps (e.g. in continue()). But there's nothing in the steps for upgrade transactions.
I'd expect a final step there that unsets the done flag. Ostensibly this would be visible as a change in the request's
readyState
between the "complete" event fired at the transaction and the "success" event fired at the request.However... I'm unable to test this in either Chrome or Firefox. In Chrome, at least, the code that queues the "complete" and "success" doesn't really leave room for anything to happen in between, at least not in a non-racy way.
So... the note is inconsistent with the spec, but changing the spec without a test seems weird.
The text was updated successfully, but these errors were encountered: