Index: content/browser/indexed_db/indexed_db_callbacks.cc |
diff --git a/content/browser/indexed_db/indexed_db_callbacks.cc b/content/browser/indexed_db/indexed_db_callbacks.cc |
index 755551cec89e445f9bf1ddc2b25e9130aed34b17..b02794171eb33551000af3629b74e1b2a0cfa1a1 100644 |
--- a/content/browser/indexed_db/indexed_db_callbacks.cc |
+++ b/content/browser/indexed_db/indexed_db_callbacks.cc |
@@ -32,7 +32,8 @@ IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host, |
ipc_cursor_id_(kNoCursor), |
host_transaction_id_(kNoTransaction), |
ipc_database_id_(kNoDatabase), |
- ipc_database_callbacks_id_(kNoDatabaseCallbacks) {} |
+ ipc_database_callbacks_id_(kNoDatabaseCallbacks), |
+ data_loss_(blink::WebIDBDataLossNone) {} |
IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host, |
int32 ipc_thread_id, |
@@ -44,7 +45,8 @@ IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host, |
ipc_cursor_id_(ipc_cursor_id), |
host_transaction_id_(kNoTransaction), |
ipc_database_id_(kNoDatabase), |
- ipc_database_callbacks_id_(kNoDatabaseCallbacks) {} |
+ ipc_database_callbacks_id_(kNoDatabaseCallbacks), |
+ data_loss_(blink::WebIDBDataLossNone) {} |
IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host, |
int32 ipc_thread_id, |
@@ -59,7 +61,8 @@ IndexedDBCallbacks::IndexedDBCallbacks(IndexedDBDispatcherHost* dispatcher_host, |
host_transaction_id_(host_transaction_id), |
origin_url_(origin_url), |
ipc_database_id_(kNoDatabase), |
- ipc_database_callbacks_id_(ipc_database_callbacks_id) {} |
+ ipc_database_callbacks_id_(ipc_database_callbacks_id), |
+ data_loss_(blink::WebIDBDataLossNone) {} |
IndexedDBCallbacks::~IndexedDBCallbacks() {} |
@@ -78,6 +81,7 @@ void IndexedDBCallbacks::OnSuccess(const std::vector<base::string16>& value) { |
DCHECK_EQ(kNoTransaction, host_transaction_id_); |
DCHECK_EQ(kNoDatabase, ipc_database_id_); |
DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
+ DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); |
std::vector<base::string16> list; |
for (unsigned i = 0; i < value.size(); ++i) |
@@ -101,12 +105,17 @@ void IndexedDBCallbacks::OnBlocked(int64 existing_version) { |
ipc_thread_id_, ipc_callbacks_id_, existing_version)); |
} |
+void IndexedDBCallbacks::OnDataLoss(blink::WebIDBDataLoss data_loss, |
+ std::string data_loss_message) { |
+ DCHECK_NE(blink::WebIDBDataLossNone, data_loss); |
+ data_loss_ = data_loss; |
+ data_loss_message_ = data_loss_message; |
+} |
+ |
void IndexedDBCallbacks::OnUpgradeNeeded( |
int64 old_version, |
scoped_ptr<IndexedDBConnection> connection, |
- const IndexedDBDatabaseMetadata& metadata, |
- blink::WebIDBDataLoss data_loss, |
- std::string data_loss_message) { |
+ const IndexedDBDatabaseMetadata& metadata) { |
DCHECK(dispatcher_host_.get()); |
DCHECK_EQ(kNoCursor, ipc_cursor_id_); |
@@ -127,8 +136,8 @@ void IndexedDBCallbacks::OnUpgradeNeeded( |
params.ipc_database_callbacks_id = ipc_database_callbacks_id_; |
params.old_version = old_version; |
params.idb_metadata = IndexedDBDispatcherHost::ConvertMetadata(metadata); |
- params.data_loss = data_loss; |
- params.data_loss_message = data_loss_message; |
+ params.data_loss = data_loss_; |
+ params.data_loss_message = data_loss_message_; |
dispatcher_host_->Send(new IndexedDBMsg_CallbacksUpgradeNeeded(params)); |
} |
@@ -169,6 +178,7 @@ void IndexedDBCallbacks::OnSuccess(scoped_refptr<IndexedDBCursor> cursor, |
DCHECK_EQ(kNoTransaction, host_transaction_id_); |
DCHECK_EQ(kNoDatabase, ipc_database_id_); |
DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
+ DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); |
int32 ipc_object_id = dispatcher_host_->Add(cursor.get()); |
IndexedDBMsg_CallbacksSuccessIDBCursor_Params params; |
@@ -195,6 +205,7 @@ void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& key, |
DCHECK_EQ(kNoTransaction, host_transaction_id_); |
DCHECK_EQ(kNoDatabase, ipc_database_id_); |
DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
+ DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); |
IndexedDBCursor* idb_cursor = |
dispatcher_host_->GetCursorFromId(ipc_cursor_id_); |
@@ -230,6 +241,7 @@ void IndexedDBCallbacks::OnSuccessWithPrefetch( |
DCHECK_EQ(kNoTransaction, host_transaction_id_); |
DCHECK_EQ(kNoDatabase, ipc_database_id_); |
DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
+ DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); |
std::vector<IndexedDBKey> msgKeys; |
std::vector<IndexedDBKey> msgPrimaryKeys; |
@@ -260,6 +272,7 @@ void IndexedDBCallbacks::OnSuccess(std::string* value, |
DCHECK_EQ(kNoTransaction, host_transaction_id_); |
DCHECK_EQ(kNoDatabase, ipc_database_id_); |
DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
+ DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); |
std::string value_copy; |
if (value && !value->empty()) |
@@ -282,6 +295,7 @@ void IndexedDBCallbacks::OnSuccess(std::string* value) { |
DCHECK_EQ(kNoTransaction, host_transaction_id_); |
DCHECK_EQ(kNoDatabase, ipc_database_id_); |
DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
+ DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); |
std::string value_copy; |
if (value && !value->empty()) |
@@ -302,6 +316,7 @@ void IndexedDBCallbacks::OnSuccess(const IndexedDBKey& value) { |
DCHECK_EQ(kNoTransaction, host_transaction_id_); |
DCHECK_EQ(kNoDatabase, ipc_database_id_); |
DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
+ DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); |
dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessIndexedDBKey( |
ipc_thread_id_, ipc_callbacks_id_, value)); |
@@ -315,6 +330,7 @@ void IndexedDBCallbacks::OnSuccess(int64 value) { |
DCHECK_EQ(kNoTransaction, host_transaction_id_); |
DCHECK_EQ(kNoDatabase, ipc_database_id_); |
DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
+ DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); |
dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessInteger( |
ipc_thread_id_, ipc_callbacks_id_, value)); |
@@ -328,6 +344,7 @@ void IndexedDBCallbacks::OnSuccess() { |
DCHECK_EQ(kNoTransaction, host_transaction_id_); |
DCHECK_EQ(kNoDatabase, ipc_database_id_); |
DCHECK_EQ(kNoDatabaseCallbacks, ipc_database_callbacks_id_); |
+ DCHECK_EQ(blink::WebIDBDataLossNone, data_loss_); |
dispatcher_host_->Send(new IndexedDBMsg_CallbacksSuccessUndefined( |
ipc_thread_id_, ipc_callbacks_id_)); |