| Index: content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
|
| diff --git a/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc b/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
|
| index e4abb511610c1b7d11ceb143b09144dc576c387c..f52166702e9b84dea736622af55b3359d7184fcd 100644
|
| --- a/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
|
| +++ b/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
|
| @@ -886,6 +886,8 @@ bool IndexedDBDispatcherHost::CursorDispatcherHost::OnMessageReceived(
|
| IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorDirection, OnDirection)
|
| IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorUpdate, OnUpdate)
|
| IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorContinue, OnContinue)
|
| + IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorPrefetch, OnPrefetch)
|
| + IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorPrefetchReset, OnPrefetchReset)
|
| IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorDelete, OnDelete)
|
| IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorDestroyed, OnDestroyed)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| @@ -967,6 +969,32 @@ void IndexedDBDispatcherHost::CursorDispatcherHost::OnContinue(
|
| cursor_id), *ec);
|
| }
|
|
|
| +void IndexedDBDispatcherHost::CursorDispatcherHost::OnPrefetch(
|
| + int32 cursor_id,
|
| + int32 response_id,
|
| + int n,
|
| + WebKit::WebExceptionCode* ec) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT));
|
| + WebIDBCursor* idb_cursor = parent_->GetOrTerminateProcess(&map_, cursor_id);
|
| + if (!idb_cursor)
|
| + return;
|
| +
|
| + *ec = 0;
|
| + idb_cursor->prefetchContinue(
|
| + n, new IndexedDBCallbacks<WebIDBCursor>(parent_, response_id,
|
| + cursor_id), *ec);
|
| +}
|
| +
|
| +void IndexedDBDispatcherHost::CursorDispatcherHost::OnPrefetchReset(
|
| + int32 cursor_id, int used_prefetches, int unused_prefetches) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT));
|
| + WebIDBCursor* idb_cursor = parent_->GetOrTerminateProcess(&map_, cursor_id);
|
| + if (!idb_cursor)
|
| + return;
|
| +
|
| + idb_cursor->prefetchReset(used_prefetches, unused_prefetches);
|
| +}
|
| +
|
| void IndexedDBDispatcherHost::CursorDispatcherHost::OnDelete(
|
| int32 cursor_id,
|
| int32 response_id,
|
|
|