#ifndef IDBPendingTransactionMonitor_h
#define IDBPendingTransactionMonitor_h
-#include "platform/Supplementable.h"
+#include "platform/heap/Handle.h"
#include "wtf/Noncopyable.h"
-#include "wtf/PassOwnPtr.h"
-#include "wtf/Vector.h"
namespace blink {
-class ExecutionContext;
class IDBTransaction;
// This class keeps track of the transactions created during the current
// which is set to true on creation, but must be set to false when control
// returns to the event loop.
-class IDBPendingTransactionMonitor : public NoBaseWillBeGarbageCollected<IDBPendingTransactionMonitor>, public WillBeHeapSupplement<ExecutionContext> {
- WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(IDBPendingTransactionMonitor);
- DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(IDBPendingTransactionMonitor);
+class IDBPendingTransactionMonitor {
WTF_MAKE_NONCOPYABLE(IDBPendingTransactionMonitor);
public:
- static IDBPendingTransactionMonitor& from(WillBeHeapSupplementable<ExecutionContext>&);
- virtual void trace(Visitor*) OVERRIDE;
+ IDBPendingTransactionMonitor();
+
void addNewTransaction(IDBTransaction&);
void deactivateNewTransactions();
private:
- IDBPendingTransactionMonitor();
- static const char* supplementName();
-
- PersistentHeapVectorWillBeHeapVector<Member<IDBTransaction> > m_transactions;
+ PersistentHeapVector<Member<IDBTransaction> > m_transactions;
};
} // namespace blink