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.