Index: content/child/indexed_db/webidbcursor_impl_unittest.cc |
diff --git a/content/child/indexed_db/webidbcursor_impl_unittest.cc b/content/child/indexed_db/webidbcursor_impl_unittest.cc |
index 33494e049930fc4ab8f59baabefa29c0d8752a3f..a131096be23a606db278bbd6797a119d3b10e1a8 100644 |
--- a/content/child/indexed_db/webidbcursor_impl_unittest.cc |
+++ b/content/child/indexed_db/webidbcursor_impl_unittest.cc |
@@ -14,11 +14,13 @@ |
#include "third_party/WebKit/public/platform/WebData.h" |
#include "third_party/WebKit/public/platform/WebIDBCallbacks.h" |
+using blink::WebBlobInfo; |
using blink::WebData; |
using blink::WebIDBCallbacks; |
using blink::WebIDBDatabase; |
using blink::WebIDBKey; |
using blink::WebIDBKeyTypeNumber; |
+using blink::WebVector; |
namespace content { |
@@ -93,18 +95,24 @@ class MockDispatcher : public IndexedDBDispatcher { |
class MockContinueCallbacks : public WebIDBCallbacks { |
public: |
- MockContinueCallbacks(IndexedDBKey* key = 0) : key_(key) {} |
+ MockContinueCallbacks(IndexedDBKey* key = 0, |
+ WebVector<WebBlobInfo>* webBlobInfo = 0) |
+ : key_(key), webBlobInfo_(webBlobInfo) {} |
virtual void onSuccess(const WebIDBKey& key, |
const WebIDBKey& primaryKey, |
- const WebData& value) { |
+ const WebData& value, |
+ const WebVector<WebBlobInfo>& webBlobInfo) OVERRIDE { |
if (key_) |
*key_ = IndexedDBKeyBuilder::Build(key); |
+ if (webBlobInfo_) |
+ *webBlobInfo_ = webBlobInfo; |
} |
private: |
IndexedDBKey* key_; |
+ WebVector<WebBlobInfo>* webBlobInfo_; |
}; |
} // namespace |
@@ -171,10 +179,13 @@ TEST_F(WebIDBCursorImplTest, PrefetchTest) { |
std::vector<IndexedDBKey> keys; |
std::vector<IndexedDBKey> primary_keys(prefetch_count); |
std::vector<WebData> values(prefetch_count); |
+ std::vector<WebVector<WebBlobInfo> > blob_info; |
for (int i = 0; i < prefetch_count; ++i) { |
keys.push_back(IndexedDBKey(expected_key + i, WebIDBKeyTypeNumber)); |
+ blob_info.push_back( |
+ WebVector<WebBlobInfo>(static_cast<size_t>(expected_key + i))); |
} |
- cursor.SetPrefetchData(keys, primary_keys, values); |
+ cursor.SetPrefetchData(keys, primary_keys, values, blob_info); |
// Note that the real dispatcher would call cursor->CachedContinue() |
// immediately after cursor->SetPrefetchData() to service the request |
@@ -183,11 +194,14 @@ TEST_F(WebIDBCursorImplTest, PrefetchTest) { |
// Verify that the cache is used for subsequent continue() calls. |
for (int i = 0; i < prefetch_count; ++i) { |
IndexedDBKey key; |
- cursor.continueFunction(null_key_, new MockContinueCallbacks(&key)); |
+ WebVector<WebBlobInfo> web_blob_info; |
+ cursor.continueFunction( |
+ null_key_, new MockContinueCallbacks(&key, &web_blob_info)); |
EXPECT_EQ(continue_calls, dispatcher_->continue_calls()); |
EXPECT_EQ(repetitions + 1, dispatcher_->prefetch_calls()); |
EXPECT_EQ(WebIDBKeyTypeNumber, key.type()); |
+ EXPECT_EQ(expected_key, static_cast<int>(web_blob_info.size())); |
EXPECT_EQ(expected_key++, key.number()); |
} |
} |
@@ -226,10 +240,13 @@ TEST_F(WebIDBCursorImplTest, AdvancePrefetchTest) { |
std::vector<IndexedDBKey> keys; |
std::vector<IndexedDBKey> primary_keys(prefetch_count); |
std::vector<WebData> values(prefetch_count); |
+ std::vector<WebVector<WebBlobInfo> > blob_info; |
for (int i = 0; i < prefetch_count; ++i) { |
keys.push_back(IndexedDBKey(expected_key + i, WebIDBKeyTypeNumber)); |
+ blob_info.push_back( |
+ WebVector<WebBlobInfo>(static_cast<size_t>(expected_key + i))); |
} |
- cursor.SetPrefetchData(keys, primary_keys, values); |
+ cursor.SetPrefetchData(keys, primary_keys, values, blob_info); |
// Note that the real dispatcher would call cursor->CachedContinue() |
// immediately after cursor->SetPrefetchData() to service the request |
@@ -298,7 +315,8 @@ TEST_F(WebIDBCursorImplTest, PrefetchReset) { |
std::vector<IndexedDBKey> keys(prefetch_count); |
std::vector<IndexedDBKey> primary_keys(prefetch_count); |
std::vector<WebData> values(prefetch_count); |
- cursor.SetPrefetchData(keys, primary_keys, values); |
+ std::vector<WebVector<WebBlobInfo> > blob_info(prefetch_count); |
+ cursor.SetPrefetchData(keys, primary_keys, values, blob_info); |
// No reset should have been sent since prefetch data hasn't been used. |
EXPECT_EQ(0, dispatcher_->reset_calls()); |