Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(638)

Side by Side Diff: content/browser/in_process_webkit/indexed_db_dispatcher_host.cc

Issue 12326023: Proxy new WebData-based onSuccess() calls. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/in_process_webkit/indexed_db_dispatcher_host.h" 5 #include "content/browser/in_process_webkit/indexed_db_dispatcher_host.h"
6 6
7 #include <vector> 7 #include <vector>
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 30 matching lines...) Expand all
41 using WebKit::WebExceptionCode; 41 using WebKit::WebExceptionCode;
42 using WebKit::WebIDBCallbacks; 42 using WebKit::WebIDBCallbacks;
43 using WebKit::WebIDBCursor; 43 using WebKit::WebIDBCursor;
44 using WebKit::WebIDBDatabase; 44 using WebKit::WebIDBDatabase;
45 using WebKit::WebIDBDatabaseError; 45 using WebKit::WebIDBDatabaseError;
46 using WebKit::WebIDBIndex; 46 using WebKit::WebIDBIndex;
47 using WebKit::WebIDBKey; 47 using WebKit::WebIDBKey;
48 using WebKit::WebIDBMetadata; 48 using WebKit::WebIDBMetadata;
49 using WebKit::WebIDBObjectStore; 49 using WebKit::WebIDBObjectStore;
50 using WebKit::WebSecurityOrigin; 50 using WebKit::WebSecurityOrigin;
51 using WebKit::WebSerializedScriptValue; 51 using WebKit::WebSerializedScriptValue;
jsbell 2013/02/20 23:52:08 This can be removed now, right?
52 using WebKit::WebVector; 52 using WebKit::WebVector;
53 53
54 namespace content { 54 namespace content {
55 namespace { 55 namespace {
56 56
57 template <class T> 57 template <class T>
58 void DeleteOnWebKitThread(T* obj) { 58 void DeleteOnWebKitThread(T* obj) {
59 if (!BrowserThread::DeleteSoon(BrowserThread::WEBKIT_DEPRECATED, 59 if (!BrowserThread::DeleteSoon(BrowserThread::WEBKIT_DEPRECATED,
60 FROM_HERE, obj)) 60 FROM_HERE, obj))
61 delete obj; 61 delete obj;
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 origin, NULL, webkit_base::FilePathToWebString(indexed_db_path)); 268 origin, NULL, webkit_base::FilePathToWebString(indexed_db_path));
269 } 269 }
270 270
271 void IndexedDBDispatcherHost::OnIDBFactoryDeleteDatabase( 271 void IndexedDBDispatcherHost::OnIDBFactoryDeleteDatabase(
272 const IndexedDBHostMsg_FactoryDeleteDatabase_Params& params) { 272 const IndexedDBHostMsg_FactoryDeleteDatabase_Params& params) {
273 base::FilePath indexed_db_path = indexed_db_context_->data_path(); 273 base::FilePath indexed_db_path = indexed_db_context_->data_path();
274 274
275 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); 275 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
276 Context()->GetIDBFactory()->deleteDatabase( 276 Context()->GetIDBFactory()->deleteDatabase(
277 params.name, 277 params.name,
278 new IndexedDBCallbacks<WebSerializedScriptValue>(this, 278 new IndexedDBCallbacks<WebData>(this,
279 params.ipc_thread_id, 279 params.ipc_thread_id,
280 params.ipc_response_id), 280 params.ipc_response_id),
281 WebSecurityOrigin::createFromDatabaseIdentifier(params.origin), NULL, 281 WebSecurityOrigin::createFromDatabaseIdentifier(params.origin), NULL,
282 webkit_base::FilePathToWebString(indexed_db_path)); 282 webkit_base::FilePathToWebString(indexed_db_path));
283 } 283 }
284 284
285 void IndexedDBDispatcherHost::FinishTransaction( 285 void IndexedDBDispatcherHost::FinishTransaction(
286 int64 host_transaction_id, bool committed) { 286 int64 host_transaction_id, bool committed) {
287 if (committed) 287 if (committed)
288 Context()->TransactionComplete( 288 Context()->TransactionComplete(
289 database_dispatcher_host_->transaction_url_map_[host_transaction_id]); 289 database_dispatcher_host_->transaction_url_map_[host_transaction_id]);
290 database_dispatcher_host_->transaction_url_map_.erase(host_transaction_id); 290 database_dispatcher_host_->transaction_url_map_.erase(host_transaction_id);
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 460
461 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnGet( 461 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnGet(
462 const IndexedDBHostMsg_DatabaseGet_Params& params) { 462 const IndexedDBHostMsg_DatabaseGet_Params& params) {
463 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); 463 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
464 WebIDBDatabase* database = parent_->GetOrTerminateProcess( 464 WebIDBDatabase* database = parent_->GetOrTerminateProcess(
465 &map_, params.ipc_database_id); 465 &map_, params.ipc_database_id);
466 if (!database) 466 if (!database)
467 return; 467 return;
468 468
469 scoped_ptr<WebIDBCallbacks> callbacks( 469 scoped_ptr<WebIDBCallbacks> callbacks(
470 new IndexedDBCallbacks<WebSerializedScriptValue>( 470 new IndexedDBCallbacks<WebData>(
471 parent_, params.ipc_thread_id, 471 parent_, params.ipc_thread_id,
472 params.ipc_response_id)); 472 params.ipc_response_id));
473 database->get(parent_->HostTransactionId(params.transaction_id), 473 database->get(parent_->HostTransactionId(params.transaction_id),
474 params.object_store_id, 474 params.object_store_id,
475 params.index_id, 475 params.index_id,
476 params.key_range, params.key_only, callbacks.release()); 476 params.key_range, params.key_only, callbacks.release());
477 } 477 }
478 478
479 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnPut( 479 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnPut(
480 const IndexedDBHostMsg_DatabasePut_Params& params) { 480 const IndexedDBHostMsg_DatabasePut_Params& params) {
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 563
564 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCount( 564 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCount(
565 const IndexedDBHostMsg_DatabaseCount_Params& params) { 565 const IndexedDBHostMsg_DatabaseCount_Params& params) {
566 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); 566 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
567 WebIDBDatabase* database = parent_->GetOrTerminateProcess( 567 WebIDBDatabase* database = parent_->GetOrTerminateProcess(
568 &map_, params.ipc_database_id); 568 &map_, params.ipc_database_id);
569 if (!database) 569 if (!database)
570 return; 570 return;
571 571
572 scoped_ptr<WebIDBCallbacks> callbacks( 572 scoped_ptr<WebIDBCallbacks> callbacks(
573 new IndexedDBCallbacks<WebSerializedScriptValue>( 573 new IndexedDBCallbacks<WebData>(
574 parent_, params.ipc_thread_id, 574 parent_, params.ipc_thread_id,
575 params.ipc_response_id)); 575 params.ipc_response_id));
576 database->count( 576 database->count(
577 parent_->HostTransactionId(params.transaction_id), 577 parent_->HostTransactionId(params.transaction_id),
578 params.object_store_id, params.index_id, 578 params.object_store_id, params.index_id,
579 params.key_range, callbacks.release()); 579 params.key_range, callbacks.release());
580 } 580 }
581 581
582 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnDeleteRange( 582 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnDeleteRange(
583 const IndexedDBHostMsg_DatabaseDeleteRange_Params& params) { 583 const IndexedDBHostMsg_DatabaseDeleteRange_Params& params) {
584 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); 584 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
585 WebIDBDatabase* database = parent_->GetOrTerminateProcess( 585 WebIDBDatabase* database = parent_->GetOrTerminateProcess(
586 &map_, params.ipc_database_id); 586 &map_, params.ipc_database_id);
587 if (!database) 587 if (!database)
588 return; 588 return;
589 589
590 scoped_ptr<WebIDBCallbacks> callbacks( 590 scoped_ptr<WebIDBCallbacks> callbacks(
591 new IndexedDBCallbacks<WebSerializedScriptValue>( 591 new IndexedDBCallbacks<WebData>(
592 parent_, params.ipc_thread_id, 592 parent_, params.ipc_thread_id,
593 params.ipc_response_id)); 593 params.ipc_response_id));
594 database->deleteRange(parent_->HostTransactionId(params.transaction_id), 594 database->deleteRange(parent_->HostTransactionId(params.transaction_id),
595 params.object_store_id, 595 params.object_store_id,
596 params.key_range, callbacks.release()); 596 params.key_range, callbacks.release());
597 } 597 }
598 598
599 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnClear( 599 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnClear(
600 int32 ipc_thread_id, 600 int32 ipc_thread_id,
601 int32 ipc_response_id, 601 int32 ipc_response_id,
602 int32 ipc_database_id, 602 int32 ipc_database_id,
603 int64 transaction_id, 603 int64 transaction_id,
604 int64 object_store_id) { 604 int64 object_store_id) {
605 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); 605 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
606 WebIDBDatabase* database = parent_->GetOrTerminateProcess( 606 WebIDBDatabase* database = parent_->GetOrTerminateProcess(
607 &map_, ipc_database_id); 607 &map_, ipc_database_id);
608 if (!database) 608 if (!database)
609 return; 609 return;
610 610
611 scoped_ptr<WebIDBCallbacks> callbacks( 611 scoped_ptr<WebIDBCallbacks> callbacks(
612 new IndexedDBCallbacks<WebSerializedScriptValue>( 612 new IndexedDBCallbacks<WebData>(
613 parent_, ipc_thread_id, 613 parent_, ipc_thread_id,
614 ipc_response_id)); 614 ipc_response_id));
615 615
616 database->clear(parent_->HostTransactionId(transaction_id), 616 database->clear(parent_->HostTransactionId(transaction_id),
617 object_store_id, callbacks.release()); 617 object_store_id, callbacks.release());
618 } 618 }
619 619
620 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnAbort( 620 void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnAbort(
621 int32 ipc_database_id, 621 int32 ipc_database_id,
622 int64 transaction_id) { 622 int64 transaction_id) {
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
799 int32 ipc_thread_id, 799 int32 ipc_thread_id,
800 int32 ipc_response_id) { 800 int32 ipc_response_id) {
801 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); 801 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
802 WebIDBCursor* idb_cursor = parent_->GetOrTerminateProcess(&map_, 802 WebIDBCursor* idb_cursor = parent_->GetOrTerminateProcess(&map_,
803 ipc_cursor_id); 803 ipc_cursor_id);
804 if (!idb_cursor) 804 if (!idb_cursor)
805 return; 805 return;
806 806
807 WebKit::WebExceptionCode ec = 0; 807 WebKit::WebExceptionCode ec = 0;
808 idb_cursor->deleteFunction( 808 idb_cursor->deleteFunction(
809 new IndexedDBCallbacks<WebSerializedScriptValue>(parent_, ipc_thread_id, 809 new IndexedDBCallbacks<WebData>(parent_, ipc_thread_id,
810 ipc_response_id), ec); 810 ipc_response_id), ec);
811 DCHECK(!ec); 811 DCHECK(!ec);
812 } 812 }
813 813
814 void IndexedDBDispatcherHost::CursorDispatcherHost::OnDestroyed( 814 void IndexedDBDispatcherHost::CursorDispatcherHost::OnDestroyed(
815 int32 ipc_object_id) { 815 int32 ipc_object_id) {
816 parent_->DestroyObject(&map_, ipc_object_id); 816 parent_->DestroyObject(&map_, ipc_object_id);
817 } 817 }
818 818
819 } // namespace content 819 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698