diff options
Diffstat (limited to 'content/browser/in_process_webkit/indexed_db_callbacks.cc')
-rw-r--r-- | content/browser/in_process_webkit/indexed_db_callbacks.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/content/browser/in_process_webkit/indexed_db_callbacks.cc b/content/browser/in_process_webkit/indexed_db_callbacks.cc index 70e79ef..969a430 100644 --- a/content/browser/in_process_webkit/indexed_db_callbacks.cc +++ b/content/browser/in_process_webkit/indexed_db_callbacks.cc @@ -59,6 +59,31 @@ void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccessWithContinuation() { content::SerializedScriptValue(idb_cursor->value()))); } +void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccessWithPrefetch( + const WebKit::WebVector<WebKit::WebIDBKey>& keys, + const WebKit::WebVector<WebKit::WebIDBKey>& primaryKeys, + const WebKit::WebVector<WebKit::WebSerializedScriptValue>& values) { + DCHECK(cursor_id_ != -1); + + std::vector<IndexedDBKey> msgKeys; + std::vector<IndexedDBKey> msgPrimaryKeys; + std::vector<content::SerializedScriptValue> msgValues; + + for (size_t i = 0; i < keys.size(); ++i) { + msgKeys.push_back(IndexedDBKey(keys[i])); + msgPrimaryKeys.push_back(IndexedDBKey(primaryKeys[i])); + msgValues.push_back(content::SerializedScriptValue(values[i])); + } + + dispatcher_host()->Send( + new IndexedDBMsg_CallbacksSuccessCursorPrefetch( + response_id(), + cursor_id_, + msgKeys, + msgPrimaryKeys, + msgValues)); +} + void IndexedDBCallbacks<WebKit::WebIDBKey>::onSuccess( const WebKit::WebIDBKey& value) { dispatcher_host()->Send( |