| Index: Source/modules/webdatabase/DatabaseSync.h
|
| diff --git a/Source/modules/webdatabase/DatabaseSync.h b/Source/modules/webdatabase/DatabaseSync.h
|
| index f1317c36cb352ab0dbb02cb1f44a7fc390472f99..d3cea75ca7088fbf06f08c9572f4e85faaf2a9b8 100644
|
| --- a/Source/modules/webdatabase/DatabaseSync.h
|
| +++ b/Source/modules/webdatabase/DatabaseSync.h
|
| @@ -88,6 +88,11 @@ private:
|
| SQLTransactionSync& m_transaction;
|
| };
|
|
|
| + // Need a Persistent field because a HeapHashMap entry should be removed
|
| + // just after a SQLTransactionSync becomes untraceable. If this field was a
|
| + // Member<>, we could not assume the destruction order of DatabaseSync,
|
| + // SQLTransactionSync, and the field. We can not make the field static
|
| + // because multiple worker threads create SQLTransactionSync.
|
| GC_PLUGIN_IGNORE("http://crbug.com/353083")
|
| PersistentHeapHashMap<WeakMember<SQLTransactionSync>, OwnPtr<TransactionObserver> > m_observers;
|
| #endif
|
|
|