| 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; | 
|  |