| 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 6547fddb6898f3f81f1e8e075da5ef9c90b27a0b..f4c348765b3495e32af1580d0b84e330629131c8 100644
|
| --- a/content/browser/indexed_db/indexed_db_callbacks.cc
|
| +++ b/content/browser/indexed_db/indexed_db_callbacks.cc
|
| @@ -277,17 +277,15 @@ void IndexedDBCallbacks::OnSuccess(IndexedDBValue* value,
|
| DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
|
| DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
|
|
|
| - std::string value_copy;
|
| + IndexedDBMsg_CallbacksSuccessValueWithKey_Params params;
|
| + params.ipc_thread_id = ipc_thread_id_;
|
| + params.ipc_callbacks_id = ipc_callbacks_id_;
|
| + params.primary_key = key;
|
| + params.key_path = key_path;
|
| if (value && !value->empty())
|
| - std::swap(value_copy, value->bits);
|
| + std::swap(params.value, value->bits);
|
|
|
| - dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValueWithKey(
|
| - ipc_thread_id_,
|
| - ipc_callbacks_id_,
|
| - // TODO(alecflett): Avoid a copy here.
|
| - value_copy,
|
| - key,
|
| - key_path));
|
| + dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValueWithKey(params));
|
| dispatcher_host_ = NULL;
|
| }
|
|
|
| @@ -300,15 +298,13 @@ void IndexedDBCallbacks::OnSuccess(IndexedDBValue* value) {
|
| DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
|
| DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
|
|
|
| - std::string value_copy;
|
| + IndexedDBMsg_CallbacksSuccessValue_Params params;
|
| + params.ipc_thread_id = ipc_thread_id_;
|
| + params.ipc_callbacks_id = ipc_callbacks_id_;
|
| if (value && !value->empty())
|
| - std::swap(value_copy, value->bits);
|
| + std::swap(params.value, value->bits);
|
|
|
| - dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValue(
|
| - ipc_thread_id_,
|
| - ipc_callbacks_id_,
|
| - // TODO(alecflett): avoid a copy here.
|
| - value_copy));
|
| + dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValue(params));
|
| dispatcher_host_ = NULL;
|
| }
|
|
|
|
|