Chromium Code Reviews
DescriptionOilpan: Prepare to move SQLTransactionBackendSync and SQLTransactionSync to Oilpan heap.
We need to rollback a transaction if SQLTransactionBackendSync is dying and its
transaction is in progress. However Oilpan architecture doesn't allow us to
touch associated DatabaseSync in ~SQLTransactionBackendSync.
This CL adds a PersistentHeapHashMap<WeakMember<T>, U> to
DatabaseSync to manage SQLTransactionSync, and it makes possible
to call SQLTransactionSync::rollbackIfInProgress before the destruction.
Note:
- m_database->executionContext() can be null in some functions because on-heap
objects can live after dissociation of ExecutionContext.
- Change the argument of DatabaseSync::rollbackTransaction to a reference
because PassRefPtr is unnecessary here and the argument is always non-null.
BUG=347902
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=169428
Patch Set 1 #Patch Set 2 : DatabaseSync owns observers. #
Total comments: 12
Messages
Total messages: 17 (0 generated)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||