Correct the IDB_LOG for IDBTransaction while firing a complete/abort event
Categories
(Core :: Storage: IndexedDB, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: tt, Assigned: tt)
References
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
IDBTransacation::FireCompleteOrAbortEvent() fires an event based on the aResult
, but logs IDB_LOG based on mAbortCode
.
The problem would occur while these two are different. We should change the if-check and maybe have an assertion for ensuring things there.
Assignee | ||
Comment 1•5 years ago
|
||
IDBTransaction generates IDB_LOG base on the mAbortCode, but it fires event
according to the argument "aResult" of FireCompleteOrAbortEvents(). It's
possible to have a situation that IDBTransaction hasn't been aborted yet, but
the transaction on the parent process is aborted and propagate the reason to
IDBTransaction. In this case, IDBTransaction would still fire an abort event as
expected. However, the IDB_LOG would show that it fired a complete event.
Therefore, this patch corrects the behavior and adds an assertion to ensure it's
only possible that parent process tells child process to abort at the last
minate rather than the case of parent is canceling the abort.
Comment 3•5 years ago
|
||
bugherder |
Description
•