X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2FWebKit%2FSource%2Fmodules%2Findexeddb%2FIDBDatabaseCallbacks.h;h=5a63defacb28014f822b94c7e2ceb5b66bff5f2a;hb=004985e17e624662a4c85c76a7654039dc83f028;hp=f4a2d70313fe316293e56b3a0e8bc08d91304543;hpb=2f108dbacb161091e42a3479f4e171339b7e7623;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/WebKit/Source/modules/indexeddb/IDBDatabaseCallbacks.h b/src/third_party/WebKit/Source/modules/indexeddb/IDBDatabaseCallbacks.h index f4a2d70..5a63def 100644 --- a/src/third_party/WebKit/Source/modules/indexeddb/IDBDatabaseCallbacks.h +++ b/src/third_party/WebKit/Source/modules/indexeddb/IDBDatabaseCallbacks.h @@ -26,7 +26,7 @@ #ifndef IDBDatabaseCallbacks_h #define IDBDatabaseCallbacks_h -#include "heap/Handle.h" +#include "platform/heap/Handle.h" #include "wtf/PassRefPtr.h" #include "wtf/RefCounted.h" @@ -35,10 +35,11 @@ namespace WebCore { class DOMError; class IDBDatabase; -class IDBDatabaseCallbacks : public RefCounted { +class IDBDatabaseCallbacks : public RefCountedWillBeGarbageCollectedFinalized { public: - static PassRefPtr create(); + static PassRefPtrWillBeRawPtr create(); virtual ~IDBDatabaseCallbacks(); + void trace(Visitor*); // IDBDatabaseCallbacks virtual void onForcedClose(); @@ -54,8 +55,14 @@ protected: IDBDatabaseCallbacks(); private: - // The initial IDBOpenDBRequest or final IDBDatabase maintains a RefPtr to this - IDBDatabase* m_database; + // The initial IDBOpenDBRequest, final IDBDatabase, and/or + // WebIDBDatabaseCallbacks have strong references to an IDBDatabaseCallbacks + // object. + // Oilpan: We'd like to delete an IDBDatabase object by a + // GC. WebIDBDatabaseCallbacks can survive the GC, and IDBDatabaseCallbacks + // can survive too. m_database should be a weak reference to avoid that an + // IDBDatabase survives the GC with the IDBDatabaseCallbacks. + RawPtrWillBeWeakMember m_database; }; } // namespace WebCore