| Index: Source/modules/indexeddb/IDBPendingTransactionMonitor.h
|
| diff --git a/Source/modules/indexeddb/IDBPendingTransactionMonitor.h b/Source/modules/indexeddb/IDBPendingTransactionMonitor.h
|
| index 3eff46e34a366959e3ab9ce1fcaacbf97a2ac301..1bc7071303f82d77cbe4dbb1b8abf1dcdbe007a4 100644
|
| --- a/Source/modules/indexeddb/IDBPendingTransactionMonitor.h
|
| +++ b/Source/modules/indexeddb/IDBPendingTransactionMonitor.h
|
| @@ -41,15 +41,14 @@ class IDBTransaction;
|
| // which is set to true on creation, but must be set to false when control
|
| // returns to the event loop.
|
|
|
| -class IDBPendingTransactionMonitor : public Supplement<ExecutionContext> {
|
| +class IDBPendingTransactionMonitor : public NoBaseWillBeGarbageCollected<IDBPendingTransactionMonitor>, public WillBeHeapSupplement<ExecutionContext> {
|
| + WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(IDBPendingTransactionMonitor);
|
| + DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(IDBPendingTransactionMonitor);
|
| WTF_MAKE_NONCOPYABLE(IDBPendingTransactionMonitor);
|
|
|
| public:
|
| - static IDBPendingTransactionMonitor& from(Supplementable<ExecutionContext>&);
|
| - virtual ~IDBPendingTransactionMonitor();
|
| - // The trace functino doesn't work until ExecutionContext is moved to Oilpan
|
| - // heap.
|
| - virtual void trace(Visitor* visitor) OVERRIDE { Supplement<ExecutionContext>::trace(visitor); }
|
| + static IDBPendingTransactionMonitor& from(WillBeHeapSupplementable<ExecutionContext>&);
|
| + virtual void trace(Visitor*) OVERRIDE;
|
| void addNewTransaction(IDBTransaction&);
|
| void deactivateNewTransactions();
|
|
|
| @@ -57,7 +56,11 @@ private:
|
| IDBPendingTransactionMonitor();
|
| static const char* supplementName();
|
|
|
| +#if ENABLE(OILPAN)
|
| + typedef HeapVector<Member<IDBTransaction> > TransactionList;
|
| +#else
|
| typedef PersistentHeapVector<Member<IDBTransaction> > TransactionList;
|
| +#endif
|
| TransactionList m_transactions;
|
| };
|
|
|
|
|