Chromium Code Reviews| Index: Source/modules/indexeddb/IDBCursor.cpp |
| diff --git a/Source/modules/indexeddb/IDBCursor.cpp b/Source/modules/indexeddb/IDBCursor.cpp |
| index 68a346ca75a2dabf7ff02da0b1547b62853ca9c7..f15dd8fbbb4340ab6f0891de9b47bb939d480c11 100644 |
| --- a/Source/modules/indexeddb/IDBCursor.cpp |
| +++ b/Source/modules/indexeddb/IDBCursor.cpp |
| @@ -310,7 +310,7 @@ ScriptValue IDBCursor::value(ScriptExecutionContext* context) |
| m_valueDirty = false; |
| DOMRequestState requestState(context); |
| - ScriptValue value = deserializeIDBValueBuffer(&requestState, m_value); |
| + ScriptValue value = deserializeIDBValueBuffer(&requestState, m_value, &m_blobInfo); |
| RefPtr<IDBObjectStore> objectStore = effectiveObjectStore(); |
| const IDBObjectStoreMetadata metadata = objectStore->metadata(); |
| if (metadata.autoIncrement && !metadata.keyPath.isNull()) { |
| @@ -325,7 +325,7 @@ ScriptValue IDBCursor::value(ScriptExecutionContext* context) |
| return value; |
| } |
| -void IDBCursor::setValueReady(PassRefPtr<IDBKey> key, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer> value) |
| +void IDBCursor::setValueReady(PassRefPtr<IDBKey> key, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer> value, Vector<BlobInfo>& blobInfo) |
| { |
| m_key = key; |
| m_keyDirty = true; |
| @@ -335,6 +335,8 @@ void IDBCursor::setValueReady(PassRefPtr<IDBKey> key, PassRefPtr<IDBKey> primary |
| if (!isKeyCursor()) { |
| m_value = value; |
| + m_blobInfo.clear(); |
| + m_blobInfo.swap(blobInfo); |
|
jsbell
2013/09/12 22:52:17
I'm waffling on OwnPtr<Vector> vs. swapping here.
ericu
2013/11/20 23:06:08
Switched to OwnPtr.
|
| m_valueDirty = true; |
| } |