summaryrefslogtreecommitdiffstats
path: root/sync/sync.gyp
diff options
context:
space:
mode:
authorrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-31 22:32:46 +0000
committerrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-31 22:32:46 +0000
commit41b89266ea2cdc7e93ee20ffaba945bdb7680d1b (patch)
tree2353d6fc1269f72a3ebcc85e604c5a562edf87fd /sync/sync.gyp
parent16350fc17d592a88118b97993f33d67840cc2205 (diff)
downloadchromium_src-41b89266ea2cdc7e93ee20ffaba945bdb7680d1b.zip
chromium_src-41b89266ea2cdc7e93ee20ffaba945bdb7680d1b.tar.gz
chromium_src-41b89266ea2cdc7e93ee20ffaba945bdb7680d1b.tar.bz2
sync: Introduce control data types
The Nigori node has always been treated specially. It is downloaded during early sync initialization. It has custom encryption, update application, and conflict resolution logic. It is not user-selectable, but is instead always implicitly enabled. This patch replaces a lot of if (NIGORI)' code branches and creates the infrastructure we will need to support other data types that have these properties. These types will be used to store metadata required for the normal operation of the syncer. Notable changes include: - Introduce mutually exclusive lists of control types and user types in model_type.cc. - Create an ApplyControlDataUpdates() function, which will be used to apply changes and resolve conflicts for control data types. - Add some if statements to skip processing of control data updates in the regular conflict resolution code path. - Move around some code to accomodate the above changes. Introduce apply_control_data_updates_unittest.cc and conflict_util.cc - Have SyncBackendHost download all control types during init, not just the NIGORI. - Introduce a PurgeForMigration() function on the DataTypeManagerImpl class to support migration of control data types. This replaces ConfigureWithoutNigori(), which would not have scaled well as additional control data types were addded. - Modify the encryption logic so that only user types may be set to be encrypted. The Nigori is no longer expected to be in the set of encrypted types, though it is no less encrypted than it was before this change. - Use the list of user types to help calculate the list of registered sync prefs. BUG=122825,111297 Review URL: https://chromiumcodereview.appspot.com/10832286 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154522 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/sync.gyp')
-rw-r--r--sync/sync.gyp9
1 files changed, 7 insertions, 2 deletions
diff --git a/sync/sync.gyp b/sync/sync.gyp
index 369605b..a5a9e80 100644
--- a/sync/sync.gyp
+++ b/sync/sync.gyp
@@ -73,6 +73,8 @@
'internal_api/public/util/weak_handle.h',
'engine/all_status.cc',
'engine/all_status.h',
+ 'engine/apply_control_data_updates.cc',
+ 'engine/apply_control_data_updates.h',
'engine/apply_updates_command.cc',
'engine/apply_updates_command.h',
'engine/backoff_delay_provider.cc',
@@ -83,6 +85,8 @@
'engine/commit.h',
'engine/conflict_resolver.cc',
'engine/conflict_resolver.h',
+ 'engine/conflict_util.cc',
+ 'engine/conflict_util.h',
'engine/download_updates_command.cc',
'engine/download_updates_command.h',
'engine/get_commit_ids_command.cc',
@@ -582,6 +586,7 @@
'internal_api/public/base/model_type_state_map_unittest.cc',
'internal_api/public/engine/model_safe_worker_unittest.cc',
'internal_api/public/util/immutable_unittest.cc',
+ 'engine/apply_control_data_updates_unittest.cc',
'engine/apply_updates_command_unittest.cc',
'engine/backoff_delay_provider_unittest.cc',
'engine/build_commit_command_unittest.cc',
@@ -590,10 +595,10 @@
'engine/process_commit_response_command_unittest.cc',
'engine/process_updates_command_unittest.cc',
'engine/resolve_conflicts_command_unittest.cc',
- 'engine/syncer_proto_util_unittest.cc',
- 'engine/syncer_unittest.cc',
'engine/sync_scheduler_unittest.cc',
'engine/sync_scheduler_whitebox_unittest.cc',
+ 'engine/syncer_proto_util_unittest.cc',
+ 'engine/syncer_unittest.cc',
'engine/throttled_data_type_tracker_unittest.cc',
'engine/traffic_recorder_unittest.cc',
'engine/verify_updates_command_unittest.cc',