Qqsr@chromium.orgImplement a bag of chips for sync.
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Remove syncproto.h Replace sync/engine/syncproto.h with sync/syncable/syncable_proto_util.h and .cc. The tasks that used to be performed by member functions of the syncer:: proto wrapper classes are now handled by static member functions. Unfortunately, serialization and de-serialization of syncable::Id to/from proto fields has gotten a bit uglier. On the other hand, it's now much less magical and mysterious. The test intended to prevent regressions of crbug.com/134715 has been replaced with a DCHECK. We'll have to rely on it to ensure that the protocol_version field is always explicitly set. BUG=136454 TEST= Review URL: https://chromiumcodereview.appspot.com/10735041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146393 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Move sync/{internal_api,syncable} into syncer namespace Add temporary aliases from syncable::* to syncer::syncable::* for ModelType and related classes until those are ported to syncer proper. Disambiguate names in MockConnectionManager. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10699044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145211 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Update next_id when loading sync DB The directory code is smart enough to maintain a bit of extra slack in the next_id so we don't accidentally reuse IDs if we crash. However, it only works after we've saved changes to the directory at least once. This change ensures that we save changes immediately after we load the directory, so that we can recover from crashes that occur before we would otherwise save changes due to natural causes. This won't do anything to help users who've gotten into a bad state because next_id was corrupted by an early crash, but it will prevent us from corrupting databases in the future. BUG=142987 TEST=See below: Examine 'next_id' in sync DB. Open chrome and close it within two to ten seconds. Verify 'next_id' has been incremented. Review URL: https://chromiumcodereview.appspot.com/10832329 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152706 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement a bag of chips for sync. The bag of chips is a per-client state used by the server. This state is stored on the client and send back to the server on all communication. BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/10916174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156123 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement a bag of chips for sync. The bag of chips is a per-client state used by the server. This state is stored on the client and send back to the server on all communication. BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/10916174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156123 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement a bag of chips for sync. The bag of chips is a per-client state used by the server. This state is stored on the client and send back to the server on all communication. BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/10916174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156123 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement a bag of chips for sync. The bag of chips is a per-client state used by the server. This state is stored on the client and send back to the server on all communication. BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/10916174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156123 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement a bag of chips for sync. The bag of chips is a per-client state used by the server. This state is stored on the client and send back to the server on all communication. BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/10916174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156123 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Remove unneeded 'using syncer::' lines and 'syncer::' scopings Since (almost) everything in sync/ is now in the 'syncer' namespace, all of these are redundant. Clean up indentation. Put sync_{client,listen_notifications} into syncer namespace. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10795018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147675 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Remove unneeded 'using syncer::' lines and 'syncer::' scopings Since (almost) everything in sync/ is now in the 'syncer' namespace, all of these are redundant. Clean up indentation. Put sync_{client,listen_notifications} into syncer namespace. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10795018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147675 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Remove unneeded 'using syncer::' lines and 'syncer::' scopings Since (almost) everything in sync/ is now in the 'syncer' namespace, all of these are redundant. Clean up indentation. Put sync_{client,listen_notifications} into syncer namespace. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10795018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147675 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
sync: Attempt to recover from directory corruption Sync when sqlite fails to maintain databsae integrity, most likely due to unexpected shutdowns or flaky storage devices. They can also be corrupted by logic errors in the sync code, though we hope that's a rare occurence. This patch attempts to improve a user's experience in this scenario by transparently deleting the old directory and re-downloading all their data. This will be much better than the old behaviours, which included silently signing a user out of sync, triggering an unrecoverable error, or crashing. To help catch sync logic bugs, debug builds are set to crash when they detect directory corruption. Also included in this patch is a new test. The DirectoryBackingStore.MinorCorruption test exercises the code invoked when the directory is successfully re-created. BUG=109668, 129825 Review URL: https://chromiumcodereview.appspot.com/10821121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150465 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Fix SyncManager initialization failure crash. This crash was introduced in r148926, which changes SyncManager init behaviour. Previously, the SyncManager would end up with a valid SyncScheduler regardless of whether or not the initialization failed. This SyncScheduler would later play an important role in shutting down the syncer. Without a scheduler, the shutdown process crashes. The ProfileSyncServiceTest.CorruptDatabase test simulates the scenario we fail to load a sync directory. This will result in a SyncManager initialization failure. It is intended to test that this failure is handled by the ProfileSyncService, SyncBackendHost and SyncManager. BUG=139723 Review URL: https://chromiumcodereview.appspot.com/10830100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149306 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Fix SyncManager initialization failure crash. This crash was introduced in r148926, which changes SyncManager init behaviour. Previously, the SyncManager would end up with a valid SyncScheduler regardless of whether or not the initialization failed. This SyncScheduler would later play an important role in shutting down the syncer. Without a scheduler, the shutdown process crashes. The ProfileSyncServiceTest.CorruptDatabase test simulates the scenario we fail to load a sync directory. This will result in a SyncManager initialization failure. It is intended to test that this failure is handled by the ProfileSyncService, SyncBackendHost and SyncManager. BUG=139723 Review URL: https://chromiumcodereview.appspot.com/10830100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149306 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Move sync/{internal_api,syncable} into syncer namespace Add temporary aliases from syncable::* to syncer::syncable::* for ModelType and related classes until those are ported to syncer proper. Disambiguate names in MockConnectionManager. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10699044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145211 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
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 | 13 年前 | |
[Sync] Remove unneeded 'using syncer::' lines and 'syncer::' scopings Since (almost) everything in sync/ is now in the 'syncer' namespace, all of these are redundant. Clean up indentation. Put sync_{client,listen_notifications} into syncer namespace. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10795018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147675 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Remove unneeded 'using syncer::' lines and 'syncer::' scopings Since (almost) everything in sync/ is now in the 'syncer' namespace, all of these are redundant. Clean up indentation. Put sync_{client,listen_notifications} into syncer namespace. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10795018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147675 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Add SyncEncryptionHandler All sync-specific encryption state (types, encrypt everything, explicit passphrase, keys) is now tracked within the new class SyncEncryptionHandler. It's owned by the sync manager, and unifies some of the observer logic we previously had. In addition, it's capable of creating its own transactions, taking us a step closer to have a nigori datatype. In addition, we add a NigoriHandler to abstract the chrome-side of encryption from the sync visible side of encryption. BUG=139848 Review URL: https://chromiumcodereview.appspot.com/10827266 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151833 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Move keystore key handling to SyncEncryptionHandlerImpl The cryptographer has no notion of keystore keys, and we now persist the keystore key by reusing the OnBoostrapTokenUpdated method (which now takes an enum as an extra param specifying the type of token). BUG=129665 Review URL: https://chromiumcodereview.appspot.com/10878015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154007 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
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 | 13 年前 | |
[Sync] Refactor GetEncryptedTypes usage. The cryptographer is now owned by the SyncEncryptionHandlerImpl, and no longer needs any connection to the nigori handler or encrypted types. Those are accessed via the directory, which now has a GetNigoriHandler method. Because of this, we can now clean up the thread safety guarantees in the sync encryption handler impl, enforcing that everything except GetEncryptedTypes (and IsUsingExplicitPassphrase, which will be fixed in a followup patch) are invoked on the syncer thread. This lets us not have to open unnecessary transactions. At the chrome layer, encrypted types are accessed via BaseTransaction:: GetEncryptedTypes(). At the syncer layer, they're accessed via directory:: GetNigoriHandler()->GetEncryptedTypes(BaseTransaction* trans const). BUG=142476,139848 Review URL: https://chromiumcodereview.appspot.com/10844005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153335 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Move sync/{internal_api,syncable} into syncer namespace Add temporary aliases from syncable::* to syncer::syncable::* for ModelType and related classes until those are ported to syncer proper. Disambiguate names in MockConnectionManager. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10699044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145211 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Fix Sync.DirectoryOpenResult histogram This was intended to be a UMA_HISTOGRAM_ENUM. See also r150465. BUG=129825 Review URL: https://chromiumcodereview.appspot.com/10828261 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152633 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
sync: Attempt to recover from directory corruption Sync when sqlite fails to maintain databsae integrity, most likely due to unexpected shutdowns or flaky storage devices. They can also be corrupted by logic errors in the sync code, though we hope that's a rare occurence. This patch attempts to improve a user's experience in this scenario by transparently deleting the old directory and re-downloading all their data. This will be much better than the old behaviours, which included silently signing a user out of sync, triggering an unrecoverable error, or crashing. To help catch sync logic bugs, debug builds are set to crash when they detect directory corruption. Also included in this patch is a new test. The DirectoryBackingStore.MinorCorruption test exercises the code invoked when the directory is successfully re-created. BUG=109668, 129825 Review URL: https://chromiumcodereview.appspot.com/10821121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150465 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Move sync/{internal_api,syncable} into syncer namespace Add temporary aliases from syncable::* to syncer::syncable::* for ModelType and related classes until those are ported to syncer proper. Disambiguate names in MockConnectionManager. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10699044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145211 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Move sync/{internal_api,syncable} into syncer namespace Add temporary aliases from syncable::* to syncer::syncable::* for ModelType and related classes until those are ported to syncer proper. Disambiguate names in MockConnectionManager. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10699044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145211 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Move sync/{internal_api,syncable} into syncer namespace Add temporary aliases from syncable::* to syncer::syncable::* for ModelType and related classes until those are ported to syncer proper. Disambiguate names in MockConnectionManager. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10699044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145211 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Move sync/{internal_api,syncable} into syncer namespace Add temporary aliases from syncable::* to syncer::syncable::* for ModelType and related classes until those are ported to syncer proper. Disambiguate names in MockConnectionManager. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10699044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145211 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Move sync/{internal_api,syncable} into syncer namespace Add temporary aliases from syncable::* to syncer::syncable::* for ModelType and related classes until those are ported to syncer proper. Disambiguate names in MockConnectionManager. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10699044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145211 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Remove unneeded 'using syncer::' lines and 'syncer::' scopings Since (almost) everything in sync/ is now in the 'syncer' namespace, all of these are redundant. Clean up indentation. Put sync_{client,listen_notifications} into syncer namespace. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10795018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147675 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Refactor GetEncryptedTypes usage. The cryptographer is now owned by the SyncEncryptionHandlerImpl, and no longer needs any connection to the nigori handler or encrypted types. Those are accessed via the directory, which now has a GetNigoriHandler method. Because of this, we can now clean up the thread safety guarantees in the sync encryption handler impl, enforcing that everything except GetEncryptedTypes (and IsUsingExplicitPassphrase, which will be fixed in a followup patch) are invoked on the syncer thread. This lets us not have to open unnecessary transactions. At the chrome layer, encrypted types are accessed via BaseTransaction:: GetEncryptedTypes(). At the syncer layer, they're accessed via directory:: GetNigoriHandler()->GetEncryptedTypes(BaseTransaction* trans const). BUG=142476,139848 Review URL: https://chromiumcodereview.appspot.com/10844005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153335 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Refactor GetEncryptedTypes usage. The cryptographer is now owned by the SyncEncryptionHandlerImpl, and no longer needs any connection to the nigori handler or encrypted types. Those are accessed via the directory, which now has a GetNigoriHandler method. Because of this, we can now clean up the thread safety guarantees in the sync encryption handler impl, enforcing that everything except GetEncryptedTypes (and IsUsingExplicitPassphrase, which will be fixed in a followup patch) are invoked on the syncer thread. This lets us not have to open unnecessary transactions. At the chrome layer, encrypted types are accessed via BaseTransaction:: GetEncryptedTypes(). At the syncer layer, they're accessed via directory:: GetNigoriHandler()->GetEncryptedTypes(BaseTransaction* trans const). BUG=142476,139848 Review URL: https://chromiumcodereview.appspot.com/10844005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153335 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove syncproto.h Replace sync/engine/syncproto.h with sync/syncable/syncable_proto_util.h and .cc. The tasks that used to be performed by member functions of the syncer:: proto wrapper classes are now handled by static member functions. Unfortunately, serialization and de-serialization of syncable::Id to/from proto fields has gotten a bit uglier. On the other hand, it's now much less magical and mysterious. The test intended to prevent regressions of crbug.com/134715 has been replaced with a DCHECK. We'll have to rely on it to ensure that the protocol_version field is always explicitly set. BUG=136454 TEST= Review URL: https://chromiumcodereview.appspot.com/10735041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146393 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove syncproto.h Replace sync/engine/syncproto.h with sync/syncable/syncable_proto_util.h and .cc. The tasks that used to be performed by member functions of the syncer:: proto wrapper classes are now handled by static member functions. Unfortunately, serialization and de-serialization of syncable::Id to/from proto fields has gotten a bit uglier. On the other hand, it's now much less magical and mysterious. The test intended to prevent regressions of crbug.com/134715 has been replaced with a DCHECK. We'll have to rely on it to ensure that the protocol_version field is always explicitly set. BUG=136454 TEST= Review URL: https://chromiumcodereview.appspot.com/10735041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146393 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Implement a bag of chips for sync. The bag of chips is a per-client state used by the server. This state is stored on the client and send back to the server on all communication. BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/10916174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156123 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
sync: Move MarkForSyncing to mutable_entry.cc Prior to this change, the function was declared in mutable_entry.h and defined in syncable_util.cc. This was the result of an error in r143218, which split syncable.cc into several files. This commit fixes the error by moving the defintion of the function. BUG=103332 TEST= Review URL: https://chromiumcodereview.appspot.com/10696083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145252 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Move sync/{internal_api,syncable} into syncer namespace Add temporary aliases from syncable::* to syncer::syncable::* for ModelType and related classes until those are ported to syncer proper. Disambiguate names in MockConnectionManager. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10699044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145211 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Move sync/{internal_api,syncable} into syncer namespace Add temporary aliases from syncable::* to syncer::syncable::* for ModelType and related classes until those are ported to syncer proper. Disambiguate names in MockConnectionManager. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10699044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145211 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
Remove #pragma once from sync Review URL: https://chromiumcodereview.appspot.com/10700154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Move sync/{internal_api,syncable} into syncer namespace Add temporary aliases from syncable::* to syncer::syncable::* for ModelType and related classes until those are ported to syncer proper. Disambiguate names in MockConnectionManager. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10699044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145211 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 | |
[Sync] Remove unneeded 'using syncer::' lines and 'syncer::' scopings Since (almost) everything in sync/ is now in the 'syncer' namespace, all of these are redundant. Clean up indentation. Put sync_{client,listen_notifications} into syncer namespace. BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10795018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147675 0039d316-1c4b-4281-b951-d872f2087c98 | 13 年前 |