Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(654)

Unified Diff: Source/modules/webdatabase/DatabaseSync.h

Issue 198793003: Oilpan: Prepare to move SQLTransactionBackendSync and SQLTransactionSync to Oilpan heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: DatabaseSync owns observers. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/modules/webdatabase/DatabaseSync.h
diff --git a/Source/modules/webdatabase/DatabaseSync.h b/Source/modules/webdatabase/DatabaseSync.h
index 07052c87ae1daa2a5dbb7253d9e1296b343fe0f2..f1317c36cb352ab0dbb02cb1f44a7fc390472f99 100644
--- a/Source/modules/webdatabase/DatabaseSync.h
+++ b/Source/modules/webdatabase/DatabaseSync.h
@@ -62,6 +62,7 @@ public:
void readTransaction(PassOwnPtr<SQLTransactionSyncCallback>, ExceptionState&);
virtual void closeImmediately() OVERRIDE;
+ void observeTransaction(SQLTransactionSync&);
const String& lastErrorMessage() const { return m_lastErrorMessage; }
void setLastErrorMessage(const String& message) { m_lastErrorMessage = message; }
@@ -76,7 +77,20 @@ private:
static PassRefPtrWillBeRawPtr<DatabaseSync> create(ExecutionContext*, PassRefPtrWillBeRawPtr<DatabaseBackendBase>);
void runTransaction(PassOwnPtr<SQLTransactionSyncCallback>, bool readOnly, ExceptionState&);
- void rollbackTransaction(PassRefPtr<SQLTransactionSync>);
+ void rollbackTransaction(SQLTransactionSync&);
+#if ENABLE(OILPAN)
+ class TransactionObserver {
+ public:
+ explicit TransactionObserver(SQLTransactionSync& transaction) : m_transaction(transaction) { }
+ ~TransactionObserver();
+
+ private:
+ SQLTransactionSync& m_transaction;
+ };
+
+ GC_PLUGIN_IGNORE("http://crbug.com/353083")
+ PersistentHeapHashMap<WeakMember<SQLTransactionSync>, OwnPtr<TransactionObserver> > m_observers;
haraken 2014/03/18 09:59:09 I'd like to have a comment about why this needs to
zerny-chromium 2014/03/18 10:09:09 I think the bug report provides sufficient documen
haraken 2014/03/18 11:31:33 I want to have a comment about the threading issue
tkent 2014/03/19 04:58:39 I'll add a comment.
+#endif
String m_lastErrorMessage;
« no previous file with comments | « no previous file | Source/modules/webdatabase/DatabaseSync.cpp » ('j') | Source/modules/webdatabase/DatabaseSync.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698