| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/sync/test/fake_server/fake_server.h" | 5 #include "components/sync/test/fake_server/fake_server.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 363 string FakeServer::CommitEntity( | 363 string FakeServer::CommitEntity( |
| 364 const sync_pb::SyncEntity& client_entity, | 364 const sync_pb::SyncEntity& client_entity, |
| 365 sync_pb::CommitResponse_EntryResponse* entry_response, | 365 sync_pb::CommitResponse_EntryResponse* entry_response, |
| 366 const string& client_guid, | 366 const string& client_guid, |
| 367 const string& parent_id) { | 367 const string& parent_id) { |
| 368 if (client_entity.version() == 0 && client_entity.deleted()) { | 368 if (client_entity.version() == 0 && client_entity.deleted()) { |
| 369 return string(); | 369 return string(); |
| 370 } | 370 } |
| 371 | 371 |
| 372 std::unique_ptr<FakeServerEntity> entity; | 372 std::unique_ptr<FakeServerEntity> entity; |
| 373 syncer::ModelType type = GetModelType(client_entity); |
| 373 if (client_entity.deleted()) { | 374 if (client_entity.deleted()) { |
| 374 entity = TombstoneEntity::Create(client_entity.id_string(), | 375 entity = TombstoneEntity::Create(client_entity.id_string(), |
| 375 client_entity.client_defined_unique_tag()); | 376 client_entity.client_defined_unique_tag()); |
| 376 DeleteChildren(client_entity.id_string()); | 377 DeleteChildren(client_entity.id_string()); |
| 377 } else if (GetModelType(client_entity) == syncer::NIGORI) { | 378 } else if (type == syncer::NIGORI) { |
| 378 // NIGORI is the only permanent item type that should be updated by the | 379 // NIGORI is the only permanent item type that should be updated by the |
| 379 // client. | 380 // client. |
| 380 EntityMap::const_iterator iter = entities_.find(client_entity.id_string()); | 381 EntityMap::const_iterator iter = entities_.find(client_entity.id_string()); |
| 381 CHECK(iter != entities_.end()); | 382 CHECK(iter != entities_.end()); |
| 382 entity = PermanentEntity::CreateUpdatedNigoriEntity(client_entity, | 383 entity = PermanentEntity::CreateUpdatedNigoriEntity(client_entity, |
| 383 *iter->second); | 384 *iter->second); |
| 384 } else if (client_entity.has_client_defined_unique_tag()) { | 385 } else if (type == syncer::BOOKMARKS) { |
| 385 entity = UniqueClientEntity::Create(client_entity); | |
| 386 } else { | |
| 387 // TODO(pvalenzuela): Validate entity's parent ID. | 386 // TODO(pvalenzuela): Validate entity's parent ID. |
| 388 EntityMap::const_iterator iter = entities_.find(client_entity.id_string()); | 387 EntityMap::const_iterator iter = entities_.find(client_entity.id_string()); |
| 389 if (iter != entities_.end()) { | 388 if (iter != entities_.end()) { |
| 390 entity = BookmarkEntity::CreateUpdatedVersion(client_entity, | 389 entity = BookmarkEntity::CreateUpdatedVersion(client_entity, |
| 391 *iter->second, parent_id); | 390 *iter->second, parent_id); |
| 392 } else { | 391 } else { |
| 393 entity = BookmarkEntity::CreateNew(client_entity, parent_id, client_guid); | 392 entity = BookmarkEntity::CreateNew(client_entity, parent_id, client_guid); |
| 394 } | 393 } |
| 395 } | 394 } else { |
| 396 | 395 entity = UniqueClientEntity::Create(client_entity); |
| 397 if (!entity) { | |
| 398 // TODO(pvalenzuela): Add logging so that it is easier to determine why | |
| 399 // creation failed. | |
| 400 return string(); | |
| 401 } | 396 } |
| 402 | 397 |
| 403 const std::string id = entity->id(); | 398 const std::string id = entity->id(); |
| 404 SaveEntity(std::move(entity)); | 399 SaveEntity(std::move(entity)); |
| 405 BuildEntryResponseForSuccessfulCommit(id, entry_response); | 400 BuildEntryResponseForSuccessfulCommit(id, entry_response); |
| 406 return id; | 401 return id; |
| 407 } | 402 } |
| 408 | 403 |
| 409 void FakeServer::BuildEntryResponseForSuccessfulCommit( | 404 void FakeServer::BuildEntryResponseForSuccessfulCommit( |
| 410 const std::string& entity_id, | 405 const std::string& entity_id, |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 701 DCHECK(thread_checker_.CalledOnValidThread()); | 696 DCHECK(thread_checker_.CalledOnValidThread()); |
| 702 return weak_ptr_factory_.GetWeakPtr(); | 697 return weak_ptr_factory_.GetWeakPtr(); |
| 703 } | 698 } |
| 704 | 699 |
| 705 std::string FakeServer::GetStoreBirthday() const { | 700 std::string FakeServer::GetStoreBirthday() const { |
| 706 DCHECK(thread_checker_.CalledOnValidThread()); | 701 DCHECK(thread_checker_.CalledOnValidThread()); |
| 707 return base::Int64ToString(store_birthday_); | 702 return base::Int64ToString(store_birthday_); |
| 708 } | 703 } |
| 709 | 704 |
| 710 } // namespace fake_server | 705 } // namespace fake_server |
| OLD | NEW |