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 4f7fe94f38e506c3441c08c717342e8cfa9f0d1d..10950f2554a4e910403906ad6f29827eda3e1b1e 100644 |
--- a/content/browser/in_process_webkit/indexed_db_callbacks.cc |
+++ b/content/browser/in_process_webkit/indexed_db_callbacks.cc |
@@ -7,6 +7,7 @@ |
#include <vector> |
#include "content/common/indexed_db/indexed_db_messages.h" |
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebSerializedScriptValue.h" |
#include "webkit/quota/quota_manager.h" |
namespace content { |
@@ -93,13 +94,30 @@ void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( |
const WebKit::WebIDBKey& primaryKey, |
const WebKit::WebSerializedScriptValue& value) { |
int32 ipc_object_id = dispatcher_host()->Add(idb_cursor); |
- IndexedDBMsg_CallbacksSuccessIDBCursor_Params params; |
+ IndexedDBMsg_CallbacksSuccessIDBCursorOld_Params params; |
params.ipc_thread_id = ipc_thread_id(); |
params.ipc_response_id = ipc_response_id(); |
params.ipc_cursor_id = ipc_object_id; |
params.key = IndexedDBKey(key); |
params.primary_key = IndexedDBKey(primaryKey); |
params.serialized_value = SerializedScriptValue(value); |
+ dispatcher_host()->Send( |
+ new IndexedDBMsg_CallbacksSuccessIDBCursorOld(params)); |
+} |
+ |
+void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( |
+ WebKit::WebIDBCursor* idb_cursor, |
+ const WebKit::WebIDBKey& key, |
+ const WebKit::WebIDBKey& primaryKey, |
+ const WebKit::WebData& value) { |
+ int32 ipc_object_id = dispatcher_host()->Add(idb_cursor); |
+ IndexedDBMsg_CallbacksSuccessIDBCursor_Params params; |
+ params.ipc_thread_id = ipc_thread_id(); |
+ params.ipc_response_id = ipc_response_id(); |
+ params.ipc_cursor_id = ipc_object_id; |
+ params.key = IndexedDBKey(key); |
+ params.primary_key = IndexedDBKey(primaryKey); |
+ params.value.assign(value.data(), value.data() + value.size()); |
dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessIDBCursor(params)); |
} |
@@ -111,6 +129,14 @@ void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( |
} |
void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( |
+ const WebKit::WebData& webValue) { |
+ std::vector<char> value(webValue.data(), webValue.data() + webValue.size()); |
+ dispatcher_host()->Send( |
+ new IndexedDBMsg_CallbacksSuccessValue( |
+ ipc_thread_id(), ipc_response_id(), value)); |
+} |
+ |
+void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( |
const WebKit::WebIDBKey& key, |
const WebKit::WebIDBKey& primaryKey, |
const WebKit::WebSerializedScriptValue& value) { |
@@ -121,7 +147,7 @@ void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( |
DCHECK(idb_cursor); |
if (!idb_cursor) |
return; |
- IndexedDBMsg_CallbacksSuccessCursorContinue_Params params; |
+ IndexedDBMsg_CallbacksSuccessCursorContinueOld_Params params; |
params.ipc_thread_id = ipc_thread_id(); |
params.ipc_response_id = ipc_response_id(); |
params.ipc_cursor_id = ipc_cursor_id_; |
@@ -129,6 +155,28 @@ void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( |
params.primary_key = IndexedDBKey(primaryKey); |
params.serialized_value = SerializedScriptValue(value); |
dispatcher_host()->Send( |
+ new IndexedDBMsg_CallbacksSuccessCursorContinueOld(params)); |
+} |
+ |
+void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( |
+ const WebKit::WebIDBKey& key, |
+ const WebKit::WebIDBKey& primaryKey, |
+ const WebKit::WebData& value) { |
+ DCHECK_NE(ipc_cursor_id_, -1); |
+ WebKit::WebIDBCursor* idb_cursor = dispatcher_host()->GetCursorFromId( |
+ ipc_cursor_id_); |
+ |
+ DCHECK(idb_cursor); |
+ if (!idb_cursor) |
+ return; |
+ IndexedDBMsg_CallbacksSuccessCursorContinue_Params params; |
+ params.ipc_thread_id = ipc_thread_id(); |
+ params.ipc_response_id = ipc_response_id(); |
+ params.ipc_cursor_id = ipc_cursor_id_; |
+ params.key = IndexedDBKey(key); |
+ params.primary_key = IndexedDBKey(primaryKey); |
+ params.value.assign(value.data(), value.data() + value.size()); |
+ dispatcher_host()->Send( |
new IndexedDBMsg_CallbacksSuccessCursorContinue(params)); |
} |
@@ -148,6 +196,35 @@ void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccessWithPrefetch( |
msgValues.push_back(SerializedScriptValue(values[i])); |
} |
+ IndexedDBMsg_CallbacksSuccessCursorPrefetchOld_Params params; |
+ params.ipc_thread_id = ipc_thread_id(); |
+ params.ipc_response_id = ipc_response_id(); |
+ params.ipc_cursor_id = ipc_cursor_id_; |
+ params.keys = msgKeys; |
+ params.primary_keys = msgPrimaryKeys; |
+ params.values = msgValues; |
+ dispatcher_host()->Send( |
+ new IndexedDBMsg_CallbacksSuccessCursorPrefetchOld(params)); |
+} |
+ |
+void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccessWithPrefetch( |
+ const WebKit::WebVector<WebKit::WebIDBKey>& keys, |
+ const WebKit::WebVector<WebKit::WebIDBKey>& primaryKeys, |
+ const WebKit::WebVector<WebKit::WebData>& values) { |
+ DCHECK_NE(ipc_cursor_id_, -1); |
+ |
+ std::vector<IndexedDBKey> msgKeys; |
+ std::vector<IndexedDBKey> msgPrimaryKeys; |
+ std::vector<std::vector<char> > 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( |
+ std::vector<char>(values[i].data(), |
+ values[i].data() + values[i].size())); |
+ } |
+ |
IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params params; |
params.ipc_thread_id = ipc_thread_id(); |
params.ipc_response_id = ipc_response_id(); |
@@ -178,14 +255,22 @@ void IndexedDBCallbacks<WebKit::WebDOMStringList>::onSuccess( |
ipc_thread_id(), ipc_response_id(), list)); |
} |
-void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( |
+void IndexedDBCallbacks<WebKit::WebData>::onSuccess( |
const WebKit::WebSerializedScriptValue& value) { |
dispatcher_host()->Send( |
new IndexedDBMsg_CallbacksSuccessSerializedScriptValue( |
ipc_thread_id(), ipc_response_id(), SerializedScriptValue(value))); |
} |
-void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( |
+void IndexedDBCallbacks<WebKit::WebData>::onSuccess( |
+ const WebKit::WebData& value) { |
+ dispatcher_host()->Send( |
+ new IndexedDBMsg_CallbacksSuccessValue( |
+ ipc_thread_id(), ipc_response_id(), |
+ std::vector<char>(value.data(), value.data() + value.size()))); |
+} |
+ |
+void IndexedDBCallbacks<WebKit::WebData>::onSuccess( |
const WebKit::WebSerializedScriptValue& value, |
const WebKit::WebIDBKey& primaryKey, |
const WebKit::WebIDBKeyPath& keyPath) { |
@@ -195,7 +280,18 @@ void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( |
IndexedDBKey(primaryKey), IndexedDBKeyPath(keyPath))); |
} |
-void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( |
+void IndexedDBCallbacks<WebKit::WebData>::onSuccess( |
+ const WebKit::WebData& value, |
+ const WebKit::WebIDBKey& primaryKey, |
+ const WebKit::WebIDBKeyPath& keyPath) { |
+ dispatcher_host()->Send( |
+ new IndexedDBMsg_CallbacksSuccessValueWithKey( |
+ ipc_thread_id(), ipc_response_id(), |
+ std::vector<char>(value.data(), value.data() + value.size()), |
+ IndexedDBKey(primaryKey), IndexedDBKeyPath(keyPath))); |
+} |
+ |
+void IndexedDBCallbacks<WebKit::WebData>::onSuccess( |
long long value) { |
dispatcher_host()->Send( |
new IndexedDBMsg_CallbacksSuccessInteger(ipc_thread_id(), |
@@ -203,13 +299,13 @@ void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( |
value)); |
} |
-void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess() { |
+void IndexedDBCallbacks<WebKit::WebData>::onSuccess() { |
dispatcher_host()->Send( |
new IndexedDBMsg_CallbacksSuccessUndefined(ipc_thread_id(), |
ipc_response_id())); |
} |
-void IndexedDBCallbacks<WebKit::WebSerializedScriptValue>::onSuccess( |
+void IndexedDBCallbacks<WebKit::WebData>::onSuccess( |
const WebKit::WebIDBKey& value) { |
dispatcher_host()->Send( |
new IndexedDBMsg_CallbacksSuccessIndexedDBKey( |