| Index: Source/modules/webdatabase/DatabaseContext.h
|
| diff --git a/Source/modules/webdatabase/DatabaseContext.h b/Source/modules/webdatabase/DatabaseContext.h
|
| index 395c78e226f1cee81b2f6bfda16b3765e3eced32..dd9b5d717a61a111f0a53c59dcf146f162eba9a8 100644
|
| --- a/Source/modules/webdatabase/DatabaseContext.h
|
| +++ b/Source/modules/webdatabase/DatabaseContext.h
|
| @@ -76,9 +76,21 @@ private:
|
| void stopSyncDatabases();
|
|
|
| RefPtrWillBePersistent<DatabaseThread> m_databaseThread;
|
| +#if ENABLE(OILPAN)
|
| + class DatabaseCloser {
|
| + public:
|
| + explicit DatabaseCloser(DatabaseBackendBase& database) : m_database(database) { }
|
| + ~DatabaseCloser();
|
| +
|
| + private:
|
| + DatabaseBackendBase& m_database;
|
| + };
|
| + PersistentHeapHashMap<WeakMember<DatabaseBackendBase>, OwnPtr<DatabaseCloser> > m_openSyncDatabases;
|
| +#else
|
| // The contents of m_openSyncDatabases are raw pointers. It's safe because
|
| // DatabaseBackendSync is always closed before destruction.
|
| HashSet<DatabaseBackendBase*> m_openSyncDatabases;
|
| +#endif
|
| bool m_hasOpenDatabases; // This never changes back to false, even after the database thread is closed.
|
| bool m_hasRequestedTermination;
|
| };
|
|
|