Index: content/browser/indexed_db/indexed_db_callbacks.cc |
diff --git a/content/browser/indexed_db/indexed_db_callbacks.cc b/content/browser/indexed_db/indexed_db_callbacks.cc |
index b02794171eb33551000af3629b74e1b2a0cfa1a1..6547fddb6898f3f81f1e8e075da5ef9c90b27a0b 100644 |
--- a/content/browser/indexed_db/indexed_db_callbacks.cc |
+++ b/content/browser/indexed_db/indexed_db_callbacks.cc |
@@ -11,6 +11,7 @@ |
#include "content/browser/indexed_db/indexed_db_database_callbacks.h" |
#include "content/browser/indexed_db/indexed_db_database_error.h" |
#include "content/browser/indexed_db/indexed_db_metadata.h" |
+#include "content/browser/indexed_db/indexed_db_value.h" |
#include "content/common/indexed_db/indexed_db_constants.h" |
#include "content/common/indexed_db/indexed_db_messages.h" |
#include "webkit/browser/quota/quota_manager.h" |
@@ -171,7 +172,7 @@ void IndexedDBCallbacks::OnSuccess(scoped_ptr<IndexedDBConnection> connection, |
void IndexedDBCallbacks::OnSuccess(scoped_refptr<IndexedDBCursor> cursor, |
const IndexedDBKey& key, |
const IndexedDBKey& primary_key, |
- std::string* value) { |
+ IndexedDBValue* value) { |
DCHECK(dispatcher_host_.get()); |
DCHECK_EQ(kNoCursor, ipc_cursor_id_); |
@@ -188,7 +189,7 @@ void IndexedDBCallbacks::OnSuccess(scoped_refptr<IndexedDBCursor> cursor, |
params.key = key; |
params.primary_key = primary_key; |
if (value && !value->empty()) |
- std::swap(params.value, *value); |
+ std::swap(params.value, value->bits); |
// TODO(alecflett): Avoid a copy here: the whole params object is |
// being copied into the message. |
dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessIDBCursor(params)); |
@@ -198,7 +199,7 @@ void IndexedDBCallbacks::OnSuccess(scoped_refptr<IndexedDBCursor> cursor, |
void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& key, |
const IndexedDBKey& primary_key, |
- std::string* value) { |
+ IndexedDBValue* value) { |
DCHECK(dispatcher_host_.get()); |
DCHECK_NE(kNoCursor, ipc_cursor_id_); |
@@ -220,7 +221,7 @@ void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& key, |
params.key = key; |
params.primary_key = primary_key; |
if (value && !value->empty()) |
- std::swap(params.value, *value); |
+ std::swap(params.value, value->bits); |
// TODO(alecflett): Avoid a copy here: the whole params object is |
// being copied into the message. |
dispatcher_host_->Send( |
@@ -231,7 +232,7 @@ void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& key, |
void IndexedDBCallbacks::OnSuccessWithPrefetch( |
const std::vector<IndexedDBKey>& keys, |
const std::vector<IndexedDBKey>& primary_keys, |
- const std::vector<std::string>& values) { |
+ const std::vector<IndexedDBValue>& values) { |
DCHECK_EQ(keys.size(), primary_keys.size()); |
DCHECK_EQ(keys.size(), values.size()); |
@@ -257,13 +258,15 @@ void IndexedDBCallbacks::OnSuccessWithPrefetch( |
params.ipc_cursor_id = ipc_cursor_id_; |
params.keys = msgKeys; |
params.primary_keys = msgPrimaryKeys; |
- params.values = values; |
+ std::vector<IndexedDBValue>::const_iterator iter; |
+ for (iter = values.begin(); iter != values.end(); ++iter) |
+ params.values.push_back(iter->bits); |
dispatcher_host_->Send( |
new IndexedDBMsg_CallbacksSuccessCursorPrefetch(params)); |
dispatcher_host_ = NULL; |
} |
-void IndexedDBCallbacks::OnSuccess(std::string* value, |
+void IndexedDBCallbacks::OnSuccess(IndexedDBValue* value, |
const IndexedDBKey& key, |
const IndexedDBKeyPath& key_path) { |
DCHECK(dispatcher_host_.get()); |
@@ -276,7 +279,7 @@ void IndexedDBCallbacks::OnSuccess(std::string* value, |
std::string value_copy; |
if (value && !value->empty()) |
- std::swap(value_copy, *value); |
+ std::swap(value_copy, value->bits); |
dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValueWithKey( |
ipc_thread_id_, |
@@ -288,7 +291,7 @@ void IndexedDBCallbacks::OnSuccess(std::string* value, |
dispatcher_host_ = NULL; |
} |
-void IndexedDBCallbacks::OnSuccess(std::string* value) { |
+void IndexedDBCallbacks::OnSuccess(IndexedDBValue* value) { |
DCHECK(dispatcher_host_.get()); |
DCHECK(kNoCursor == ipc_cursor_id_ || value == NULL); |
@@ -299,7 +302,7 @@ void IndexedDBCallbacks::OnSuccess(std::string* value) { |
std::string value_copy; |
if (value && !value->empty()) |
- std::swap(value_copy, *value); |
+ std::swap(value_copy, value->bits); |
dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValue( |
ipc_thread_id_, |