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

Side by Side Diff: chrome/renderer/indexed_db_dispatcher.cc

Issue 5680007: Make IndexedDBDispatcherHost be a message filter and move its messages into a... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years 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
« no previous file with comments | « chrome/common/render_messages_params.cc ('k') | chrome/renderer/renderer_webidbcursor_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "chrome/renderer/indexed_db_dispatcher.h" 5 #include "chrome/renderer/indexed_db_dispatcher.h"
6 6
7 #include "chrome/common/indexed_db_key.h" 7 #include "chrome/common/indexed_db_messages.h"
8 #include "chrome/common/render_messages.h"
9 #include "chrome/common/render_messages_params.h"
10 #include "chrome/common/serialized_script_value.h"
11 #include "chrome/renderer/render_thread.h" 8 #include "chrome/renderer/render_thread.h"
12 #include "chrome/renderer/render_view.h" 9 #include "chrome/renderer/render_view.h"
13 #include "chrome/renderer/renderer_webidbcursor_impl.h" 10 #include "chrome/renderer/renderer_webidbcursor_impl.h"
14 #include "chrome/renderer/renderer_webidbdatabase_impl.h" 11 #include "chrome/renderer/renderer_webidbdatabase_impl.h"
15 #include "chrome/renderer/renderer_webidbindex_impl.h" 12 #include "chrome/renderer/renderer_webidbindex_impl.h"
16 #include "chrome/renderer/renderer_webidbobjectstore_impl.h" 13 #include "chrome/renderer/renderer_webidbobjectstore_impl.h"
17 #include "chrome/renderer/renderer_webidbtransaction_impl.h" 14 #include "chrome/renderer/renderer_webidbtransaction_impl.h"
18 #include "third_party/WebKit/WebKit/chromium/public/WebFrame.h" 15 #include "third_party/WebKit/WebKit/chromium/public/WebFrame.h"
19 #include "third_party/WebKit/WebKit/chromium/public/WebIDBDatabaseError.h" 16 #include "third_party/WebKit/WebKit/chromium/public/WebIDBDatabaseError.h"
20 #include "third_party/WebKit/WebKit/chromium/public/WebIDBKeyRange.h" 17 #include "third_party/WebKit/WebKit/chromium/public/WebIDBKeyRange.h"
(...skipping 12 matching lines...) Expand all
33 30
34 IndexedDBDispatcher::IndexedDBDispatcher() { 31 IndexedDBDispatcher::IndexedDBDispatcher() {
35 } 32 }
36 33
37 IndexedDBDispatcher::~IndexedDBDispatcher() { 34 IndexedDBDispatcher::~IndexedDBDispatcher() {
38 } 35 }
39 36
40 bool IndexedDBDispatcher::OnMessageReceived(const IPC::Message& msg) { 37 bool IndexedDBDispatcher::OnMessageReceived(const IPC::Message& msg) {
41 bool handled = true; 38 bool handled = true;
42 IPC_BEGIN_MESSAGE_MAP(IndexedDBDispatcher, msg) 39 IPC_BEGIN_MESSAGE_MAP(IndexedDBDispatcher, msg)
43 IPC_MESSAGE_HANDLER(ViewMsg_IDBCallbacksSuccessNull, 40 IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessNull, OnSuccessNull)
44 OnSuccessNull) 41 IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIDBCursor,
45 IPC_MESSAGE_HANDLER(ViewMsg_IDBCallbacksSuccessIDBCursor,
46 OnSuccessOpenCursor) 42 OnSuccessOpenCursor)
47 IPC_MESSAGE_HANDLER(ViewMsg_IDBCallbacksSuccessIDBDatabase, 43 IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIDBDatabase,
48 OnSuccessIDBDatabase) 44 OnSuccessIDBDatabase)
49 IPC_MESSAGE_HANDLER(ViewMsg_IDBCallbacksSuccessIDBIndex, 45 IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIDBIndex,
50 OnSuccessIDBIndex) 46 OnSuccessIDBIndex)
51 IPC_MESSAGE_HANDLER(ViewMsg_IDBCallbacksSuccessIndexedDBKey, 47 IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIndexedDBKey,
52 OnSuccessIndexedDBKey) 48 OnSuccessIndexedDBKey)
53 IPC_MESSAGE_HANDLER(ViewMsg_IDBCallbacksSuccessIDBObjectStore, 49 IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIDBObjectStore,
54 OnSuccessIDBObjectStore) 50 OnSuccessIDBObjectStore)
55 IPC_MESSAGE_HANDLER(ViewMsg_IDBCallbacksSuccessIDBTransaction, 51 IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessIDBTransaction,
56 OnSuccessIDBTransaction) 52 OnSuccessIDBTransaction)
57 IPC_MESSAGE_HANDLER(ViewMsg_IDBCallbacksSuccessSerializedScriptValue, 53 IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksSuccessSerializedScriptValue,
58 OnSuccessSerializedScriptValue) 54 OnSuccessSerializedScriptValue)
59 IPC_MESSAGE_HANDLER(ViewMsg_IDBCallbacksError, 55 IPC_MESSAGE_HANDLER(IndexedDBMsg_CallbacksError, OnError)
60 OnError) 56 IPC_MESSAGE_HANDLER(IndexedDBMsg_TransactionCallbacksAbort, OnAbort)
61 IPC_MESSAGE_HANDLER(ViewMsg_IDBTransactionCallbacksAbort, 57 IPC_MESSAGE_HANDLER(IndexedDBMsg_TransactionCallbacksComplete, OnComplete)
62 OnAbort) 58 IPC_MESSAGE_HANDLER(IndexedDBMsg_TransactionCallbacksTimeout, OnTimeout)
63 IPC_MESSAGE_HANDLER(ViewMsg_IDBTransactionCallbacksComplete,
64 OnComplete)
65 IPC_MESSAGE_HANDLER(ViewMsg_IDBTransactionCallbacksTimeout,
66 OnTimeout)
67 IPC_MESSAGE_UNHANDLED(handled = false) 59 IPC_MESSAGE_UNHANDLED(handled = false)
68 IPC_END_MESSAGE_MAP() 60 IPC_END_MESSAGE_MAP()
69 return handled; 61 return handled;
70 } 62 }
71 63
72 void IndexedDBDispatcher::RequestIDBCursorUpdate( 64 void IndexedDBDispatcher::RequestIDBCursorUpdate(
73 const SerializedScriptValue& value, 65 const SerializedScriptValue& value,
74 WebIDBCallbacks* callbacks_ptr, 66 WebIDBCallbacks* callbacks_ptr,
75 int32 idb_cursor_id, 67 int32 idb_cursor_id,
76 WebExceptionCode* ec) { 68 WebExceptionCode* ec) {
77 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 69 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
78 70
79 int32 response_id = pending_callbacks_.Add(callbacks.release()); 71 int32 response_id = pending_callbacks_.Add(callbacks.release());
80 RenderThread::current()->Send( 72 RenderThread::current()->Send(
81 new ViewHostMsg_IDBCursorUpdate(idb_cursor_id, response_id, value, ec)); 73 new IndexedDBHostMsg_CursorUpdate(idb_cursor_id, response_id, value, ec));
82 if (*ec) 74 if (*ec)
83 pending_callbacks_.Remove(response_id); 75 pending_callbacks_.Remove(response_id);
84 } 76 }
85 77
86 void IndexedDBDispatcher::RequestIDBCursorContinue( 78 void IndexedDBDispatcher::RequestIDBCursorContinue(
87 const IndexedDBKey& key, 79 const IndexedDBKey& key,
88 WebIDBCallbacks* callbacks_ptr, 80 WebIDBCallbacks* callbacks_ptr,
89 int32 idb_cursor_id, 81 int32 idb_cursor_id,
90 WebExceptionCode* ec) { 82 WebExceptionCode* ec) {
91 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 83 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
92 84
93 int32 response_id = pending_callbacks_.Add(callbacks.release()); 85 int32 response_id = pending_callbacks_.Add(callbacks.release());
94 RenderThread::current()->Send( 86 RenderThread::current()->Send(
95 new ViewHostMsg_IDBCursorContinue(idb_cursor_id, response_id, key, ec)); 87 new IndexedDBHostMsg_CursorContinue(idb_cursor_id, response_id, key, ec));
96 if (*ec) 88 if (*ec)
97 pending_callbacks_.Remove(response_id); 89 pending_callbacks_.Remove(response_id);
98 } 90 }
99 91
100 void IndexedDBDispatcher::RequestIDBCursorDelete( 92 void IndexedDBDispatcher::RequestIDBCursorDelete(
101 WebIDBCallbacks* callbacks_ptr, 93 WebIDBCallbacks* callbacks_ptr,
102 int32 idb_cursor_id, 94 int32 idb_cursor_id,
103 WebExceptionCode* ec) { 95 WebExceptionCode* ec) {
104 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 96 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
105 97
106 int32 response_id = pending_callbacks_.Add(callbacks.release()); 98 int32 response_id = pending_callbacks_.Add(callbacks.release());
107 RenderThread::current()->Send( 99 RenderThread::current()->Send(
108 new ViewHostMsg_IDBCursorDelete(idb_cursor_id, response_id, ec)); 100 new IndexedDBHostMsg_CursorDelete(idb_cursor_id, response_id, ec));
109 if (*ec) 101 if (*ec)
110 pending_callbacks_.Remove(response_id); 102 pending_callbacks_.Remove(response_id);
111 } 103 }
112 104
113 void IndexedDBDispatcher::RequestIDBFactoryOpen( 105 void IndexedDBDispatcher::RequestIDBFactoryOpen(
114 const string16& name, 106 const string16& name,
115 WebIDBCallbacks* callbacks_ptr, 107 WebIDBCallbacks* callbacks_ptr,
116 const string16& origin, 108 const string16& origin,
117 WebFrame* web_frame, 109 WebFrame* web_frame,
118 uint64 maximum_size) { 110 uint64 maximum_size) {
119 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 111 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
120 112
121 if (!web_frame) 113 if (!web_frame)
122 return; // We must be shutting down. 114 return; // We must be shutting down.
123 RenderView* render_view = RenderView::FromWebView(web_frame->view()); 115 RenderView* render_view = RenderView::FromWebView(web_frame->view());
124 if (!render_view) 116 if (!render_view)
125 return; // We must be shutting down. 117 return; // We must be shutting down.
126 118
127 ViewHostMsg_IDBFactoryOpen_Params params; 119 IndexedDBHostMsg_FactoryOpen_Params params;
128 params.routing_id_ = render_view->routing_id(); 120 params.routing_id = render_view->routing_id();
129 params.response_id_ = pending_callbacks_.Add(callbacks.release()); 121 params.response_id = pending_callbacks_.Add(callbacks.release());
130 params.origin_ = origin; 122 params.origin = origin;
131 params.name_ = name; 123 params.name = name;
132 params.maximum_size_ = maximum_size; 124 params.maximum_size = maximum_size;
133 RenderThread::current()->Send(new ViewHostMsg_IDBFactoryOpen(params)); 125 RenderThread::current()->Send(new IndexedDBHostMsg_FactoryOpen(params));
134 } 126 }
135 127
136 void IndexedDBDispatcher::RequestIDBDatabaseSetVersion( 128 void IndexedDBDispatcher::RequestIDBDatabaseSetVersion(
137 const string16& version, 129 const string16& version,
138 WebIDBCallbacks* callbacks_ptr, 130 WebIDBCallbacks* callbacks_ptr,
139 int32 idb_database_id, 131 int32 idb_database_id,
140 WebExceptionCode* ec) { 132 WebExceptionCode* ec) {
141 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 133 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
142 134
143 int32 response_id = pending_callbacks_.Add(callbacks.release()); 135 int32 response_id = pending_callbacks_.Add(callbacks.release());
144 RenderThread::current()->Send( 136 RenderThread::current()->Send(
145 new ViewHostMsg_IDBDatabaseSetVersion(idb_database_id, response_id, 137 new IndexedDBHostMsg_DatabaseSetVersion(idb_database_id, response_id,
146 version, ec)); 138 version, ec));
147 if (*ec) 139 if (*ec)
148 pending_callbacks_.Remove(response_id); 140 pending_callbacks_.Remove(response_id);
149 } 141 }
150 142
151 void IndexedDBDispatcher::RequestIDBIndexOpenObjectCursor( 143 void IndexedDBDispatcher::RequestIDBIndexOpenObjectCursor(
152 const WebIDBKeyRange& idb_key_range, 144 const WebIDBKeyRange& idb_key_range,
153 unsigned short direction, 145 unsigned short direction,
154 WebIDBCallbacks* callbacks_ptr, 146 WebIDBCallbacks* callbacks_ptr,
155 int32 idb_index_id, 147 int32 idb_index_id,
156 const WebIDBTransaction& transaction, 148 const WebIDBTransaction& transaction,
157 WebExceptionCode* ec) { 149 WebExceptionCode* ec) {
158 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 150 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
159 ViewHostMsg_IDBIndexOpenCursor_Params params; 151 IndexedDBHostMsg_IndexOpenCursor_Params params;
160 params.response_id_ = pending_callbacks_.Add(callbacks.release()); 152 params.response_id = pending_callbacks_.Add(callbacks.release());
161 params.lower_key_.Set(idb_key_range.lower()); 153 params.lower_key.Set(idb_key_range.lower());
162 params.upper_key_.Set(idb_key_range.upper()); 154 params.upper_key.Set(idb_key_range.upper());
163 params.lower_open_ = idb_key_range.lowerOpen(); 155 params.lower_open = idb_key_range.lowerOpen();
164 params.upper_open_ = idb_key_range.upperOpen(); 156 params.upper_open = idb_key_range.upperOpen();
165 params.direction_ = direction; 157 params.direction = direction;
166 params.idb_index_id_ = idb_index_id; 158 params.idb_index_id = idb_index_id;
167 params.transaction_id_ = TransactionId(transaction); 159 params.transaction_id = TransactionId(transaction);
168 RenderThread::current()->Send( 160 RenderThread::current()->Send(
169 new ViewHostMsg_IDBIndexOpenObjectCursor(params, ec)); 161 new IndexedDBHostMsg_IndexOpenObjectCursor(params, ec));
170 if (*ec) 162 if (*ec)
171 pending_callbacks_.Remove(params.response_id_); 163 pending_callbacks_.Remove(params.response_id);
172 } 164 }
173 165
174 void IndexedDBDispatcher::RequestIDBIndexOpenKeyCursor( 166 void IndexedDBDispatcher::RequestIDBIndexOpenKeyCursor(
175 const WebIDBKeyRange& idb_key_range, 167 const WebIDBKeyRange& idb_key_range,
176 unsigned short direction, 168 unsigned short direction,
177 WebIDBCallbacks* callbacks_ptr, 169 WebIDBCallbacks* callbacks_ptr,
178 int32 idb_index_id, 170 int32 idb_index_id,
179 const WebIDBTransaction& transaction, 171 const WebIDBTransaction& transaction,
180 WebExceptionCode* ec) { 172 WebExceptionCode* ec) {
181 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 173 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
182 ViewHostMsg_IDBIndexOpenCursor_Params params; 174 IndexedDBHostMsg_IndexOpenCursor_Params params;
183 params.response_id_ = pending_callbacks_.Add(callbacks.release()); 175 params.response_id = pending_callbacks_.Add(callbacks.release());
184 // TODO(jorlow): We really should just create a Chromium abstraction for 176 // TODO(jorlow): We really should just create a Chromium abstraction for
185 // KeyRange rather than doing it ad-hoc like this. 177 // KeyRange rather than doing it ad-hoc like this.
186 params.lower_key_.Set(idb_key_range.lower()); 178 params.lower_key.Set(idb_key_range.lower());
187 params.upper_key_.Set(idb_key_range.upper()); 179 params.upper_key.Set(idb_key_range.upper());
188 params.lower_open_ = idb_key_range.lowerOpen(); 180 params.lower_open = idb_key_range.lowerOpen();
189 params.upper_open_ = idb_key_range.upperOpen(); 181 params.upper_open = idb_key_range.upperOpen();
190 params.direction_ = direction; 182 params.direction = direction;
191 params.idb_index_id_ = idb_index_id; 183 params.idb_index_id = idb_index_id;
192 params.transaction_id_ = TransactionId(transaction); 184 params.transaction_id = TransactionId(transaction);
193 RenderThread::current()->Send( 185 RenderThread::current()->Send(
194 new ViewHostMsg_IDBIndexOpenKeyCursor(params, ec)); 186 new IndexedDBHostMsg_IndexOpenKeyCursor(params, ec));
195 if (*ec) 187 if (*ec)
196 pending_callbacks_.Remove(params.response_id_); 188 pending_callbacks_.Remove(params.response_id);
197 } 189 }
198 190
199 void IndexedDBDispatcher::RequestIDBIndexGetObject( 191 void IndexedDBDispatcher::RequestIDBIndexGetObject(
200 const IndexedDBKey& key, 192 const IndexedDBKey& key,
201 WebIDBCallbacks* callbacks_ptr, 193 WebIDBCallbacks* callbacks_ptr,
202 int32 idb_index_id, 194 int32 idb_index_id,
203 const WebIDBTransaction& transaction, 195 const WebIDBTransaction& transaction,
204 WebExceptionCode* ec) { 196 WebExceptionCode* ec) {
205 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 197 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
206 int32 response_id = pending_callbacks_.Add(callbacks.release()); 198 int32 response_id = pending_callbacks_.Add(callbacks.release());
207 RenderThread::current()->Send( 199 RenderThread::current()->Send(
208 new ViewHostMsg_IDBIndexGetObject( 200 new IndexedDBHostMsg_IndexGetObject(
209 idb_index_id, response_id, key, 201 idb_index_id, response_id, key,
210 TransactionId(transaction), ec)); 202 TransactionId(transaction), ec));
211 if (*ec) 203 if (*ec)
212 pending_callbacks_.Remove(response_id); 204 pending_callbacks_.Remove(response_id);
213 } 205 }
214 206
215 void IndexedDBDispatcher::RequestIDBIndexGetKey( 207 void IndexedDBDispatcher::RequestIDBIndexGetKey(
216 const IndexedDBKey& key, 208 const IndexedDBKey& key,
217 WebIDBCallbacks* callbacks_ptr, 209 WebIDBCallbacks* callbacks_ptr,
218 int32 idb_index_id, 210 int32 idb_index_id,
219 const WebIDBTransaction& transaction, 211 const WebIDBTransaction& transaction,
220 WebExceptionCode* ec) { 212 WebExceptionCode* ec) {
221 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 213 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
222 int32 response_id = pending_callbacks_.Add(callbacks.release()); 214 int32 response_id = pending_callbacks_.Add(callbacks.release());
223 RenderThread::current()->Send( 215 RenderThread::current()->Send(
224 new ViewHostMsg_IDBIndexGetKey( 216 new IndexedDBHostMsg_IndexGetKey(
225 idb_index_id, response_id, key, 217 idb_index_id, response_id, key,
226 TransactionId(transaction), ec)); 218 TransactionId(transaction), ec));
227 if (*ec) 219 if (*ec)
228 pending_callbacks_.Remove(response_id); 220 pending_callbacks_.Remove(response_id);
229 } 221 }
230 222
231 void IndexedDBDispatcher::RequestIDBObjectStoreGet( 223 void IndexedDBDispatcher::RequestIDBObjectStoreGet(
232 const IndexedDBKey& key, 224 const IndexedDBKey& key,
233 WebIDBCallbacks* callbacks_ptr, 225 WebIDBCallbacks* callbacks_ptr,
234 int32 idb_object_store_id, 226 int32 idb_object_store_id,
235 const WebIDBTransaction& transaction, 227 const WebIDBTransaction& transaction,
236 WebExceptionCode* ec) { 228 WebExceptionCode* ec) {
237 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 229 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
238 230
239 int32 response_id = pending_callbacks_.Add(callbacks.release()); 231 int32 response_id = pending_callbacks_.Add(callbacks.release());
240 RenderThread::current()->Send( 232 RenderThread::current()->Send(
241 new ViewHostMsg_IDBObjectStoreGet( 233 new IndexedDBHostMsg_ObjectStoreGet(
242 idb_object_store_id, response_id, 234 idb_object_store_id, response_id,
243 key, TransactionId(transaction), ec)); 235 key, TransactionId(transaction), ec));
244 if (*ec) 236 if (*ec)
245 pending_callbacks_.Remove(response_id); 237 pending_callbacks_.Remove(response_id);
246 } 238 }
247 239
248 void IndexedDBDispatcher::RequestIDBObjectStorePut( 240 void IndexedDBDispatcher::RequestIDBObjectStorePut(
249 const SerializedScriptValue& value, 241 const SerializedScriptValue& value,
250 const IndexedDBKey& key, 242 const IndexedDBKey& key,
251 bool add_only, 243 bool add_only,
252 WebIDBCallbacks* callbacks_ptr, 244 WebIDBCallbacks* callbacks_ptr,
253 int32 idb_object_store_id, 245 int32 idb_object_store_id,
254 const WebIDBTransaction& transaction, 246 const WebIDBTransaction& transaction,
255 WebExceptionCode* ec) { 247 WebExceptionCode* ec) {
256 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 248 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
257 ViewHostMsg_IDBObjectStorePut_Params params; 249 IndexedDBHostMsg_ObjectStorePut_Params params;
258 params.idb_object_store_id_ = idb_object_store_id; 250 params.idb_object_store_id = idb_object_store_id;
259 params.response_id_ = pending_callbacks_.Add(callbacks.release()); 251 params.response_id = pending_callbacks_.Add(callbacks.release());
260 params.serialized_value_ = value; 252 params.serialized_value = value;
261 params.key_ = key; 253 params.key = key;
262 params.add_only_ = add_only; 254 params.add_only = add_only;
263 params.transaction_id_ = TransactionId(transaction); 255 params.transaction_id = TransactionId(transaction);
264 RenderThread::current()->Send(new ViewHostMsg_IDBObjectStorePut(params, ec)); 256 RenderThread::current()->Send(new IndexedDBHostMsg_ObjectStorePut(
257 params, ec));
265 if (*ec) 258 if (*ec)
266 pending_callbacks_.Remove(params.response_id_); 259 pending_callbacks_.Remove(params.response_id);
267 } 260 }
268 261
269 void IndexedDBDispatcher::RequestIDBObjectStoreDelete( 262 void IndexedDBDispatcher::RequestIDBObjectStoreDelete(
270 const IndexedDBKey& key, 263 const IndexedDBKey& key,
271 WebIDBCallbacks* callbacks_ptr, 264 WebIDBCallbacks* callbacks_ptr,
272 int32 idb_object_store_id, 265 int32 idb_object_store_id,
273 const WebIDBTransaction& transaction, 266 const WebIDBTransaction& transaction,
274 WebExceptionCode* ec) { 267 WebExceptionCode* ec) {
275 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 268 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
276 269
277 int32 response_id = pending_callbacks_.Add(callbacks.release()); 270 int32 response_id = pending_callbacks_.Add(callbacks.release());
278 RenderThread::current()->Send( 271 RenderThread::current()->Send(
279 new ViewHostMsg_IDBObjectStoreDelete( 272 new IndexedDBHostMsg_ObjectStoreDelete(
280 idb_object_store_id, response_id, 273 idb_object_store_id, response_id,
281 key, TransactionId(transaction), ec)); 274 key, TransactionId(transaction), ec));
282 if (*ec) 275 if (*ec)
283 pending_callbacks_.Remove(response_id); 276 pending_callbacks_.Remove(response_id);
284 } 277 }
285 278
286 void IndexedDBDispatcher::RequestIDBObjectStoreOpenCursor( 279 void IndexedDBDispatcher::RequestIDBObjectStoreOpenCursor(
287 const WebIDBKeyRange& idb_key_range, 280 const WebIDBKeyRange& idb_key_range,
288 unsigned short direction, 281 unsigned short direction,
289 WebIDBCallbacks* callbacks_ptr, 282 WebIDBCallbacks* callbacks_ptr,
290 int32 idb_object_store_id, 283 int32 idb_object_store_id,
291 const WebIDBTransaction& transaction, 284 const WebIDBTransaction& transaction,
292 WebExceptionCode* ec) { 285 WebExceptionCode* ec) {
293 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr); 286 scoped_ptr<WebIDBCallbacks> callbacks(callbacks_ptr);
294 ViewHostMsg_IDBObjectStoreOpenCursor_Params params; 287 IndexedDBHostMsg_ObjectStoreOpenCursor_Params params;
295 params.response_id_ = pending_callbacks_.Add(callbacks.release()); 288 params.response_id = pending_callbacks_.Add(callbacks.release());
296 params.lower_key_.Set(idb_key_range.lower()); 289 params.lower_key.Set(idb_key_range.lower());
297 params.upper_key_.Set(idb_key_range.upper()); 290 params.upper_key.Set(idb_key_range.upper());
298 params.lower_open_ = idb_key_range.lowerOpen(); 291 params.lower_open = idb_key_range.lowerOpen();
299 params.upper_open_ = idb_key_range.upperOpen(); 292 params.upper_open = idb_key_range.upperOpen();
300 params.direction_ = direction; 293 params.direction = direction;
301 params.idb_object_store_id_ = idb_object_store_id; 294 params.idb_object_store_id = idb_object_store_id;
302 params.transaction_id_ = TransactionId(transaction); 295 params.transaction_id = TransactionId(transaction);
303 RenderThread::current()->Send( 296 RenderThread::current()->Send(
304 new ViewHostMsg_IDBObjectStoreOpenCursor(params, ec)); 297 new IndexedDBHostMsg_ObjectStoreOpenCursor(params, ec));
305 if (*ec) 298 if (*ec)
306 pending_callbacks_.Remove(params.response_id_); 299 pending_callbacks_.Remove(params.response_id);
307 } 300 }
308 301
309 void IndexedDBDispatcher::RegisterWebIDBTransactionCallbacks( 302 void IndexedDBDispatcher::RegisterWebIDBTransactionCallbacks(
310 WebIDBTransactionCallbacks* callbacks, 303 WebIDBTransactionCallbacks* callbacks,
311 int32 id) { 304 int32 id) {
312 pending_transaction_callbacks_.AddWithID(callbacks, id); 305 pending_transaction_callbacks_.AddWithID(callbacks, id);
313 } 306 }
314 307
315 int32 IndexedDBDispatcher::TransactionId( 308 int32 IndexedDBDispatcher::TransactionId(
316 const WebIDBTransaction& transaction) { 309 const WebIDBTransaction& transaction) {
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 callbacks->onComplete(); 388 callbacks->onComplete();
396 pending_transaction_callbacks_.Remove(transaction_id); 389 pending_transaction_callbacks_.Remove(transaction_id);
397 } 390 }
398 391
399 void IndexedDBDispatcher::OnTimeout(int32 transaction_id) { 392 void IndexedDBDispatcher::OnTimeout(int32 transaction_id) {
400 WebIDBTransactionCallbacks* callbacks = 393 WebIDBTransactionCallbacks* callbacks =
401 pending_transaction_callbacks_.Lookup(transaction_id); 394 pending_transaction_callbacks_.Lookup(transaction_id);
402 callbacks->onTimeout(); 395 callbacks->onTimeout();
403 pending_transaction_callbacks_.Remove(transaction_id); 396 pending_transaction_callbacks_.Remove(transaction_id);
404 } 397 }
OLDNEW
« no previous file with comments | « chrome/common/render_messages_params.cc ('k') | chrome/renderer/renderer_webidbcursor_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698