Bug 158532
Summary: | Modern IDB: After a JS breakpoint is hit during an active transaction, the transaction is erroneously flagged as inactive | ||
---|---|---|---|
Product: | WebKit | Reporter: | Brady Eidson <beidson> |
Component: | WebCore Misc. | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | msaboff |
Priority: | P2 | ||
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | 149117 | ||
Bug Blocks: | 165889 |
Brady Eidson
Modern IDB: After a JS breakpoint is hit during an active transaction, the transaction is erroneously flagged as inactive
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Brady Eidson
This is because transactions try to monitor VM scope to deactivate when the VM returns (e.g. event handling, etc etc)
In IDBTransaction::IDBTransaction:
vm.whenIdle([self, this]() {
deactivate();
});
That assumption breaks down during JS debugging.
Brady Eidson
whenIdle() may not do what we want, but we'll need to find a different way.