#define DatabaseContext_h
#include "core/dom/ActiveDOMObject.h"
-#include "heap/Handle.h"
+#include "core/workers/WorkerGlobalScope.h"
+#include "platform/heap/Handle.h"
#include "wtf/PassRefPtr.h"
#include "wtf/ThreadSafeRefCounted.h"
class Database;
class DatabaseBackendBase;
class DatabaseContext;
-class DatabaseTaskSynchronizer;
+class TaskSynchronizer;
class DatabaseThread;
class ExecutionContext;
class SecurityOrigin;
-class DatabaseContext FINAL : public ThreadSafeRefCountedWillBeGarbageCollectedFinalized<DatabaseContext>, public ActiveDOMObject {
+class DatabaseContext FINAL
+ : public ThreadSafeRefCountedWillBeGarbageCollectedFinalized<DatabaseContext>
+ , public ActiveDOMObject
+ , private WorkerGlobalScope::TerminationObserver {
public:
friend class DatabaseManager;
// For life-cycle management (inherited from ActiveDOMObject):
virtual void contextDestroyed() OVERRIDE;
- virtual void willStop() OVERRIDE;
virtual void stop() OVERRIDE;
DatabaseContext* backend();
private:
explicit DatabaseContext(ExecutionContext*);
+ virtual void wasRequestedToTerminate() OVERRIDE;
void stopSyncDatabases();
RefPtrWillBeMember<DatabaseThread> m_databaseThread;