| Index: third_party/WebKit/Source/modules/webdatabase/SQLTransactionCoordinator.h
|
| diff --git a/third_party/WebKit/Source/modules/webdatabase/SQLTransactionCoordinator.h b/third_party/WebKit/Source/modules/webdatabase/SQLTransactionCoordinator.h
|
| index 619a734f9ce0a88f29c908cadeed803bddebbab9..0d886469f49f50a1be88a895bd9bec2eee083e31 100644
|
| --- a/third_party/WebKit/Source/modules/webdatabase/SQLTransactionCoordinator.h
|
| +++ b/third_party/WebKit/Source/modules/webdatabase/SQLTransactionCoordinator.h
|
| @@ -42,7 +42,7 @@
|
|
|
| class SQLTransactionBackend;
|
|
|
| -class SQLTransactionCoordinator : public GarbageCollectedFinalized<SQLTransactionCoordinator> {
|
| +class SQLTransactionCoordinator : public GarbageCollected<SQLTransactionCoordinator> {
|
| WTF_MAKE_NONCOPYABLE(SQLTransactionCoordinator);
|
| public:
|
| SQLTransactionCoordinator();
|
| @@ -52,16 +52,23 @@
|
| void shutdown();
|
|
|
| private:
|
| - typedef Deque<CrossThreadPersistent<SQLTransactionBackend>> TransactionsQueue;
|
| + typedef HeapDeque<Member<SQLTransactionBackend>> TransactionsQueue;
|
| struct CoordinationInfo {
|
| DISALLOW_NEW_EXCEPT_PLACEMENT_NEW();
|
| public:
|
| TransactionsQueue pendingTransactions;
|
| - HashSet<CrossThreadPersistent<SQLTransactionBackend>> activeReadTransactions;
|
| - CrossThreadPersistent<SQLTransactionBackend> activeWriteTransaction;
|
| + HeapHashSet<Member<SQLTransactionBackend>> activeReadTransactions;
|
| + Member<SQLTransactionBackend> activeWriteTransaction;
|
| +
|
| + DEFINE_INLINE_TRACE()
|
| + {
|
| + visitor->trace(pendingTransactions);
|
| + visitor->trace(activeReadTransactions);
|
| + visitor->trace(activeWriteTransaction);
|
| + }
|
| };
|
| // Maps database names to information about pending transactions
|
| - typedef HashMap<String, CoordinationInfo> CoordinationInfoHeapMap;
|
| + typedef HeapHashMap<String, CoordinationInfo> CoordinationInfoHeapMap;
|
| CoordinationInfoHeapMap m_coordinationInfoMap;
|
| bool m_isShuttingDown;
|
|
|
|
|