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

Side by Side Diff: content/browser/indexed_db/indexed_db_callbacks.cc

Issue 119343004: IndexedDB: Simplify data loss code/message routing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: git cl format Created 7 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
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/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 14 matching lines...) Expand all
25 25
26 IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host, 26 IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host,
27 int32 ipc_thread_id, 27 int32 ipc_thread_id,
28 int32 ipc_callbacks_id) 28 int32 ipc_callbacks_id)
29 : dispatcher_host_(dispatcher_host), 29 : dispatcher_host_(dispatcher_host),
30 ipc_callbacks_id_(ipc_callbacks_id), 30 ipc_callbacks_id_(ipc_callbacks_id),
31 ipc_thread_id_(ipc_thread_id), 31 ipc_thread_id_(ipc_thread_id),
32 ipc_cursor_id_(kNoCursor), 32 ipc_cursor_id_(kNoCursor),
33 host_transaction_id_(kNoTransaction), 33 host_transaction_id_(kNoTransaction),
34 ipc_database_id_(kNoDatabase), 34 ipc_database_id_(kNoDatabase),
35 ipc_database_callbacks_id_(kNoDatabaseCallbacks) {} 35 ipc_database_callbacks_id_(kNoDatabaseCallbacks),
36 data_loss_(blink::WebIDBDataLossNone) {}
36 37
37 IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host, 38 IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host,
38 int32 ipc_thread_id, 39 int32 ipc_thread_id,
39 int32 ipc_callbacks_id, 40 int32 ipc_callbacks_id,
40 int32 ipc_cursor_id) 41 int32 ipc_cursor_id)
41 : dispatcher_host_(dispatcher_host), 42 : dispatcher_host_(dispatcher_host),
42 ipc_callbacks_id_(ipc_callbacks_id), 43 ipc_callbacks_id_(ipc_callbacks_id),
43 ipc_thread_id_(ipc_thread_id), 44 ipc_thread_id_(ipc_thread_id),
44 ipc_cursor_id_(ipc_cursor_id), 45 ipc_cursor_id_(ipc_cursor_id),
45 host_transaction_id_(kNoTransaction), 46 host_transaction_id_(kNoTransaction),
46 ipc_database_id_(kNoDatabase), 47 ipc_database_id_(kNoDatabase),
47 ipc_database_callbacks_id_(kNoDatabaseCallbacks) {} 48 ipc_database_callbacks_id_(kNoDatabaseCallbacks),
49 data_loss_(blink::WebIDBDataLossNone) {}
48 50
49 IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host, 51 IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host,
50 int32 ipc_thread_id, 52 int32 ipc_thread_id,
51 int32 ipc_callbacks_id, 53 int32 ipc_callbacks_id,
52 int32 ipc_database_callbacks_id, 54 int32 ipc_database_callbacks_id,
53 int64 host_transaction_id, 55 int64 host_transaction_id,
54 const GURL& origin_url) 56 const GURL& origin_url)
55 : dispatcher_host_(dispatcher_host), 57 : dispatcher_host_(dispatcher_host),
56 ipc_callbacks_id_(ipc_callbacks_id), 58 ipc_callbacks_id_(ipc_callbacks_id),
57 ipc_thread_id_(ipc_thread_id), 59 ipc_thread_id_(ipc_thread_id),
58 ipc_cursor_id_(kNoCursor), 60 ipc_cursor_id_(kNoCursor),
59 host_transaction_id_(host_transaction_id), 61 host_transaction_id_(host_transaction_id),
60 origin_url_(origin_url), 62 origin_url_(origin_url),
61 ipc_database_id_(kNoDatabase), 63 ipc_database_id_(kNoDatabase),
62 ipc_database_callbacks_id_(ipc_database_callbacks_id) {} 64 ipc_database_callbacks_id_(ipc_database_callbacks_id),
65 data_loss_(blink::WebIDBDataLossNone) {}
63 66
64 IndexedDBCallbacks::~IndexedDBCallbacks() {} 67 IndexedDBCallbacks::~IndexedDBCallbacks() {}
65 68
66 void IndexedDBCallbacks::OnError(const IndexedDBDatabaseError& error) { 69 void IndexedDBCallbacks::OnError(const IndexedDBDatabaseError& error) {
67 DCHECK(dispatcher_host_.get()); 70 DCHECK(dispatcher_host_.get());
68 71
69 dispatcher_host_->Send(new IndexedDBMsg_CallbacksError( 72 dispatcher_host_->Send(new IndexedDBMsg_CallbacksError(
70 ipc_thread_id_, ipc_callbacks_id_, error.code(), error.message())); 73 ipc_thread_id_, ipc_callbacks_id_, error.code(), error.message()));
71 dispatcher_host_ = NULL; 74 dispatcher_host_ = NULL;
72 } 75 }
73 76
74 void IndexedDBCallbacks::OnSuccess(const std::vector<base::string16>& value) { 77 void IndexedDBCallbacks::OnSuccess(const std::vector<base::string16>& value) {
75 DCHECK(dispatcher_host_.get()); 78 DCHECK(dispatcher_host_.get());
76 79
77 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 80 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
78 DCHECK_EQ(kNoTransaction, host_transaction_id_); 81 DCHECK_EQ(kNoTransaction, host_transaction_id_);
79 DCHECK_EQ(kNoDatabase, ipc_database_id_); 82 DCHECK_EQ(kNoDatabase, ipc_database_id_);
80 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 83 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
84 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
81 85
82 std::vector<base::string16> list; 86 std::vector<base::string16> list;
83 for (unsigned i = 0; i < value.size(); ++i) 87 for (unsigned i = 0; i < value.size(); ++i)
84 list.push_back(value[i]); 88 list.push_back(value[i]);
85 89
86 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessStringList( 90 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessStringList(
87 ipc_thread_id_, ipc_callbacks_id_, list)); 91 ipc_thread_id_, ipc_callbacks_id_, list));
88 dispatcher_host_ = NULL; 92 dispatcher_host_ = NULL;
89 } 93 }
90 94
91 void IndexedDBCallbacks::OnBlocked(int64 existing_version) { 95 void IndexedDBCallbacks::OnBlocked(int64 existing_version) {
92 DCHECK(dispatcher_host_.get()); 96 DCHECK(dispatcher_host_.get());
93 97
94 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 98 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
95 // No transaction/db callbacks for DeleteDatabase. 99 // No transaction/db callbacks for DeleteDatabase.
96 DCHECK_EQ(kNoTransaction == host_transaction_id_, 100 DCHECK_EQ(kNoTransaction == host_transaction_id_,
97 kNoDatabaseCallbacks == ipc_database_callbacks_id_); 101 kNoDatabaseCallbacks == ipc_database_callbacks_id_);
98 DCHECK_EQ(kNoDatabase, ipc_database_id_); 102 DCHECK_EQ(kNoDatabase, ipc_database_id_);
99 103
100 dispatcher_host_->Send(new IndexedDBMsg_CallbacksIntBlocked( 104 dispatcher_host_->Send(new IndexedDBMsg_CallbacksIntBlocked(
101 ipc_thread_id_, ipc_callbacks_id_, existing_version)); 105 ipc_thread_id_, ipc_callbacks_id_, existing_version));
102 } 106 }
103 107
108 void IndexedDBCallbacks::OnDataLoss(blink::WebIDBDataLoss data_loss,
109 std::string data_loss_message) {
110 DCHECK_NE(blink::WebIDBDataLossNone, data_loss);
111 data_loss_ = data_loss;
112 data_loss_message_ = data_loss_message;
113 }
114
104 void IndexedDBCallbacks::OnUpgradeNeeded( 115 void IndexedDBCallbacks::OnUpgradeNeeded(
105 int64 old_version, 116 int64 old_version,
106 scoped_ptr<IndexedDBConnection> connection, 117 scoped_ptr<IndexedDBConnection> connection,
107 const IndexedDBDatabaseMetadata& metadata, 118 const IndexedDBDatabaseMetadata& metadata) {
108 blink::WebIDBDataLoss data_loss,
109 std::string data_loss_message) {
110 DCHECK(dispatcher_host_.get()); 119 DCHECK(dispatcher_host_.get());
111 120
112 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 121 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
113 DCHECK_NE(kNoTransaction, host_transaction_id_); 122 DCHECK_NE(kNoTransaction, host_transaction_id_);
114 DCHECK_EQ(kNoDatabase, ipc_database_id_); 123 DCHECK_EQ(kNoDatabase, ipc_database_id_);
115 DCHECK_NE(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 124 DCHECK_NE(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
116 125
117 dispatcher_host_->RegisterTransactionId(host_transaction_id_, origin_url_); 126 dispatcher_host_->RegisterTransactionId(host_transaction_id_, origin_url_);
118 int32 ipc_database_id = 127 int32 ipc_database_id =
119 dispatcher_host_->Add(connection.release(), ipc_thread_id_, origin_url_); 128 dispatcher_host_->Add(connection.release(), ipc_thread_id_, origin_url_);
120 if (ipc_database_id < 0) 129 if (ipc_database_id < 0)
121 return; 130 return;
122 ipc_database_id_ = ipc_database_id; 131 ipc_database_id_ = ipc_database_id;
123 IndexedDBMsg_CallbacksUpgradeNeeded_Params params; 132 IndexedDBMsg_CallbacksUpgradeNeeded_Params params;
124 params.ipc_thread_id = ipc_thread_id_; 133 params.ipc_thread_id = ipc_thread_id_;
125 params.ipc_callbacks_id = ipc_callbacks_id_; 134 params.ipc_callbacks_id = ipc_callbacks_id_;
126 params.ipc_database_id = ipc_database_id; 135 params.ipc_database_id = ipc_database_id;
127 params.ipc_database_callbacks_id = ipc_database_callbacks_id_; 136 params.ipc_database_callbacks_id = ipc_database_callbacks_id_;
128 params.old_version = old_version; 137 params.old_version = old_version;
129 params.idb_metadata = IndexedDBDispatcherHost::ConvertMetadata(metadata); 138 params.idb_metadata = IndexedDBDispatcherHost::ConvertMetadata(metadata);
130 params.data_loss = data_loss; 139 params.data_loss = data_loss_;
131 params.data_loss_message = data_loss_message; 140 params.data_loss_message = data_loss_message_;
132 dispatcher_host_->Send(new IndexedDBMsg_CallbacksUpgradeNeeded(params)); 141 dispatcher_host_->Send(new IndexedDBMsg_CallbacksUpgradeNeeded(params));
133 } 142 }
134 143
135 void IndexedDBCallbacks::OnSuccess(scoped_ptr<IndexedDBConnection> connection, 144 void IndexedDBCallbacks::OnSuccess(scoped_ptr<IndexedDBConnection> connection,
136 const IndexedDBDatabaseMetadata& metadata) { 145 const IndexedDBDatabaseMetadata& metadata) {
137 DCHECK(dispatcher_host_.get()); 146 DCHECK(dispatcher_host_.get());
138 147
139 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 148 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
140 DCHECK_NE(kNoTransaction, host_transaction_id_); 149 DCHECK_NE(kNoTransaction, host_transaction_id_);
141 DCHECK_NE(ipc_database_id_ == kNoDatabase, !connection); 150 DCHECK_NE(ipc_database_id_ == kNoDatabase, !connection);
(...skipping 20 matching lines...) Expand all
162 void IndexedDBCallbacks::OnSuccess(scoped_refptr<IndexedDBCursor> cursor, 171 void IndexedDBCallbacks::OnSuccess(scoped_refptr<IndexedDBCursor> cursor,
163 const IndexedDBKey& key, 172 const IndexedDBKey& key,
164 const IndexedDBKey& primary_key, 173 const IndexedDBKey& primary_key,
165 std::string* value) { 174 std::string* value) {
166 DCHECK(dispatcher_host_.get()); 175 DCHECK(dispatcher_host_.get());
167 176
168 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 177 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
169 DCHECK_EQ(kNoTransaction, host_transaction_id_); 178 DCHECK_EQ(kNoTransaction, host_transaction_id_);
170 DCHECK_EQ(kNoDatabase, ipc_database_id_); 179 DCHECK_EQ(kNoDatabase, ipc_database_id_);
171 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 180 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
181 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
172 182
173 int32 ipc_object_id = dispatcher_host_->Add(cursor.get()); 183 int32 ipc_object_id = dispatcher_host_->Add(cursor.get());
174 IndexedDBMsg_CallbacksSuccessIDBCursor_Params params; 184 IndexedDBMsg_CallbacksSuccessIDBCursor_Params params;
175 params.ipc_thread_id = ipc_thread_id_; 185 params.ipc_thread_id = ipc_thread_id_;
176 params.ipc_callbacks_id = ipc_callbacks_id_; 186 params.ipc_callbacks_id = ipc_callbacks_id_;
177 params.ipc_cursor_id = ipc_object_id; 187 params.ipc_cursor_id = ipc_object_id;
178 params.key = key; 188 params.key = key;
179 params.primary_key = primary_key; 189 params.primary_key = primary_key;
180 if (value && !value->empty()) 190 if (value && !value->empty())
181 std::swap(params.value, *value); 191 std::swap(params.value, *value);
182 // TODO(alecflett): Avoid a copy here: the whole params object is 192 // TODO(alecflett): Avoid a copy here: the whole params object is
183 // being copied into the message. 193 // being copied into the message.
184 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessIDBCursor(params)); 194 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessIDBCursor(params));
185 195
186 dispatcher_host_ = NULL; 196 dispatcher_host_ = NULL;
187 } 197 }
188 198
189 void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& key, 199 void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& key,
190 const IndexedDBKey& primary_key, 200 const IndexedDBKey& primary_key,
191 std::string* value) { 201 std::string* value) {
192 DCHECK(dispatcher_host_.get()); 202 DCHECK(dispatcher_host_.get());
193 203
194 DCHECK_NE(kNoCursor, ipc_cursor_id_); 204 DCHECK_NE(kNoCursor, ipc_cursor_id_);
195 DCHECK_EQ(kNoTransaction, host_transaction_id_); 205 DCHECK_EQ(kNoTransaction, host_transaction_id_);
196 DCHECK_EQ(kNoDatabase, ipc_database_id_); 206 DCHECK_EQ(kNoDatabase, ipc_database_id_);
197 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 207 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
208 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
198 209
199 IndexedDBCursor* idb_cursor = 210 IndexedDBCursor* idb_cursor =
200 dispatcher_host_->GetCursorFromId(ipc_cursor_id_); 211 dispatcher_host_->GetCursorFromId(ipc_cursor_id_);
201 212
202 DCHECK(idb_cursor); 213 DCHECK(idb_cursor);
203 if (!idb_cursor) 214 if (!idb_cursor)
204 return; 215 return;
205 IndexedDBMsg_CallbacksSuccessCursorContinue_Params params; 216 IndexedDBMsg_CallbacksSuccessCursorContinue_Params params;
206 params.ipc_thread_id = ipc_thread_id_; 217 params.ipc_thread_id = ipc_thread_id_;
207 params.ipc_callbacks_id = ipc_callbacks_id_; 218 params.ipc_callbacks_id = ipc_callbacks_id_;
(...skipping 15 matching lines...) Expand all
223 const std::vector<std::string>& values) { 234 const std::vector<std::string>& values) {
224 DCHECK_EQ(keys.size(), primary_keys.size()); 235 DCHECK_EQ(keys.size(), primary_keys.size());
225 DCHECK_EQ(keys.size(), values.size()); 236 DCHECK_EQ(keys.size(), values.size());
226 237
227 DCHECK(dispatcher_host_.get()); 238 DCHECK(dispatcher_host_.get());
228 239
229 DCHECK_NE(kNoCursor, ipc_cursor_id_); 240 DCHECK_NE(kNoCursor, ipc_cursor_id_);
230 DCHECK_EQ(kNoTransaction, host_transaction_id_); 241 DCHECK_EQ(kNoTransaction, host_transaction_id_);
231 DCHECK_EQ(kNoDatabase, ipc_database_id_); 242 DCHECK_EQ(kNoDatabase, ipc_database_id_);
232 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 243 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
244 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
233 245
234 std::vector<IndexedDBKey> msgKeys; 246 std::vector<IndexedDBKey> msgKeys;
235 std::vector<IndexedDBKey> msgPrimaryKeys; 247 std::vector<IndexedDBKey> msgPrimaryKeys;
236 248
237 for (size_t i = 0; i < keys.size(); ++i) { 249 for (size_t i = 0; i < keys.size(); ++i) {
238 msgKeys.push_back(keys[i]); 250 msgKeys.push_back(keys[i]);
239 msgPrimaryKeys.push_back(primary_keys[i]); 251 msgPrimaryKeys.push_back(primary_keys[i]);
240 } 252 }
241 253
242 IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params params; 254 IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params params;
(...skipping 10 matching lines...) Expand all
253 265
254 void IndexedDBCallbacks::OnSuccess(std::string* value, 266 void IndexedDBCallbacks::OnSuccess(std::string* value,
255 const IndexedDBKey& key, 267 const IndexedDBKey& key,
256 const IndexedDBKeyPath& key_path) { 268 const IndexedDBKeyPath& key_path) {
257 DCHECK(dispatcher_host_.get()); 269 DCHECK(dispatcher_host_.get());
258 270
259 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 271 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
260 DCHECK_EQ(kNoTransaction, host_transaction_id_); 272 DCHECK_EQ(kNoTransaction, host_transaction_id_);
261 DCHECK_EQ(kNoDatabase, ipc_database_id_); 273 DCHECK_EQ(kNoDatabase, ipc_database_id_);
262 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 274 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
275 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
263 276
264 std::string value_copy; 277 std::string value_copy;
265 if (value && !value->empty()) 278 if (value && !value->empty())
266 std::swap(value_copy, *value); 279 std::swap(value_copy, *value);
267 280
268 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValueWithKey( 281 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValueWithKey(
269 ipc_thread_id_, 282 ipc_thread_id_,
270 ipc_callbacks_id_, 283 ipc_callbacks_id_,
271 // TODO(alecflett): Avoid a copy here. 284 // TODO(alecflett): Avoid a copy here.
272 value_copy, 285 value_copy,
273 key, 286 key,
274 key_path)); 287 key_path));
275 dispatcher_host_ = NULL; 288 dispatcher_host_ = NULL;
276 } 289 }
277 290
278 void IndexedDBCallbacks::OnSuccess(std::string* value) { 291 void IndexedDBCallbacks::OnSuccess(std::string* value) {
279 DCHECK(dispatcher_host_.get()); 292 DCHECK(dispatcher_host_.get());
280 293
281 DCHECK(kNoCursor == ipc_cursor_id_ || value == NULL); 294 DCHECK(kNoCursor == ipc_cursor_id_ || value == NULL);
282 DCHECK_EQ(kNoTransaction, host_transaction_id_); 295 DCHECK_EQ(kNoTransaction, host_transaction_id_);
283 DCHECK_EQ(kNoDatabase, ipc_database_id_); 296 DCHECK_EQ(kNoDatabase, ipc_database_id_);
284 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 297 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
298 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
285 299
286 std::string value_copy; 300 std::string value_copy;
287 if (value && !value->empty()) 301 if (value && !value->empty())
288 std::swap(value_copy, *value); 302 std::swap(value_copy, *value);
289 303
290 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValue( 304 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessValue(
291 ipc_thread_id_, 305 ipc_thread_id_,
292 ipc_callbacks_id_, 306 ipc_callbacks_id_,
293 // TODO(alecflett): avoid a copy here. 307 // TODO(alecflett): avoid a copy here.
294 value_copy)); 308 value_copy));
295 dispatcher_host_ = NULL; 309 dispatcher_host_ = NULL;
296 } 310 }
297 311
298 void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& value) { 312 void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& value) {
299 DCHECK(dispatcher_host_.get()); 313 DCHECK(dispatcher_host_.get());
300 314
301 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 315 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
302 DCHECK_EQ(kNoTransaction, host_transaction_id_); 316 DCHECK_EQ(kNoTransaction, host_transaction_id_);
303 DCHECK_EQ(kNoDatabase, ipc_database_id_); 317 DCHECK_EQ(kNoDatabase, ipc_database_id_);
304 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 318 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
319 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
305 320
306 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessIndexedDBKey( 321 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessIndexedDBKey(
307 ipc_thread_id_, ipc_callbacks_id_, value)); 322 ipc_thread_id_, ipc_callbacks_id_, value));
308 dispatcher_host_ = NULL; 323 dispatcher_host_ = NULL;
309 } 324 }
310 325
311 void IndexedDBCallbacks::OnSuccess(int64 value) { 326 void IndexedDBCallbacks::OnSuccess(int64 value) {
312 DCHECK(dispatcher_host_.get()); 327 DCHECK(dispatcher_host_.get());
313 328
314 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 329 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
315 DCHECK_EQ(kNoTransaction, host_transaction_id_); 330 DCHECK_EQ(kNoTransaction, host_transaction_id_);
316 DCHECK_EQ(kNoDatabase, ipc_database_id_); 331 DCHECK_EQ(kNoDatabase, ipc_database_id_);
317 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 332 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
333 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
318 334
319 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessInteger( 335 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessInteger(
320 ipc_thread_id_, ipc_callbacks_id_, value)); 336 ipc_thread_id_, ipc_callbacks_id_, value));
321 dispatcher_host_ = NULL; 337 dispatcher_host_ = NULL;
322 } 338 }
323 339
324 void IndexedDBCallbacks::OnSuccess() { 340 void IndexedDBCallbacks::OnSuccess() {
325 DCHECK(dispatcher_host_.get()); 341 DCHECK(dispatcher_host_.get());
326 342
327 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 343 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
328 DCHECK_EQ(kNoTransaction, host_transaction_id_); 344 DCHECK_EQ(kNoTransaction, host_transaction_id_);
329 DCHECK_EQ(kNoDatabase, ipc_database_id_); 345 DCHECK_EQ(kNoDatabase, ipc_database_id_);
330 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 346 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
347 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
331 348
332 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessUndefined( 349 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessUndefined(
333 ipc_thread_id_, ipc_callbacks_id_)); 350 ipc_thread_id_, ipc_callbacks_id_));
334 dispatcher_host_ = NULL; 351 dispatcher_host_ = NULL;
335 } 352 }
336 353
337 } // namespace content 354 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/indexed_db/indexed_db_callbacks.h ('k') | content/browser/indexed_db/indexed_db_database.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698