Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(498)

Unified Diff: content/browser/in_process_webkit/indexed_db_callbacks.cc

Issue 10830028: IndexedDB: Send cursor data along with success messages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comment tweaks and rebase Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/in_process_webkit/indexed_db_callbacks.cc
diff --git a/content/browser/in_process_webkit/indexed_db_callbacks.cc b/content/browser/in_process_webkit/indexed_db_callbacks.cc
index 6105331c31c3675bf0e446f2990ef36a9b2bf850..58ac91dd70f32521470eda49d9ef1ee49a821223 100644
--- a/content/browser/in_process_webkit/indexed_db_callbacks.cc
+++ b/content/browser/in_process_webkit/indexed_db_callbacks.cc
@@ -53,6 +53,7 @@ void IndexedDBCallbacks<WebKit::WebIDBDatabase>::onUpgradeNeeded(
old_version));
}
+// TODO(jsbell): Remove this after WK92278 rolls.
void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess(
WebKit::WebIDBCursor* idb_object) {
int32 object_id = dispatcher_host()->Add(idb_object);
@@ -67,12 +68,29 @@ void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess(
}
void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess(
+ WebKit::WebIDBCursor* idb_object,
+ const WebKit::WebIDBKey& key,
+ const WebKit::WebIDBKey& primaryKey,
+ const WebKit::WebSerializedScriptValue& value) {
+ int32 object_id = dispatcher_host()->Add(idb_object);
+ IndexedDBMsg_CallbacksSuccessIDBCursor_Params params;
+ params.thread_id = thread_id();
+ params.response_id = response_id();
+ params.cursor_id = object_id;
+ params.key = IndexedDBKey(key);
+ params.primary_key = IndexedDBKey(primaryKey);
+ params.serialized_value = SerializedScriptValue(value);
+ dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessIDBCursor(params));
+}
+
+void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess(
const WebKit::WebSerializedScriptValue& value) {
dispatcher_host()->Send(
new IndexedDBMsg_CallbacksSuccessSerializedScriptValue(
thread_id(), response_id(), SerializedScriptValue(value)));
}
+// TODO(jsbell): Remove this after WK92278 rolls.
void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccessWithContinuation() {
DCHECK(cursor_id_ != -1);
WebKit::WebIDBCursor* idb_cursor = dispatcher_host()->GetCursorFromId(
@@ -88,7 +106,28 @@ void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccessWithContinuation() {
params.key = IndexedDBKey(idb_cursor->key());
params.primary_key = IndexedDBKey(idb_cursor->primaryKey());
params.serialized_value = SerializedScriptValue(idb_cursor->value());
+ dispatcher_host()->Send(
+ new IndexedDBMsg_CallbacksSuccessCursorContinue(params));
+}
+void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess(
+ const WebKit::WebIDBKey& key,
+ const WebKit::WebIDBKey& primaryKey,
+ const WebKit::WebSerializedScriptValue& value) {
+ DCHECK(cursor_id_ != -1);
+ WebKit::WebIDBCursor* idb_cursor = dispatcher_host()->GetCursorFromId(
+ cursor_id_);
+
+ DCHECK(idb_cursor);
+ if (!idb_cursor)
+ return;
+ IndexedDBMsg_CallbacksSuccessCursorContinue_Params params;
+ params.thread_id = thread_id();
+ params.response_id = response_id();
+ params.cursor_id = cursor_id_;
+ params.key = IndexedDBKey(key);
+ params.primary_key = IndexedDBKey(primaryKey);
+ params.serialized_value = SerializedScriptValue(value);
dispatcher_host()->Send(
new IndexedDBMsg_CallbacksSuccessCursorContinue(params));
}

Powered by Google App Engine
This is Rietveld 408576698