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

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

Issue 2140193002: IndexedDB: Saving data loss status in IndexedDBPendingConnection. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@idb-data-loss
Patch Set: Deleted commented out code. Created 4 years, 5 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
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <utility> 10 #include <utility>
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host, 43 IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host,
44 int32_t ipc_thread_id, 44 int32_t ipc_thread_id,
45 int32_t ipc_callbacks_id) 45 int32_t ipc_callbacks_id)
46 : dispatcher_host_(dispatcher_host), 46 : dispatcher_host_(dispatcher_host),
47 ipc_callbacks_id_(ipc_callbacks_id), 47 ipc_callbacks_id_(ipc_callbacks_id),
48 ipc_thread_id_(ipc_thread_id), 48 ipc_thread_id_(ipc_thread_id),
49 ipc_cursor_id_(kNoCursor), 49 ipc_cursor_id_(kNoCursor),
50 host_transaction_id_(kNoTransaction), 50 host_transaction_id_(kNoTransaction),
51 ipc_database_id_(kNoDatabase), 51 ipc_database_id_(kNoDatabase),
52 ipc_database_callbacks_id_(kNoDatabaseCallbacks), 52 ipc_database_callbacks_id_(kNoDatabaseCallbacks),
53 data_loss_(blink::WebIDBDataLossNone),
53 sent_blocked_(false) {} 54 sent_blocked_(false) {}
54 55
55 IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host, 56 IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host,
56 int32_t ipc_thread_id, 57 int32_t ipc_thread_id,
57 int32_t ipc_callbacks_id, 58 int32_t ipc_callbacks_id,
58 int32_t ipc_cursor_id) 59 int32_t ipc_cursor_id)
59 : dispatcher_host_(dispatcher_host), 60 : dispatcher_host_(dispatcher_host),
60 ipc_callbacks_id_(ipc_callbacks_id), 61 ipc_callbacks_id_(ipc_callbacks_id),
61 ipc_thread_id_(ipc_thread_id), 62 ipc_thread_id_(ipc_thread_id),
62 ipc_cursor_id_(ipc_cursor_id), 63 ipc_cursor_id_(ipc_cursor_id),
63 host_transaction_id_(kNoTransaction), 64 host_transaction_id_(kNoTransaction),
64 ipc_database_id_(kNoDatabase), 65 ipc_database_id_(kNoDatabase),
65 ipc_database_callbacks_id_(kNoDatabaseCallbacks), 66 ipc_database_callbacks_id_(kNoDatabaseCallbacks),
67 data_loss_(blink::WebIDBDataLossNone),
66 sent_blocked_(false) {} 68 sent_blocked_(false) {}
67 69
68 IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host, 70 IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host,
69 int32_t ipc_thread_id, 71 int32_t ipc_thread_id,
70 int32_t ipc_callbacks_id, 72 int32_t ipc_callbacks_id,
71 int32_t ipc_database_callbacks_id, 73 int32_t ipc_database_callbacks_id,
72 int64_t host_transaction_id, 74 int64_t host_transaction_id,
73 const url::Origin& origin) 75 const url::Origin& origin)
74 : dispatcher_host_(dispatcher_host), 76 : dispatcher_host_(dispatcher_host),
75 ipc_callbacks_id_(ipc_callbacks_id), 77 ipc_callbacks_id_(ipc_callbacks_id),
76 ipc_thread_id_(ipc_thread_id), 78 ipc_thread_id_(ipc_thread_id),
77 ipc_cursor_id_(kNoCursor), 79 ipc_cursor_id_(kNoCursor),
78 host_transaction_id_(host_transaction_id), 80 host_transaction_id_(host_transaction_id),
79 origin_(origin), 81 origin_(origin),
80 ipc_database_id_(kNoDatabase), 82 ipc_database_id_(kNoDatabase),
81 ipc_database_callbacks_id_(ipc_database_callbacks_id), 83 ipc_database_callbacks_id_(ipc_database_callbacks_id),
84 data_loss_(blink::WebIDBDataLossNone),
82 sent_blocked_(false) {} 85 sent_blocked_(false) {}
83 86
84 IndexedDBCallbacks::~IndexedDBCallbacks() {} 87 IndexedDBCallbacks::~IndexedDBCallbacks() {}
85 88
86 void IndexedDBCallbacks::OnError(const IndexedDBDatabaseError& error) { 89 void IndexedDBCallbacks::OnError(const IndexedDBDatabaseError& error) {
87 DCHECK(dispatcher_host_.get()); 90 DCHECK(dispatcher_host_.get());
88 91
89 dispatcher_host_->Send(new IndexedDBMsg_CallbacksError( 92 dispatcher_host_->Send(new IndexedDBMsg_CallbacksError(
90 ipc_thread_id_, ipc_callbacks_id_, error.code(), error.message())); 93 ipc_thread_id_, ipc_callbacks_id_, error.code(), error.message()));
91 dispatcher_host_ = NULL; 94 dispatcher_host_ = NULL;
92 95
93 if (!connection_open_start_time_.is_null()) { 96 if (!connection_open_start_time_.is_null()) {
94 UMA_HISTOGRAM_MEDIUM_TIMES( 97 UMA_HISTOGRAM_MEDIUM_TIMES(
95 "WebCore.IndexedDB.OpenTime.Error", 98 "WebCore.IndexedDB.OpenTime.Error",
96 base::TimeTicks::Now() - connection_open_start_time_); 99 base::TimeTicks::Now() - connection_open_start_time_);
97 connection_open_start_time_ = base::TimeTicks(); 100 connection_open_start_time_ = base::TimeTicks();
98 } 101 }
99 } 102 }
100 103
101 void IndexedDBCallbacks::OnSuccess(const std::vector<base::string16>& value) { 104 void IndexedDBCallbacks::OnSuccess(const std::vector<base::string16>& value) {
102 DCHECK(dispatcher_host_.get()); 105 DCHECK(dispatcher_host_.get());
103 106
104 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 107 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
105 DCHECK_EQ(kNoTransaction, host_transaction_id_); 108 DCHECK_EQ(kNoTransaction, host_transaction_id_);
106 DCHECK_EQ(kNoDatabase, ipc_database_id_); 109 DCHECK_EQ(kNoDatabase, ipc_database_id_);
107 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 110 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
108 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_info_.status); 111 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
109 112
110 std::vector<base::string16> list; 113 std::vector<base::string16> list;
111 for (unsigned i = 0; i < value.size(); ++i) 114 for (unsigned i = 0; i < value.size(); ++i)
112 list.push_back(value[i]); 115 list.push_back(value[i]);
113 116
114 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessStringList( 117 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessStringList(
115 ipc_thread_id_, ipc_callbacks_id_, list)); 118 ipc_thread_id_, ipc_callbacks_id_, list));
116 dispatcher_host_ = NULL; 119 dispatcher_host_ = NULL;
117 } 120 }
118 121
(...skipping 14 matching lines...) Expand all
133 ipc_thread_id_, ipc_callbacks_id_, existing_version)); 136 ipc_thread_id_, ipc_callbacks_id_, existing_version));
134 137
135 if (!connection_open_start_time_.is_null()) { 138 if (!connection_open_start_time_.is_null()) {
136 UMA_HISTOGRAM_MEDIUM_TIMES( 139 UMA_HISTOGRAM_MEDIUM_TIMES(
137 "WebCore.IndexedDB.OpenTime.Blocked", 140 "WebCore.IndexedDB.OpenTime.Blocked",
138 base::TimeTicks::Now() - connection_open_start_time_); 141 base::TimeTicks::Now() - connection_open_start_time_);
139 connection_open_start_time_ = base::TimeTicks(); 142 connection_open_start_time_ = base::TimeTicks();
140 } 143 }
141 } 144 }
142 145
143 void IndexedDBCallbacks::OnDataLoss(const IndexedDBDataLossInfo& info) {
144 data_loss_info_ = info;
145 }
146
147 void IndexedDBCallbacks::OnUpgradeNeeded( 146 void IndexedDBCallbacks::OnUpgradeNeeded(
148 int64_t old_version, 147 int64_t old_version,
149 std::unique_ptr<IndexedDBConnection> connection, 148 std::unique_ptr<IndexedDBConnection> connection,
150 const IndexedDBDatabaseMetadata& metadata) { 149 const IndexedDBDatabaseMetadata& metadata,
150 const IndexedDBDataLossInfo& data_loss_info) {
151 DCHECK(dispatcher_host_.get()); 151 DCHECK(dispatcher_host_.get());
152 152
153 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 153 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
154 DCHECK_NE(kNoTransaction, host_transaction_id_); 154 DCHECK_NE(kNoTransaction, host_transaction_id_);
155 DCHECK_EQ(kNoDatabase, ipc_database_id_); 155 DCHECK_EQ(kNoDatabase, ipc_database_id_);
156 DCHECK_NE(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 156 DCHECK_NE(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
157 157
158 data_loss_ = data_loss_info.status;
158 dispatcher_host_->RegisterTransactionId(host_transaction_id_, origin_); 159 dispatcher_host_->RegisterTransactionId(host_transaction_id_, origin_);
159 int32_t ipc_database_id = 160 int32_t ipc_database_id =
160 dispatcher_host_->Add(connection.release(), ipc_thread_id_, origin_); 161 dispatcher_host_->Add(connection.release(), ipc_thread_id_, origin_);
161 if (ipc_database_id < 0) 162 if (ipc_database_id < 0)
162 return; 163 return;
163 ipc_database_id_ = ipc_database_id; 164 ipc_database_id_ = ipc_database_id;
164 IndexedDBMsg_CallbacksUpgradeNeeded_Params params; 165 IndexedDBMsg_CallbacksUpgradeNeeded_Params params;
165 params.ipc_thread_id = ipc_thread_id_; 166 params.ipc_thread_id = ipc_thread_id_;
166 params.ipc_callbacks_id = ipc_callbacks_id_; 167 params.ipc_callbacks_id = ipc_callbacks_id_;
167 params.ipc_database_id = ipc_database_id; 168 params.ipc_database_id = ipc_database_id;
168 params.ipc_database_callbacks_id = ipc_database_callbacks_id_; 169 params.ipc_database_callbacks_id = ipc_database_callbacks_id_;
169 params.old_version = old_version; 170 params.old_version = old_version;
170 params.idb_metadata = IndexedDBDispatcherHost::ConvertMetadata(metadata); 171 params.idb_metadata = IndexedDBDispatcherHost::ConvertMetadata(metadata);
171 params.data_loss = data_loss_info_.status; 172 params.data_loss = data_loss_info.status;
172 params.data_loss_message = data_loss_info_.message; 173 params.data_loss_message = data_loss_info.message;
173 dispatcher_host_->Send(new IndexedDBMsg_CallbacksUpgradeNeeded(params)); 174 dispatcher_host_->Send(new IndexedDBMsg_CallbacksUpgradeNeeded(params));
174 175
175 if (!connection_open_start_time_.is_null()) { 176 if (!connection_open_start_time_.is_null()) {
176 UMA_HISTOGRAM_MEDIUM_TIMES( 177 UMA_HISTOGRAM_MEDIUM_TIMES(
177 "WebCore.IndexedDB.OpenTime.UpgradeNeeded", 178 "WebCore.IndexedDB.OpenTime.UpgradeNeeded",
178 base::TimeTicks::Now() - connection_open_start_time_); 179 base::TimeTicks::Now() - connection_open_start_time_);
179 connection_open_start_time_ = base::TimeTicks(); 180 connection_open_start_time_ = base::TimeTicks();
180 } 181 }
181 } 182 }
182 183
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 void IndexedDBCallbacks::OnSuccess(scoped_refptr<IndexedDBCursor> cursor, 334 void IndexedDBCallbacks::OnSuccess(scoped_refptr<IndexedDBCursor> cursor,
334 const IndexedDBKey& key, 335 const IndexedDBKey& key,
335 const IndexedDBKey& primary_key, 336 const IndexedDBKey& primary_key,
336 IndexedDBValue* value) { 337 IndexedDBValue* value) {
337 DCHECK(dispatcher_host_.get()); 338 DCHECK(dispatcher_host_.get());
338 339
339 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 340 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
340 DCHECK_EQ(kNoTransaction, host_transaction_id_); 341 DCHECK_EQ(kNoTransaction, host_transaction_id_);
341 DCHECK_EQ(kNoDatabase, ipc_database_id_); 342 DCHECK_EQ(kNoDatabase, ipc_database_id_);
342 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 343 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
343 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_info_.status); 344 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
344 345
345 int32_t ipc_object_id = dispatcher_host_->Add(cursor.get()); 346 int32_t ipc_object_id = dispatcher_host_->Add(cursor.get());
346 std::unique_ptr<IndexedDBMsg_CallbacksSuccessIDBCursor_Params> params( 347 std::unique_ptr<IndexedDBMsg_CallbacksSuccessIDBCursor_Params> params(
347 new IndexedDBMsg_CallbacksSuccessIDBCursor_Params()); 348 new IndexedDBMsg_CallbacksSuccessIDBCursor_Params());
348 params->ipc_thread_id = ipc_thread_id_; 349 params->ipc_thread_id = ipc_thread_id_;
349 params->ipc_callbacks_id = ipc_callbacks_id_; 350 params->ipc_callbacks_id = ipc_callbacks_id_;
350 params->ipc_cursor_id = ipc_object_id; 351 params->ipc_cursor_id = ipc_object_id;
351 params->key = key; 352 params->key = key;
352 params->primary_key = primary_key; 353 params->primary_key = primary_key;
353 if (value && !value->empty()) 354 if (value && !value->empty())
(...skipping 18 matching lines...) Expand all
372 373
373 void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& key, 374 void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& key,
374 const IndexedDBKey& primary_key, 375 const IndexedDBKey& primary_key,
375 IndexedDBValue* value) { 376 IndexedDBValue* value) {
376 DCHECK(dispatcher_host_.get()); 377 DCHECK(dispatcher_host_.get());
377 378
378 DCHECK_NE(kNoCursor, ipc_cursor_id_); 379 DCHECK_NE(kNoCursor, ipc_cursor_id_);
379 DCHECK_EQ(kNoTransaction, host_transaction_id_); 380 DCHECK_EQ(kNoTransaction, host_transaction_id_);
380 DCHECK_EQ(kNoDatabase, ipc_database_id_); 381 DCHECK_EQ(kNoDatabase, ipc_database_id_);
381 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 382 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
382 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_info_.status); 383 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
383 384
384 IndexedDBCursor* idb_cursor = 385 IndexedDBCursor* idb_cursor =
385 dispatcher_host_->GetCursorFromId(ipc_cursor_id_); 386 dispatcher_host_->GetCursorFromId(ipc_cursor_id_);
386 387
387 DCHECK(idb_cursor); 388 DCHECK(idb_cursor);
388 if (!idb_cursor) 389 if (!idb_cursor)
389 return; 390 return;
390 391
391 std::unique_ptr<IndexedDBMsg_CallbacksSuccessCursorContinue_Params> params( 392 std::unique_ptr<IndexedDBMsg_CallbacksSuccessCursorContinue_Params> params(
392 new IndexedDBMsg_CallbacksSuccessCursorContinue_Params()); 393 new IndexedDBMsg_CallbacksSuccessCursorContinue_Params());
(...skipping 30 matching lines...) Expand all
423 std::vector<IndexedDBValue>* values) { 424 std::vector<IndexedDBValue>* values) {
424 DCHECK_EQ(keys.size(), primary_keys.size()); 425 DCHECK_EQ(keys.size(), primary_keys.size());
425 DCHECK_EQ(keys.size(), values->size()); 426 DCHECK_EQ(keys.size(), values->size());
426 427
427 DCHECK(dispatcher_host_.get()); 428 DCHECK(dispatcher_host_.get());
428 429
429 DCHECK_NE(kNoCursor, ipc_cursor_id_); 430 DCHECK_NE(kNoCursor, ipc_cursor_id_);
430 DCHECK_EQ(kNoTransaction, host_transaction_id_); 431 DCHECK_EQ(kNoTransaction, host_transaction_id_);
431 DCHECK_EQ(kNoDatabase, ipc_database_id_); 432 DCHECK_EQ(kNoDatabase, ipc_database_id_);
432 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 433 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
433 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_info_.status); 434 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
434 435
435 std::vector<IndexedDBKey> msg_keys; 436 std::vector<IndexedDBKey> msg_keys;
436 std::vector<IndexedDBKey> msg_primary_keys; 437 std::vector<IndexedDBKey> msg_primary_keys;
437 438
438 for (size_t i = 0; i < keys.size(); ++i) { 439 for (size_t i = 0; i < keys.size(); ++i) {
439 msg_keys.push_back(keys[i]); 440 msg_keys.push_back(keys[i]);
440 msg_primary_keys.push_back(primary_keys[i]); 441 msg_primary_keys.push_back(primary_keys[i]);
441 } 442 }
442 443
443 std::unique_ptr<IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params> params( 444 std::unique_ptr<IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params> params(
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 DCHECK(dispatcher_host_.get()); 482 DCHECK(dispatcher_host_.get());
482 483
483 if (value && value->primary_key.IsValid()) { 484 if (value && value->primary_key.IsValid()) {
484 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 485 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
485 } else { 486 } else {
486 DCHECK(kNoCursor == ipc_cursor_id_ || value == NULL); 487 DCHECK(kNoCursor == ipc_cursor_id_ || value == NULL);
487 } 488 }
488 DCHECK_EQ(kNoTransaction, host_transaction_id_); 489 DCHECK_EQ(kNoTransaction, host_transaction_id_);
489 DCHECK_EQ(kNoDatabase, ipc_database_id_); 490 DCHECK_EQ(kNoDatabase, ipc_database_id_);
490 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 491 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
491 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_info_.status); 492 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
492 493
493 std::unique_ptr<IndexedDBMsg_CallbacksSuccessValue_Params> params( 494 std::unique_ptr<IndexedDBMsg_CallbacksSuccessValue_Params> params(
494 new IndexedDBMsg_CallbacksSuccessValue_Params()); 495 new IndexedDBMsg_CallbacksSuccessValue_Params());
495 params->ipc_thread_id = ipc_thread_id_; 496 params->ipc_thread_id = ipc_thread_id_;
496 params->ipc_callbacks_id = ipc_callbacks_id_; 497 params->ipc_callbacks_id = ipc_callbacks_id_;
497 if (value && value->primary_key.IsValid()) { 498 if (value && value->primary_key.IsValid()) {
498 params->value.primary_key = value->primary_key; 499 params->value.primary_key = value->primary_key;
499 params->value.key_path = value->key_path; 500 params->value.key_path = value->key_path;
500 } 501 }
501 if (value && !value->empty()) 502 if (value && !value->empty())
(...skipping 15 matching lines...) Expand all
517 } 518 }
518 519
519 void IndexedDBCallbacks::OnSuccessArray( 520 void IndexedDBCallbacks::OnSuccessArray(
520 std::vector<IndexedDBReturnValue>* values, 521 std::vector<IndexedDBReturnValue>* values,
521 const IndexedDBKeyPath& key_path) { 522 const IndexedDBKeyPath& key_path) {
522 DCHECK(dispatcher_host_.get()); 523 DCHECK(dispatcher_host_.get());
523 524
524 DCHECK_EQ(kNoTransaction, host_transaction_id_); 525 DCHECK_EQ(kNoTransaction, host_transaction_id_);
525 DCHECK_EQ(kNoDatabase, ipc_database_id_); 526 DCHECK_EQ(kNoDatabase, ipc_database_id_);
526 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 527 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
527 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_info_.status); 528 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
528 529
529 std::unique_ptr<IndexedDBMsg_CallbacksSuccessArray_Params> params( 530 std::unique_ptr<IndexedDBMsg_CallbacksSuccessArray_Params> params(
530 new IndexedDBMsg_CallbacksSuccessArray_Params()); 531 new IndexedDBMsg_CallbacksSuccessArray_Params());
531 params->ipc_thread_id = ipc_thread_id_; 532 params->ipc_thread_id = ipc_thread_id_;
532 params->ipc_callbacks_id = ipc_callbacks_id_; 533 params->ipc_callbacks_id = ipc_callbacks_id_;
533 params->values.resize(values->size()); 534 params->values.resize(values->size());
534 535
535 bool found_blob_info = false; 536 bool found_blob_info = false;
536 for (size_t i = 0; i < values->size(); ++i) { 537 for (size_t i = 0; i < values->size(); ++i) {
537 IndexedDBMsg_ReturnValue& pvalue = params->values[i]; 538 IndexedDBMsg_ReturnValue& pvalue = params->values[i];
(...skipping 23 matching lines...) Expand all
561 dispatcher_host_ = NULL; 562 dispatcher_host_ = NULL;
562 } 563 }
563 564
564 void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& value) { 565 void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& value) {
565 DCHECK(dispatcher_host_.get()); 566 DCHECK(dispatcher_host_.get());
566 567
567 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 568 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
568 DCHECK_EQ(kNoTransaction, host_transaction_id_); 569 DCHECK_EQ(kNoTransaction, host_transaction_id_);
569 DCHECK_EQ(kNoDatabase, ipc_database_id_); 570 DCHECK_EQ(kNoDatabase, ipc_database_id_);
570 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 571 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
571 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_info_.status); 572 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
572 573
573 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessIndexedDBKey( 574 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessIndexedDBKey(
574 ipc_thread_id_, ipc_callbacks_id_, value)); 575 ipc_thread_id_, ipc_callbacks_id_, value));
575 dispatcher_host_ = NULL; 576 dispatcher_host_ = NULL;
576 } 577 }
577 578
578 void IndexedDBCallbacks::OnSuccess(int64_t value) { 579 void IndexedDBCallbacks::OnSuccess(int64_t value) {
579 DCHECK(dispatcher_host_.get()); 580 DCHECK(dispatcher_host_.get());
580 581
581 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 582 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
582 DCHECK_EQ(kNoTransaction, host_transaction_id_); 583 DCHECK_EQ(kNoTransaction, host_transaction_id_);
583 DCHECK_EQ(kNoDatabase, ipc_database_id_); 584 DCHECK_EQ(kNoDatabase, ipc_database_id_);
584 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 585 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
585 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_info_.status); 586 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
586 587
587 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessInteger( 588 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessInteger(
588 ipc_thread_id_, ipc_callbacks_id_, value)); 589 ipc_thread_id_, ipc_callbacks_id_, value));
589 dispatcher_host_ = NULL; 590 dispatcher_host_ = NULL;
590 } 591 }
591 592
592 void IndexedDBCallbacks::OnSuccess() { 593 void IndexedDBCallbacks::OnSuccess() {
593 DCHECK(dispatcher_host_.get()); 594 DCHECK(dispatcher_host_.get());
594 595
595 DCHECK_EQ(kNoCursor, ipc_cursor_id_); 596 DCHECK_EQ(kNoCursor, ipc_cursor_id_);
596 DCHECK_EQ(kNoTransaction, host_transaction_id_); 597 DCHECK_EQ(kNoTransaction, host_transaction_id_);
597 DCHECK_EQ(kNoDatabase, ipc_database_id_); 598 DCHECK_EQ(kNoDatabase, ipc_database_id_);
598 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); 599 DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_);
599 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_info_.status); 600 DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_);
600 601
601 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessUndefined( 602 dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessUndefined(
602 ipc_thread_id_, ipc_callbacks_id_)); 603 ipc_thread_id_, ipc_callbacks_id_));
603 dispatcher_host_ = NULL; 604 dispatcher_host_ = NULL;
604 } 605 }
605 606
606 void IndexedDBCallbacks::SetConnectionOpenStartTime( 607 void IndexedDBCallbacks::SetConnectionOpenStartTime(
607 const base::TimeTicks& start_time) { 608 const base::TimeTicks& start_time) {
608 connection_open_start_time_ = start_time; 609 connection_open_start_time_ = start_time;
609 } 610 }
610 611
611 } // namespace content 612 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698