| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/indexed_db/indexed_db_callbacks.h" | 5 #include "content/browser/indexed_db/indexed_db_callbacks.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "content/browser/indexed_db/indexed_db_connection.h" | 9 #include "content/browser/indexed_db/indexed_db_connection.h" |
| 10 #include "content/browser/indexed_db/indexed_db_cursor.h" | 10 #include "content/browser/indexed_db/indexed_db_cursor.h" |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 const IndexedDBKey& key, | 270 const IndexedDBKey& key, |
| 271 const IndexedDBKeyPath& key_path) { | 271 const IndexedDBKeyPath& key_path) { |
| 272 DCHECK(dispatcher_host_.get()); | 272 DCHECK(dispatcher_host_.get()); |
| 273 | 273 |
| 274 DCHECK_EQ(kNoCursor, ipc_cursor_id_); | 274 DCHECK_EQ(kNoCursor, ipc_cursor_id_); |
| 275 DCHECK_EQ(kNoTransaction, host_transaction_id_); | 275 DCHECK_EQ(kNoTransaction, host_transaction_id_); |
| 276 DCHECK_EQ(kNoDatabase, ipc_database_id_); | 276 DCHECK_EQ(kNoDatabase, ipc_database_id_); |
| 277 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); | 277 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
| 278 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); | 278 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); |
| 279 | 279 |
| 280 std::string value_copy; | 280 IndexedDBMsg_CallbacksSuccessValueWithKey_Params params; |
| 281 params.ipc_thread_id = ipc_thread_id_; |
| 282 params.ipc_callbacks_id = ipc_callbacks_id_; |
| 283 params.primary_key = key; |
| 284 params.key_path = key_path; |
| 281 if (value && !value->empty()) | 285 if (value && !value->empty()) |
| 282 std::swap(value_copy, value->bits); | 286 std::swap(params.value, value->bits); |
| 283 | 287 |
| 284 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValueWithKey( | 288 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValueWithKey(params)); |
| 285 ipc_thread_id_, | |
| 286 ipc_callbacks_id_, | |
| 287 // TODO(alecflett): Avoid a copy here. | |
| 288 value_copy, | |
| 289 key, | |
| 290 key_path)); | |
| 291 dispatcher_host_ = NULL; | 289 dispatcher_host_ = NULL; |
| 292 } | 290 } |
| 293 | 291 |
| 294 void IndexedDBCallbacks::OnSuccess(IndexedDBValue* value) { | 292 void IndexedDBCallbacks::OnSuccess(IndexedDBValue* value) { |
| 295 DCHECK(dispatcher_host_.get()); | 293 DCHECK(dispatcher_host_.get()); |
| 296 | 294 |
| 297 DCHECK(kNoCursor == ipc_cursor_id_ || value == NULL); | 295 DCHECK(kNoCursor == ipc_cursor_id_ || value == NULL); |
| 298 DCHECK_EQ(kNoTransaction, host_transaction_id_); | 296 DCHECK_EQ(kNoTransaction, host_transaction_id_); |
| 299 DCHECK_EQ(kNoDatabase, ipc_database_id_); | 297 DCHECK_EQ(kNoDatabase, ipc_database_id_); |
| 300 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); | 298 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
| 301 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); | 299 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); |
| 302 | 300 |
| 303 std::string value_copy; | 301 IndexedDBMsg_CallbacksSuccessValue_Params params; |
| 302 params.ipc_thread_id = ipc_thread_id_; |
| 303 params.ipc_callbacks_id = ipc_callbacks_id_; |
| 304 if (value && !value->empty()) | 304 if (value && !value->empty()) |
| 305 std::swap(value_copy, value->bits); | 305 std::swap(params.value, value->bits); |
| 306 | 306 |
| 307 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValue( | 307 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValue(params)); |
| 308 ipc_thread_id_, | |
| 309 ipc_callbacks_id_, | |
| 310 // TODO(alecflett): avoid a copy here. | |
| 311 value_copy)); | |
| 312 dispatcher_host_ = NULL; | 308 dispatcher_host_ = NULL; |
| 313 } | 309 } |
| 314 | 310 |
| 315 void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& value) { | 311 void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& value) { |
| 316 DCHECK(dispatcher_host_.get()); | 312 DCHECK(dispatcher_host_.get()); |
| 317 | 313 |
| 318 DCHECK_EQ(kNoCursor, ipc_cursor_id_); | 314 DCHECK_EQ(kNoCursor, ipc_cursor_id_); |
| 319 DCHECK_EQ(kNoTransaction, host_transaction_id_); | 315 DCHECK_EQ(kNoTransaction, host_transaction_id_); |
| 320 DCHECK_EQ(kNoDatabase, ipc_database_id_); | 316 DCHECK_EQ(kNoDatabase, ipc_database_id_); |
| 321 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); | 317 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 348 DCHECK_EQ(kNoDatabase, ipc_database_id_); | 344 DCHECK_EQ(kNoDatabase, ipc_database_id_); |
| 349 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); | 345 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
| 350 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); | 346 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); |
| 351 | 347 |
| 352 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessUndefined( | 348 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessUndefined( |
| 353 ipc_thread_id_, ipc_callbacks_id_)); | 349 ipc_thread_id_, ipc_callbacks_id_)); |
| 354 dispatcher_host_ = NULL; | 350 dispatcher_host_ = NULL; |
| 355 } | 351 } |
| 356 | 352 |
| 357 } // namespace content | 353 } // namespace content |
| OLD | NEW |