Index: content/child/indexed_db/proxy_webidbcursor_impl.cc |
diff --git a/content/child/indexed_db/proxy_webidbcursor_impl.cc b/content/child/indexed_db/proxy_webidbcursor_impl.cc |
index db2a348dbc6550e4042ed97e8328070805d4b069..1771337b65f3c104bcf06715666ca77c92102fb8 100644 |
--- a/content/child/indexed_db/proxy_webidbcursor_impl.cc |
+++ b/content/child/indexed_db/proxy_webidbcursor_impl.cc |
@@ -118,10 +118,12 @@ void RendererWebIDBCursorImpl::postSuccessHandlerCallback() { |
void RendererWebIDBCursorImpl::SetPrefetchData( |
const std::vector<IndexedDBKey>& keys, |
const std::vector<IndexedDBKey>& primary_keys, |
- const std::vector<WebData>& values) { |
+ const std::vector<WebData>& values, |
+ const std::vector<blink::WebVector<blink::WebBlobInfo> >& blob_info) { |
prefetch_keys_.assign(keys.begin(), keys.end()); |
prefetch_primary_keys_.assign(primary_keys.begin(), primary_keys.end()); |
prefetch_values_.assign(values.begin(), values.end()); |
+ prefetch_blob_info_.assign(blob_info.begin(), blob_info.end()); |
used_prefetches_ = 0; |
pending_onsuccess_callbacks_ = 0; |
@@ -129,23 +131,28 @@ void RendererWebIDBCursorImpl::SetPrefetchData( |
void RendererWebIDBCursorImpl::CachedContinue(WebIDBCallbacks* callbacks) { |
DCHECK_GT(prefetch_keys_.size(), 0ul); |
- DCHECK(prefetch_primary_keys_.size() == prefetch_keys_.size()); |
- DCHECK(prefetch_values_.size() == prefetch_keys_.size()); |
+ DCHECK_EQ(prefetch_primary_keys_.size(), prefetch_keys_.size()); |
+ DCHECK_EQ(prefetch_values_.size(), prefetch_keys_.size()); |
+ DCHECK_EQ(prefetch_blob_info_.size(), prefetch_keys_.size()); |
IndexedDBKey key = prefetch_keys_.front(); |
IndexedDBKey primary_key = prefetch_primary_keys_.front(); |
// this could be a real problem.. we need 2 CachedContinues |
WebData value = prefetch_values_.front(); |
+ blink::WebVector<blink::WebBlobInfo> blob_info = prefetch_blob_info_.front(); |
prefetch_keys_.pop_front(); |
prefetch_primary_keys_.pop_front(); |
prefetch_values_.pop_front(); |
+ prefetch_blob_info_.pop_front(); |
used_prefetches_++; |
pending_onsuccess_callbacks_++; |
callbacks->onSuccess(WebIDBKeyBuilder::Build(key), |
- WebIDBKeyBuilder::Build(primary_key), value); |
+ WebIDBKeyBuilder::Build(primary_key), |
+ value, |
+ blob_info); |
} |
void RendererWebIDBCursorImpl::ResetPrefetchCache() { |
@@ -164,6 +171,7 @@ void RendererWebIDBCursorImpl::ResetPrefetchCache() { |
prefetch_keys_.clear(); |
prefetch_primary_keys_.clear(); |
prefetch_values_.clear(); |
+ prefetch_blob_info_.clear(); |
pending_onsuccess_callbacks_ = 0; |
} |