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 953445ce1b4d2f568635488914cca604fe53c41c..ca56dbdc9c742d1a279054dfb59b962678836358 100644 |
--- a/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc |
+++ b/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc |
@@ -882,6 +882,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) |
@@ -963,6 +965,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, |