| 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_dispatcher_host.h" | 5 #include "content/browser/indexed_db/indexed_db_dispatcher_host.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 497 message.type() == IndexedDBHostMsg_AckReceivedBlobs::ID) || | 497 message.type() == IndexedDBHostMsg_AckReceivedBlobs::ID) || |
| 498 parent_->context()->TaskRunner()->RunsTasksOnCurrentThread()); | 498 parent_->context()->TaskRunner()->RunsTasksOnCurrentThread()); |
| 499 | 499 |
| 500 bool handled = true; | 500 bool handled = true; |
| 501 IPC_BEGIN_MESSAGE_MAP( | 501 IPC_BEGIN_MESSAGE_MAP( |
| 502 IndexedDBDispatcherHost::DatabaseDispatcherHost, message) | 502 IndexedDBDispatcherHost::DatabaseDispatcherHost, message) |
| 503 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCreateObjectStore, | 503 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCreateObjectStore, |
| 504 OnCreateObjectStore) | 504 OnCreateObjectStore) |
| 505 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDeleteObjectStore, | 505 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDeleteObjectStore, |
| 506 OnDeleteObjectStore) | 506 OnDeleteObjectStore) |
| 507 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseRenameObjectStore, |
| 508 OnRenameObjectStore) |
| 507 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCreateTransaction, | 509 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCreateTransaction, |
| 508 OnCreateTransaction) | 510 OnCreateTransaction) |
| 509 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseClose, OnClose) | 511 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseClose, OnClose) |
| 510 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseVersionChangeIgnored, | 512 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseVersionChangeIgnored, |
| 511 OnVersionChangeIgnored) | 513 OnVersionChangeIgnored) |
| 512 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDestroyed, OnDestroyed) | 514 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDestroyed, OnDestroyed) |
| 513 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseObserve, OnObserve) | 515 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseObserve, OnObserve) |
| 514 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseUnobserve, OnUnobserve) | 516 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseUnobserve, OnUnobserve) |
| 515 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseGet, OnGet) | 517 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseGet, OnGet) |
| 516 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseGetAll, OnGetAll) | 518 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseGetAll, OnGetAll) |
| 517 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabasePut, OnPutWrapper) | 519 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabasePut, OnPutWrapper) |
| 518 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseSetIndexKeys, OnSetIndexKeys) | 520 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseSetIndexKeys, OnSetIndexKeys) |
| 519 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseSetIndexesReady, | 521 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseSetIndexesReady, |
| 520 OnSetIndexesReady) | 522 OnSetIndexesReady) |
| 521 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseOpenCursor, OnOpenCursor) | 523 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseOpenCursor, OnOpenCursor) |
| 522 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCount, OnCount) | 524 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCount, OnCount) |
| 523 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDeleteRange, OnDeleteRange) | 525 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDeleteRange, OnDeleteRange) |
| 524 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseClear, OnClear) | 526 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseClear, OnClear) |
| 525 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCreateIndex, OnCreateIndex) | 527 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCreateIndex, OnCreateIndex) |
| 526 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDeleteIndex, OnDeleteIndex) | 528 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDeleteIndex, OnDeleteIndex) |
| 529 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseRenameIndex, OnRenameIndex) |
| 527 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseAbort, OnAbort) | 530 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseAbort, OnAbort) |
| 528 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCommit, OnCommit) | 531 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCommit, OnCommit) |
| 529 IPC_MESSAGE_UNHANDLED(handled = false) | 532 IPC_MESSAGE_UNHANDLED(handled = false) |
| 530 IPC_END_MESSAGE_MAP() | 533 IPC_END_MESSAGE_MAP() |
| 531 | 534 |
| 532 return handled; | 535 return handled; |
| 533 } | 536 } |
| 534 | 537 |
| 535 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCreateObjectStore( | 538 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCreateObjectStore( |
| 536 const IndexedDBHostMsg_DatabaseCreateObjectStore_Params& params) { | 539 const IndexedDBHostMsg_DatabaseCreateObjectStore_Params& params) { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 556 DCHECK(parent_->context()->TaskRunner()->RunsTasksOnCurrentThread()); | 559 DCHECK(parent_->context()->TaskRunner()->RunsTasksOnCurrentThread()); |
| 557 IndexedDBConnection* connection = | 560 IndexedDBConnection* connection = |
| 558 parent_->GetOrTerminateProcess(&map_, ipc_database_id); | 561 parent_->GetOrTerminateProcess(&map_, ipc_database_id); |
| 559 if (!connection || !connection->IsConnected()) | 562 if (!connection || !connection->IsConnected()) |
| 560 return; | 563 return; |
| 561 | 564 |
| 562 connection->database()->DeleteObjectStore( | 565 connection->database()->DeleteObjectStore( |
| 563 parent_->HostTransactionId(transaction_id), object_store_id); | 566 parent_->HostTransactionId(transaction_id), object_store_id); |
| 564 } | 567 } |
| 565 | 568 |
| 569 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnRenameObjectStore( |
| 570 int32_t ipc_database_id, |
| 571 int64_t transaction_id, |
| 572 int64_t object_store_id, |
| 573 const base::string16& new_name) { |
| 574 DCHECK(parent_->context()->TaskRunner()->RunsTasksOnCurrentThread()); |
| 575 IndexedDBConnection* connection = |
| 576 parent_->GetOrTerminateProcess(&map_, ipc_database_id); |
| 577 if (!connection || !connection->IsConnected()) |
| 578 return; |
| 579 |
| 580 connection->database()->RenameObjectStore( |
| 581 parent_->HostTransactionId(transaction_id), object_store_id, new_name); |
| 582 } |
| 583 |
| 566 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCreateTransaction( | 584 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCreateTransaction( |
| 567 const IndexedDBHostMsg_DatabaseCreateTransaction_Params& params) { | 585 const IndexedDBHostMsg_DatabaseCreateTransaction_Params& params) { |
| 568 DCHECK(parent_->context()->TaskRunner()->RunsTasksOnCurrentThread()); | 586 DCHECK(parent_->context()->TaskRunner()->RunsTasksOnCurrentThread()); |
| 569 IndexedDBConnection* connection = | 587 IndexedDBConnection* connection = |
| 570 parent_->GetOrTerminateProcess(&map_, params.ipc_database_id); | 588 parent_->GetOrTerminateProcess(&map_, params.ipc_database_id); |
| 571 if (!connection || !connection->IsConnected()) | 589 if (!connection || !connection->IsConnected()) |
| 572 return; | 590 return; |
| 573 | 591 |
| 574 int64_t host_transaction_id = | 592 int64_t host_transaction_id = |
| 575 parent_->HostTransactionId(params.transaction_id); | 593 parent_->HostTransactionId(params.transaction_id); |
| (...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 947 DCHECK(parent_->context()->TaskRunner()->RunsTasksOnCurrentThread()); | 965 DCHECK(parent_->context()->TaskRunner()->RunsTasksOnCurrentThread()); |
| 948 IndexedDBConnection* connection = | 966 IndexedDBConnection* connection = |
| 949 parent_->GetOrTerminateProcess(&map_, ipc_database_id); | 967 parent_->GetOrTerminateProcess(&map_, ipc_database_id); |
| 950 if (!connection || !connection->IsConnected()) | 968 if (!connection || !connection->IsConnected()) |
| 951 return; | 969 return; |
| 952 | 970 |
| 953 connection->database()->DeleteIndex( | 971 connection->database()->DeleteIndex( |
| 954 parent_->HostTransactionId(transaction_id), object_store_id, index_id); | 972 parent_->HostTransactionId(transaction_id), object_store_id, index_id); |
| 955 } | 973 } |
| 956 | 974 |
| 975 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnRenameIndex( |
| 976 int32_t ipc_database_id, |
| 977 int64_t transaction_id, |
| 978 int64_t object_store_id, |
| 979 int64_t index_id, |
| 980 const base::string16& new_name) { |
| 981 DCHECK(parent_->context()->TaskRunner()->RunsTasksOnCurrentThread()); |
| 982 IndexedDBConnection* connection = |
| 983 parent_->GetOrTerminateProcess(&map_, ipc_database_id); |
| 984 if (!connection || !connection->IsConnected()) |
| 985 return; |
| 986 |
| 987 connection->database()->RenameIndex( |
| 988 parent_->HostTransactionId(transaction_id), object_store_id, index_id, |
| 989 new_name); |
| 990 } |
| 991 |
| 957 ////////////////////////////////////////////////////////////////////// | 992 ////////////////////////////////////////////////////////////////////// |
| 958 // IndexedDBDispatcherHost::CursorDispatcherHost | 993 // IndexedDBDispatcherHost::CursorDispatcherHost |
| 959 // | 994 // |
| 960 | 995 |
| 961 IndexedDBDispatcherHost::CursorDispatcherHost::CursorDispatcherHost( | 996 IndexedDBDispatcherHost::CursorDispatcherHost::CursorDispatcherHost( |
| 962 IndexedDBDispatcherHost* parent) | 997 IndexedDBDispatcherHost* parent) |
| 963 : parent_(parent) { | 998 : parent_(parent) { |
| 964 map_.set_check_on_null_data(true); | 999 map_.set_check_on_null_data(true); |
| 965 } | 1000 } |
| 966 | 1001 |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1057 DLOG(ERROR) << "Unable to reset prefetch"; | 1092 DLOG(ERROR) << "Unable to reset prefetch"; |
| 1058 } | 1093 } |
| 1059 | 1094 |
| 1060 void IndexedDBDispatcherHost::CursorDispatcherHost::OnDestroyed( | 1095 void IndexedDBDispatcherHost::CursorDispatcherHost::OnDestroyed( |
| 1061 int32_t ipc_object_id) { | 1096 int32_t ipc_object_id) { |
| 1062 DCHECK(parent_->context()->TaskRunner()->RunsTasksOnCurrentThread()); | 1097 DCHECK(parent_->context()->TaskRunner()->RunsTasksOnCurrentThread()); |
| 1063 parent_->DestroyObject(&map_, ipc_object_id); | 1098 parent_->DestroyObject(&map_, ipc_object_id); |
| 1064 } | 1099 } |
| 1065 | 1100 |
| 1066 } // namespace content | 1101 } // namespace content |
| OLD | NEW |