summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/engine/syncproto.h
Commit message (Collapse)AuthorAgeFilesLines
* [Sync] Move 'sync' target to sync/akalin@chromium.org2012-03-151-87/+0
| | | | | | | | | | | | | | | | | | | | | | Also move related test files. Move WriteNode::UpdateEntryWithEncryption to nigori_util.h. Clean up defines and dependencies. In particular, get rid of SYNC_ENGINE_VERSION_STRING and hard-code the string in the single place it's used. Rename data_encryption.* to data_encryption_win.* and add a pragma for crypt32.lib. Clean up exit-time constructor warnings in sync{able,er}_unittest.cc. Remove some unused files. BUG=117585 TEST= TBR=jhawkins@chromium.org Review URL: https://chromiumcodereview.appspot.com/9699057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126872 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Create new top-level sync/ directoryakalin@chromium.org2012-03-101-2/+2
| | | | | | | | | | | | | Move sync .proto files to sync/protocol. Update all references. This begins the Great Sync Migration. BUG=117585,43624 TEST= Review URL: https://chromiumcodereview.appspot.com/9668028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125967 0039d316-1c4b-4281-b951-d872f2087c98
* Implement new SyncAPI and convert Preferences to it.zea@chromium.org2011-05-231-4/+1
| | | | | | | | | BUG=76232 TEST=Everything sync. Review URL: http://codereview.chromium.org/6995008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86357 0039d316-1c4b-4281-b951-d872f2087c98
* Reconcile sync.proto client/server diffs.nick@chromium.org2010-10-071-1/+0
| | | | | | | | | BUG=58217 TEST=sync_integration_tests Review URL: http://codereview.chromium.org/3575017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61750 0039d316-1c4b-4281-b951-d872f2087c98
* Implements the backend for clearing data from the servertim@chromium.org2010-09-081-0/+1
| | | | | | | | | | | | BUG=54280 TEST=accessible only via unit test checked in this CL Original patch by raz@chromium.org Original review: http://codereview.chromium.org/3293007 Review URL: http://codereview.chromium.org/3310018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58859 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Fix handling of undeletion within the syncer.nick@chromium.org2010-07-131-0/+8
| | | | | | | | | | | | | | | | | Accomplished by: (a) Plumbing the const CommitMessage into process_commit_response_command.cc, so that we can know the server state better (IS_DEL is no longer authoritative if ! which spilled over into a couple test expectations. (b) Relaxing the enforced invariants that version==0 implied !ServerKnows, for items with client tags. (c) Use ID renaming instead of delete/recreate to handle collisions on the unique tag. (d) Upon deletion, version number goes to 0 so that the server knows to process the item as a recreate, if it gets undeleted. Previously, the server number would get synthesized on the client by incrementing the last known version number. (e) Add unit tests for pretty much every ordering of delete/undelete I could come up with. BUG=46769 TEST=unit tests; repeatedly uninstalled/installed extensions Review URL: http://codereview.chromium.org/2844037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52209 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land the protocol extension for syncing passwords patch.albertb@chromium.org2010-05-071-0/+1
| | | | | | | | | BUG=34176 TEST=none Review URL: http://codereview.chromium.org/2024006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46747 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Protocol extension for syncing passwords."albertb@chromium.org2010-05-071-1/+0
| | | | | | | | | | This reverts commit 4ab711db8ace2106fea6a95e12d2da6fbe4f78f7. TBR=tommi Review URL: http://codereview.chromium.org/2014004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46723 0039d316-1c4b-4281-b951-d872f2087c98
* Protocol extension for syncing passwords.albertb@chromium.org2010-05-071-0/+1
| | | | | | | | | BUG=34176 TEST=none Review URL: http://codereview.chromium.org/1794009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46720 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up client side of per-datatype GetUpdates.nick@chromium.org2010-02-111-22/+1
| | | | | | | | | | | Which datatypes are fetched is dictated by the ModelSafeRoutingInfo. We change the semantic of the ModelSafeRoutingInfo so that datatypes which should not be synced are not in the map. We will do GetUpdates for GROUP_PASSIVE datatypes. BUG=29905 TEST=included unit tests Review URL: http://codereview.chromium.org/594024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38726 0039d316-1c4b-4281-b951-d872f2087c98
* Added UNIQUE_CLIENT_TAG to sync engine. Added some syncapi unit tests. Added ↵chron@google.com2010-02-091-1/+1
| | | | | | | | | | | | | | new index to syncable. Added new DB col to syncable. Renamed singleton tag to UNIQUE_CLIENT_TAG. Added syncapi layer support for unique client tags. Hooked up wire protocol to use this index. Downintegrate of sync.proto from trunk. TEST=unit tests included BUG=32636 Review URL: http://codereview.chromium.org/558015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38518 0039d316-1c4b-4281-b951-d872f2087c98
* Sync api changes to support preferences.albertb@google.com2010-02-021-0/+4
| | | | | | | | | BUG=34174 TEST=none Review URL: http://codereview.chromium.org/561010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37865 0039d316-1c4b-4281-b951-d872f2087c98
* In the sync database, use protobuf-based storage. Drop the oldnick@chromium.org2010-01-271-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | bookmark-only columns. Add getters and setters for BookmarkSpecifics to syncapi as well as syncable entries. Make the datatype be a required property when creating a syncapi node. Add a datatype for the 'google chrome' top level folder. Add database migrations from version 67 to the new schema. Add infrastructure to support migrations generically. Add unit tests for the migrations. Pull a new version of the protobuf library to pick up a fix for a bug that this change exposed (I upstreamed the fix). Fix some example code in the sql helpers so that it would actually compile. BUG=29899,30041 TEST=New unit tests for migrations: unit tests are based on actual database dumps. Additionally, I manually tested 2-client sync using combos of old-protocol servers, new-protocol servers, and initial database versions v67, v68, and v0 (new client). I manually verified that add/edit/delete works in these combination cases. Afterwards I verified (by inspecting the sync databases) that the ModelTypes are consistent across the various migration/protocol paths. Review URL: http://codereview.chromium.org/554066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37253 0039d316-1c4b-4281-b951-d872f2087c98
* Merge protocol buffer changes from server back into client.chron@google.com2010-01-161-1/+2
| | | | | | | | | | | | | Use new style protocol in addition to old style protocol when talking to the server in preparation for new data type synchronization. original patch from issue 487011 TEST=manually tested old client new client new server mixes BUG=30032 Review URL: http://codereview.chromium.org/549029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36444 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/201087idana@chromium.org2009-09-111-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26048 0039d316-1c4b-4281-b951-d872f2087c98
* Initial commit of sync engine code to browser/sync.nick@chromium.org2009-09-101-0/+72
The code is not built on any platform yet. That will arrive as a subsequent checkin. This is an implementation of the interface exposed earlier through syncapi.h. It is the client side of a sync protocol that lets users sync their browser data (currently, just bookmarks) with their Google Account. Table of contents: browser/sync/ protocol - The protocol definition, and other definitions necessary to connect to the service. syncable/ - defines a data model for syncable objects, and provides a sqlite-based backing store for this model. engine/ - includes the core sync logic, including commiting changes to the server, downloading changes from the server, resolving conflicts, other parts of the sync algorithm. engine/net - parts of the sync engine focused on the business of talking to the server. Some of this is binds a generic "server connection" interface to a concrete implementation provided by Chromium. notifier - the part of the syncer focused on the business of sending and receiving xmpp notifications. Notifications are used instead of polling to achieve very low latency change propagation. util - not necessarily sync specific utility code. Much of this is scaffolding which should either be replaced by, or merged with, the utility code in base/. BUG=none TEST=this code includes its own suite of unit tests. Review URL: http://codereview.chromium.org/194065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25850 0039d316-1c4b-4281-b951-d872f2087c98