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

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

Issue 16337010: Remove IDBCursorBackendInterface::deleteFunction (part 2/3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 using WebKit::WebIDBDatabase; 42 using WebKit::WebIDBDatabase;
43 using WebKit::WebIDBDatabaseError; 43 using WebKit::WebIDBDatabaseError;
44 using WebKit::WebIDBKey; 44 using WebKit::WebIDBKey;
45 using WebKit::WebIDBMetadata; 45 using WebKit::WebIDBMetadata;
46 using WebKit::WebString; 46 using WebKit::WebString;
47 using WebKit::WebVector; 47 using WebKit::WebVector;
48 48
49 namespace content { 49 namespace content {
50 namespace { 50 namespace {
51 51
52 template <class T> void DeleteOnWebKitThread(T* obj) { 52 template <class T>
53 void DeleteOnWebKitThread(T* obj) {
53 if (!BrowserThread::DeleteSoon( 54 if (!BrowserThread::DeleteSoon(
54 BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, obj)) 55 BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, obj))
55 delete obj; 56 delete obj;
56 } 57 }
57 } 58 }
58 59
59 IndexedDBDispatcherHost::IndexedDBDispatcherHost( 60 IndexedDBDispatcherHost::IndexedDBDispatcherHost(
60 int ipc_process_id, 61 int ipc_process_id,
61 IndexedDBContextImpl* indexed_db_context) 62 IndexedDBContextImpl* indexed_db_context)
62 : indexed_db_context_(indexed_db_context), 63 : indexed_db_context_(indexed_db_context),
(...skipping 671 matching lines...) Expand 10 before | Expand all | Expand 10 after
734 bool IndexedDBDispatcherHost::CursorDispatcherHost::OnMessageReceived( 735 bool IndexedDBDispatcherHost::CursorDispatcherHost::OnMessageReceived(
735 const IPC::Message& message, 736 const IPC::Message& message,
736 bool* msg_is_ok) { 737 bool* msg_is_ok) {
737 bool handled = true; 738 bool handled = true;
738 IPC_BEGIN_MESSAGE_MAP_EX( 739 IPC_BEGIN_MESSAGE_MAP_EX(
739 IndexedDBDispatcherHost::CursorDispatcherHost, message, *msg_is_ok) 740 IndexedDBDispatcherHost::CursorDispatcherHost, message, *msg_is_ok)
740 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorAdvance, OnAdvance) 741 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorAdvance, OnAdvance)
741 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorContinue, OnContinue) 742 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorContinue, OnContinue)
742 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorPrefetch, OnPrefetch) 743 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorPrefetch, OnPrefetch)
743 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorPrefetchReset, OnPrefetchReset) 744 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorPrefetchReset, OnPrefetchReset)
744 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorDelete, OnDelete)
745 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorDestroyed, OnDestroyed) 745 IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorDestroyed, OnDestroyed)
746 IPC_MESSAGE_UNHANDLED(handled = false) 746 IPC_MESSAGE_UNHANDLED(handled = false)
747 IPC_END_MESSAGE_MAP() 747 IPC_END_MESSAGE_MAP()
748 return handled; 748 return handled;
749 } 749 }
750 750
751 void IndexedDBDispatcherHost::CursorDispatcherHost::Send( 751 void IndexedDBDispatcherHost::CursorDispatcherHost::Send(
752 IPC::Message* message) { 752 IPC::Message* message) {
753 parent_->Send(message); 753 parent_->Send(message);
754 } 754 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
810 int unused_prefetches) { 810 int unused_prefetches) {
811 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); 811 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
812 WebIDBCursor* idb_cursor = 812 WebIDBCursor* idb_cursor =
813 parent_->GetOrTerminateProcess(&map_, ipc_cursor_id); 813 parent_->GetOrTerminateProcess(&map_, ipc_cursor_id);
814 if (!idb_cursor) 814 if (!idb_cursor)
815 return; 815 return;
816 816
817 idb_cursor->prefetchReset(used_prefetches, unused_prefetches); 817 idb_cursor->prefetchReset(used_prefetches, unused_prefetches);
818 } 818 }
819 819
820 void IndexedDBDispatcherHost::CursorDispatcherHost::OnDelete(
821 int32 ipc_cursor_id,
822 int32 ipc_thread_id,
823 int32 ipc_callbacks_id) {
824 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
825 WebIDBCursor* idb_cursor =
826 parent_->GetOrTerminateProcess(&map_, ipc_cursor_id);
827 if (!idb_cursor)
828 return;
829
830 idb_cursor->deleteFunction(new IndexedDBCallbacks<WebData>(
831 parent_, ipc_thread_id, ipc_callbacks_id));
832 }
833
834 void IndexedDBDispatcherHost::CursorDispatcherHost::OnDestroyed( 820 void IndexedDBDispatcherHost::CursorDispatcherHost::OnDestroyed(
835 int32 ipc_object_id) { 821 int32 ipc_object_id) {
836 parent_->DestroyObject(&map_, ipc_object_id); 822 parent_->DestroyObject(&map_, ipc_object_id);
837 } 823 }
838 824
839 } // namespace content 825 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698