Index: Source/modules/indexeddb/IDBRequest.h |
diff --git a/Source/modules/indexeddb/IDBRequest.h b/Source/modules/indexeddb/IDBRequest.h |
index 2bca602f30ef37782e63b907ee496003dbeb0e10..0192631cfefc8650c9c74d32d33126174aeec947 100644 |
--- a/Source/modules/indexeddb/IDBRequest.h |
+++ b/Source/modules/indexeddb/IDBRequest.h |
@@ -42,6 +42,7 @@ |
#include "modules/indexeddb/IDBAny.h" |
#include "modules/indexeddb/IDBTransaction.h" |
#include "modules/indexeddb/IndexedDB.h" |
+#include "public/platform/WebBlobInfo.h" |
#include "public/platform/WebIDBCursor.h" |
namespace WebCore { |
@@ -97,13 +98,13 @@ public: |
virtual void onError(PassRefPtrWillBeRawPtr<DOMError>); |
virtual void onSuccess(const Vector<String>&); |
- virtual void onSuccess(PassOwnPtr<blink::WebIDBCursor>, PassRefPtr<IDBKey>, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer>); |
+ virtual void onSuccess(PassOwnPtr<blink::WebIDBCursor>, PassRefPtr<IDBKey>, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer>, PassOwnPtr<Vector<blink::WebBlobInfo> >); |
virtual void onSuccess(PassRefPtr<IDBKey>); |
- virtual void onSuccess(PassRefPtr<SharedBuffer>); |
- virtual void onSuccess(PassRefPtr<SharedBuffer>, PassRefPtr<IDBKey>, const IDBKeyPath&); |
+ virtual void onSuccess(PassRefPtr<SharedBuffer>, PassOwnPtr<Vector<blink::WebBlobInfo> >); |
+ virtual void onSuccess(PassRefPtr<SharedBuffer>, PassOwnPtr<Vector<blink::WebBlobInfo> >, PassRefPtr<IDBKey>, const IDBKeyPath&); |
virtual void onSuccess(int64_t); |
virtual void onSuccess(); |
- virtual void onSuccess(PassRefPtr<IDBKey>, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer>); |
+ virtual void onSuccess(PassRefPtr<IDBKey>, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer>, PassOwnPtr<Vector<blink::WebBlobInfo> >); |
// Only IDBOpenDBRequest instances should receive these: |
virtual void onBlocked(int64_t oldVersion) { ASSERT_NOT_REACHED(); } |
@@ -137,6 +138,8 @@ public: |
IDBCursor* getResultCursor() const; |
+ void ackReceivedBlobs(const Vector<blink::WebBlobInfo>*); |
+ |
protected: |
IDBRequest(ExecutionContext*, PassRefPtr<IDBAny> source, IDBTransaction*); |
void enqueueEvent(PassRefPtrWillBeRawPtr<Event>); |
@@ -151,8 +154,9 @@ protected: |
bool m_requestAborted; // May be aborted by transaction then receive async onsuccess; ignore vs. assert. |
private: |
- void setResultCursor(PassRefPtr<IDBCursor>, PassRefPtr<IDBKey>, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer> value); |
+ void setResultCursor(PassRefPtr<IDBCursor>, PassRefPtr<IDBKey>, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer> value, PassOwnPtr<Vector<blink::WebBlobInfo> >); |
void checkForReferenceCycle(); |
+ void handleBlobAcks(); |
RefPtr<NewScriptState> m_scriptState; |
RefPtr<IDBAny> m_source; |
@@ -171,6 +175,7 @@ private: |
RefPtr<IDBKey> m_cursorKey; |
RefPtr<IDBKey> m_cursorPrimaryKey; |
RefPtr<SharedBuffer> m_cursorValue; |
+ OwnPtr<Vector<blink::WebBlobInfo> > m_blobInfo; |
bool m_didFireUpgradeNeededEvent; |
bool m_preventPropagation; |