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

Side by Side Diff: chrome/browser/sync/glue/sync_backend_host.cc

Issue 18132003: [Sync] Trigger unapply + getupdates for persistence errors (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Self review Created 7 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 | 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 "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 #include "chrome/browser/sync/glue/sync_backend_host.h" 7 #include "chrome/browser/sync/glue/sync_backend_host.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <map> 10 #include <map>
(...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 syncer::ModelTypeSet previous_types = registrar_->GetLastConfiguredTypes(); 720 syncer::ModelTypeSet previous_types = registrar_->GetLastConfiguredTypes();
721 721
722 syncer::ModelTypeSet disabled_types = 722 syncer::ModelTypeSet disabled_types =
723 GetDataTypesInState(DISABLED, config_state_map); 723 GetDataTypesInState(DISABLED, config_state_map);
724 syncer::ModelTypeSet fatal_types = 724 syncer::ModelTypeSet fatal_types =
725 GetDataTypesInState(FATAL, config_state_map); 725 GetDataTypesInState(FATAL, config_state_map);
726 syncer::ModelTypeSet crypto_types = 726 syncer::ModelTypeSet crypto_types =
727 GetDataTypesInState(CRYPTO, config_state_map); 727 GetDataTypesInState(CRYPTO, config_state_map);
728 disabled_types.PutAll(fatal_types); 728 disabled_types.PutAll(fatal_types);
729 disabled_types.PutAll(crypto_types); 729 disabled_types.PutAll(crypto_types);
730 syncer::ModelTypeSet active_types =
731 GetDataTypesInState(CONFIGURE_ACTIVE, config_state_map);
732 syncer::ModelTypeSet clean_first_types =
733 GetDataTypesInState(CONFIGURE_CLEAN, config_state_map);
730 syncer::ModelTypeSet types_to_download = registrar_->ConfigureDataTypes( 734 syncer::ModelTypeSet types_to_download = registrar_->ConfigureDataTypes(
731 GetDataTypesInState(CONFIGURE_ACTIVE, config_state_map), 735 syncer::Union(active_types, clean_first_types),
732 disabled_types); 736 disabled_types);
737 types_to_download.PutAll(clean_first_types);
tim (not reviewing) 2013/07/01 21:10:18 In what cases does the registrar decide to remove
Nicolas Zea 2013/07/01 23:27:45 I'm not sure I understand the question? The regist
tim (not reviewing) 2013/07/02 18:54:18 I guess it wasn't clear what was happening with cl
733 types_to_download.RemoveAll(syncer::ProxyTypes()); 738 types_to_download.RemoveAll(syncer::ProxyTypes());
734 if (!types_to_download.Empty()) 739 if (!types_to_download.Empty())
735 types_to_download.Put(syncer::NIGORI); 740 types_to_download.Put(syncer::NIGORI);
736 741
737 // TODO(sync): crbug.com/137550. 742 // TODO(sync): crbug.com/137550.
738 // It's dangerous to configure types that have progress markers. Types with 743 // It's dangerous to configure types that have progress markers. Types with
739 // progress markers can trigger a MIGRATION_DONE response. We are not 744 // progress markers can trigger a MIGRATION_DONE response. We are not
740 // prepared to handle a migration during a configure, so we must ensure that 745 // prepared to handle a migration during a configure, so we must ensure that
741 // all our types_to_download actually contain no data before we sync them. 746 // all our types_to_download actually contain no data before we sync them.
742 // 747 //
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
782 // - Types which have encountered a cryptographer error (crypto_types) are 787 // - Types which have encountered a cryptographer error (crypto_types) are
783 // unapplied (local state is purged but sync state is not). 788 // unapplied (local state is purged but sync state is not).
784 // - All other types not in the routing info (types just disabled) are deleted 789 // - All other types not in the routing info (types just disabled) are deleted
785 // from the directory. 790 // from the directory.
786 // - Everything else (enabled types and already disabled types) is not 791 // - Everything else (enabled types and already disabled types) is not
787 // touched. 792 // touched.
788 RequestConfigureSyncer(reason, 793 RequestConfigureSyncer(reason,
789 types_to_download, 794 types_to_download,
790 types_to_purge, 795 types_to_purge,
791 fatal_types, 796 fatal_types,
792 crypto_types, 797 syncer::Union(crypto_types, clean_first_types),
793 inactive_types, 798 inactive_types,
794 routing_info, 799 routing_info,
795 ready_task, 800 ready_task,
796 retry_callback); 801 retry_callback);
797 } 802 }
798 803
799 void SyncBackendHost::EnableEncryptEverything() { 804 void SyncBackendHost::EnableEncryptEverything() {
800 sync_thread_.message_loop()->PostTask(FROM_HERE, 805 sync_thread_.message_loop()->PostTask(FROM_HERE,
801 base::Bind(&SyncBackendHost::Core::DoEnableEncryptEverything, 806 base::Bind(&SyncBackendHost::Core::DoEnableEncryptEverything,
802 core_.get())); 807 core_.get()));
(...skipping 934 matching lines...) Expand 10 before | Expand all | Expand 10 after
1737 DVLOG(1) << "Connection status changed: " 1742 DVLOG(1) << "Connection status changed: "
1738 << syncer::ConnectionStatusToString(status); 1743 << syncer::ConnectionStatusToString(status);
1739 frontend_->OnConnectionStatusChange(status); 1744 frontend_->OnConnectionStatusChange(status);
1740 } 1745 }
1741 1746
1742 #undef SDVLOG 1747 #undef SDVLOG
1743 1748
1744 #undef SLOG 1749 #undef SLOG
1745 1750
1746 } // namespace browser_sync 1751 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698