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

Unified Diff: components/sync/model/fake_model_type_sync_bridge.cc

Issue 2618483003: [Sync] Introduce ModelError for USS error handling. (Closed)
Patch Set: Address comments. Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/sync/model/fake_model_type_sync_bridge.h ('k') | components/sync/model/mock_model_type_store.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/sync/model/fake_model_type_sync_bridge.cc
diff --git a/components/sync/model/fake_model_type_sync_bridge.cc b/components/sync/model/fake_model_type_sync_bridge.cc
index a3c01918523f9fb89b9ffc2544e4ea397aacc089..957dfd486ade4286ed017e395d43579ad3df7ffe 100644
--- a/components/sync/model/fake_model_type_sync_bridge.cc
+++ b/components/sync/model/fake_model_type_sync_bridge.cc
@@ -9,6 +9,7 @@
#include "base/bind.h"
#include "base/memory/ptr_util.h"
#include "components/sync/base/hash_util.h"
+#include "components/sync/model/model_error.h"
#include "components/sync/model/mutable_data_batch.h"
#include "components/sync/model_impl/in_memory_metadata_change_list.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -198,14 +199,14 @@ FakeModelTypeSyncBridge::CreateMetadataChangeList() {
return base::MakeUnique<TestMetadataChangeList>();
}
-SyncError FakeModelTypeSyncBridge::MergeSyncData(
+ModelError FakeModelTypeSyncBridge::MergeSyncData(
std::unique_ptr<MetadataChangeList> metadata_changes,
EntityDataMap data_map) {
- if (bridge_error_.IsSet()) {
- SyncError error = bridge_error_;
- bridge_error_ = SyncError();
- return error;
+ if (error_next_) {
+ error_next_ = false;
+ return ModelError(FROM_HERE, "boom");
}
+
// Commit any local entities that aren't being overwritten by the server.
for (const auto& kv : db_->all_data()) {
if (data_map.find(kv.first) == data_map.end()) {
@@ -218,17 +219,17 @@ SyncError FakeModelTypeSyncBridge::MergeSyncData(
db_->PutData(kv.first, kv.second.value());
}
ApplyMetadataChangeList(std::move(metadata_changes));
- return SyncError();
+ return ModelError();
}
-SyncError FakeModelTypeSyncBridge::ApplySyncChanges(
+ModelError FakeModelTypeSyncBridge::ApplySyncChanges(
std::unique_ptr<MetadataChangeList> metadata_changes,
EntityChangeList entity_changes) {
- if (bridge_error_.IsSet()) {
- SyncError error = bridge_error_;
- bridge_error_ = SyncError();
- return error;
+ if (error_next_) {
+ error_next_ = false;
+ return ModelError(FROM_HERE, "boom");
}
+
for (const EntityChange& change : entity_changes) {
switch (change.type()) {
case EntityChange::ACTION_ADD:
@@ -246,7 +247,7 @@ SyncError FakeModelTypeSyncBridge::ApplySyncChanges(
}
}
ApplyMetadataChangeList(std::move(metadata_changes));
- return SyncError();
+ return ModelError();
}
void FakeModelTypeSyncBridge::ApplyMetadataChangeList(
@@ -281,9 +282,9 @@ void FakeModelTypeSyncBridge::ApplyMetadataChangeList(
void FakeModelTypeSyncBridge::GetData(StorageKeyList keys,
DataCallback callback) {
- if (bridge_error_.IsSet()) {
- callback.Run(bridge_error_, nullptr);
- bridge_error_ = SyncError();
+ if (error_next_) {
+ error_next_ = false;
+ change_processor()->ReportError(FROM_HERE, "boom");
return;
}
@@ -292,13 +293,13 @@ void FakeModelTypeSyncBridge::GetData(StorageKeyList keys,
DCHECK(db_->HasData(key)) << "No data for " << key;
batch->Put(key, CopyEntityData(db_->GetData(key)));
}
- callback.Run(SyncError(), std::move(batch));
+ callback.Run(std::move(batch));
}
void FakeModelTypeSyncBridge::GetAllData(DataCallback callback) {
- if (bridge_error_.IsSet()) {
- callback.Run(bridge_error_, nullptr);
- bridge_error_ = SyncError();
+ if (error_next_) {
+ error_next_ = false;
+ change_processor()->ReportError(FROM_HERE, "boom");
return;
}
@@ -306,7 +307,7 @@ void FakeModelTypeSyncBridge::GetAllData(DataCallback callback) {
for (const auto& kv : db_->all_data()) {
batch->Put(kv.first, CopyEntityData(*kv.second));
}
- callback.Run(SyncError(), std::move(batch));
+ callback.Run(std::move(batch));
}
std::string FakeModelTypeSyncBridge::GetClientTag(
@@ -332,13 +333,13 @@ void FakeModelTypeSyncBridge::SetConflictResolution(
base::MakeUnique<ConflictResolution>(std::move(resolution));
}
-void FakeModelTypeSyncBridge::ErrorOnNextCall(SyncError::ErrorType error_type) {
- DCHECK(!bridge_error_.IsSet());
- bridge_error_ = SyncError(FROM_HERE, error_type, "TestError", PREFERENCES);
+void FakeModelTypeSyncBridge::ErrorOnNextCall() {
+ EXPECT_FALSE(error_next_);
+ error_next_ = true;
}
void FakeModelTypeSyncBridge::CheckPostConditions() {
- DCHECK(!bridge_error_.IsSet());
+ EXPECT_FALSE(error_next_);
}
} // namespace syncer
« no previous file with comments | « components/sync/model/fake_model_type_sync_bridge.h ('k') | components/sync/model/mock_model_type_store.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698