Index: Source/modules/indexeddb/IDBRequest.h |
diff --git a/Source/modules/indexeddb/IDBRequest.h b/Source/modules/indexeddb/IDBRequest.h |
index 8309ddc96cc022cac04bbd20beacf8e5cf577e19..9752a6f624573653913ae21a4c26d76c59939d7b 100644 |
--- a/Source/modules/indexeddb/IDBRequest.h |
+++ b/Source/modules/indexeddb/IDBRequest.h |
@@ -95,13 +95,13 @@ public: |
virtual void onError(PassRefPtr<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<BlobInfo> >); |
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<BlobInfo> >); |
+ virtual void onSuccess(PassRefPtr<SharedBuffer>, PassOwnPtr<Vector<BlobInfo> >, 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<BlobInfo> >); |
// Only IDBOpenDBRequest instances should receive these: |
virtual void onBlocked(int64_t oldVersion) { ASSERT_NOT_REACHED(); } |
@@ -133,6 +133,8 @@ public: |
DOMRequestState* requestState() { return &m_requestState; } |
IDBCursor* getResultCursor(); |
+ void ackReceivedBlobs(const Vector<BlobInfo>*); |
+ |
protected: |
IDBRequest(ExecutionContext*, PassRefPtr<IDBAny> source, IDBTransaction*); |
void enqueueEvent(PassRefPtr<Event>); |
@@ -146,8 +148,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<BlobInfo> >); |
void checkForReferenceCycle(); |
+ void handleBlobAcks(); |
RefPtr<IDBAny> m_source; |
RefPtr<IDBAny> m_result; |
@@ -163,6 +166,7 @@ private: |
RefPtr<IDBKey> m_cursorKey; |
RefPtr<IDBKey> m_cursorPrimaryKey; |
RefPtr<SharedBuffer> m_cursorValue; |
+ OwnPtr<Vector<BlobInfo> > m_blobInfo; |
bool m_didFireUpgradeNeededEvent; |
bool m_preventPropagation; |
bool m_resultDirty; |