summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/sessions
Commit message (Collapse)AuthorAgeFilesLines
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-265-0/+5
| | | | | | | | | 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
* Handle birthday errors by disabling sync and deleting sync data. Also added ↵tim@chromium.org2010-07-142-0/+9
| | | | | | | | | | some CV broadcasts in SyncerThread, as changing vault_ fields and not signalling seems dubious (and I caught a hang in the debugger where the thread was waiting for an already true condition, thus deadlocked). BUG=46807,39070 Review URL: http://codereview.chromium.org/2923006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52259 0039d316-1c4b-4281-b951-d872f2087c98
* Fix handling of undeletion within the syncer.nick@chromium.org2010-07-131-0/+3
| | | | | | | | | | | | | | | | | 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
* sync: add CleanupDisabledTypesCommand to purge data pertaining to previouslytim@chromium.org2010-07-021-0/+12
| | | | | | | | | | | | | synced data types that the user has disabled. Despite my attempt at simplifying the purge code in Directory[BackingStore], I had to go back to my first attempt with DeleteEntries (which was previously reviewed separately), with a few extra gotchas in Directory::PurgeEntriesWithTypeIn. BUG=40252 TEST=CleanupDisabledTypesCommandTest, SyncableDirectoryTest, DirectoryBackingStoreTest Review URL: http://codereview.chromium.org/2865022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51491 0039d316-1c4b-4281-b951-d872f2087c98
* Replace changes_channel with an observer list.zork@chromium.org2010-06-111-2/+2
| | | | | | | | | BUG=none TEST=Run unit tests Review URL: http://codereview.chromium.org/2075012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49490 0039d316-1c4b-4281-b951-d872f2087c98
* Update routing info and nudge syncer in ConfigureDataTypes().skrul@chromium.org2010-04-022-5/+13
| | | | | | | | | | | | | | Here is an incomplete change that will reconfigure the routing info when the DTM calls ConfigureDataTypes. Some open questions: - How will the SBH actually nudge the syncer? I can add a SyncManager::Nudge method if that makes sense. - Looking at the nudge code, it looks like it is possible for nudges to get dropped on the floor. This could be really bad since sync can't start until the syncer thread runs and downloads updates for new data types. Is there a better way to make sure the syncer thread runs at this point? Also, I changed the callback method used for the SBH to notify the DTM that downloads are ready by switching the raw CancelableTask instance with a RunnableMethod. The previous version has the DTM touching the CancelableTask pointer after it was handed over to the SBH which was bad. This should be better. Review URL: http://codereview.chromium.org/1484001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43487 0039d316-1c4b-4281-b951-d872f2087c98
* Make last_download_timestamp and initial_sync_ended per-datatype.nick@chromium.org2010-04-016-28/+105
| | | | | | | | | | | | | | | | | Persist them on a per-datatype basis. Add a migration from the old database scheme. In DownloadUpdates, pick the datatype(s) with the lowest last_download_timestamp; and fetch those. Keep running DownloadUpdatesCommand until we've gotten a "no-timestamp" result when requesting all datatypes. BUG=33065,37359,37331,37369,37373 TEST=included unit tests. Also, ran with Bookmark sync enabled, then added autofill the next time I started up, and observed that the incremental GetUpdates happened for autofill only, and that eventually the timestamps for bookmarks and autofill coalesced. Review URL: http://codereview.chromium.org/1521005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43397 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for negative routing info problem. We were replacing tokens afternick@chromium.org2010-03-261-2/+14
| | | | | | | | | | | failure multiple times. BUG=39214 TEST=included new fancy unit test Review URL: http://codereview.chromium.org/1294002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42738 0039d316-1c4b-4281-b951-d872f2087c98
* Make it clear what last_sync_timestamp actually tracks. Updatenick@chromium.org2010-03-246-44/+70
| | | | | | | | | | | | | | | | last_sync_timestamp from the new_timestamp only, never from per-entry timestamps. Use what the server sends us to know whether or not there are more updates to fetch. Eliminate some unnecessarily complicated logic having to do with the # of updates returned -- that's always a red herring; with server-side filtering, it is indeed possible for 0 updates to be returned along with a new timestamp. BUG=37373 TEST=manual testing of 2 browser sync; unit tests. Review URL: http://codereview.chromium.org/1161006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42413 0039d316-1c4b-4281-b951-d872f2087c98
* More code cleanups found by -Wextra.evan@chromium.org2010-03-092-2/+2
| | | | | | | | (I'm still waiting on a v8 change to turn this on for the whole codebase...) Review URL: http://codereview.chromium.org/746001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41080 0039d316-1c4b-4281-b951-d872f2087c98
* svn prop fixes. Applied to all files not in third_party.pkasting@chromium.org2010-03-093-0/+0
| | | | | | | | | | | | * Removed eol-style, executable and mergeinfo from BMP/GIF/ICO/JPEG files, and set correct mime-type. * Removed executable and mergeinfo from .c/.cc/.cpp/.h/.m/.mm and .gyp files, and set eol-style to LF. TBR=evanm BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40991 0039d316-1c4b-4281-b951-d872f2087c98
* Fix one valgrind bug.chron@google.com2010-03-041-1/+2
| | | | | | Review URL: http://codereview.chromium.org/668024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40584 0039d316-1c4b-4281-b951-d872f2087c98
* Multi-pass ModelChangingSyncerCommands.tim@chromium.org2010-02-258-263/+479
| | | | | | | | BUG=31911 Review URL: http://codereview.chromium.org/638001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39957 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for the Update-Client-Auth header to sync. Add a mutex to the ↵chron@google.com2010-02-172-2/+9
| | | | | | | | | | | auth token in ServerConnectionManager. TEST=manually tested using fiddler2 script. BUG=35321 Review URL: http://codereview.chromium.org/605010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39259 0039d316-1c4b-4281-b951-d872f2087c98
* For sync, make ProcessCommitResponseCommand handle commit entries one ↵tim@chromium.org2010-02-1610-156/+435
| | | | | | | | | | | | | | | ModelSafeGroup at a time. Enforce ModelSafeGroup restrictions in the StatusController by DCHECKing if out-of-bounds. Move OrderedCommitSet to its own file. Removed some unused error counters and ResetTransientState calls that were useless. BUG=31911 TEST=ProcessCommitResponseTest, OrderedCommitSetTest Review URL: http://codereview.chromium.org/604045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39139 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up client side of per-datatype GetUpdates.nick@chromium.org2010-02-112-3/+10
| | | | | | | | | | | 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
* Enable valgrind for sync tests (and fix valgrind errors)skrul@chromium.org2010-01-271-0/+1
| | | | | | | | BUG=32871 Review URL: http://codereview.chromium.org/548156 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37262 0039d316-1c4b-4281-b951-d872f2087c98
* Fix stupid mistake in sync_session.h, I thought the tests were run on ↵tim@chromium.org2010-01-221-1/+1
| | | | | | | | | | | | | mac/linux (and they were green) but they aren't. TBR=nick@chromium.org Review URL: http://codereview.chromium.org/552098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36838 0039d316-1c4b-4281-b951-d872f2087c98
* Support for multiple sync ModelSafeWorkers.tim@chromium.org2010-01-224-10/+67
| | | | | | | | | | | | | | | | | | - Introduce an equivalence class enum to group sync model types that live on the same chrome native model together. - Remove ModelSafeWorkerBridge as it is no longer needed. - Rename BookmarkModelWorker -> UIModelWorker, and make it use the new stuff. - Allow syncable entries belonging to an "unsynced" model type to be just processed "passively" from the SyncerThread (rather than dispatching), and allow this to change as a result of enable/disabling. - Experimenting with a way to complete issue 31909 (the CLASS_UNASSOCIATED stuff). BUG=31925,31911,31909 Review URL: http://codereview.chromium.org/553015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36835 0039d316-1c4b-4281-b951-d872f2087c98
* Merge protocol buffer changes from server back into client.chron@google.com2010-01-162-5/+5
| | | | | | | | | | | | | 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
* Add browser_sync 'sessions' to relieve SyncCycleState, SyncProcessState, ↵tim@chromium.org2009-11-219-0/+1522
SyncerSession, SyncerStatus, and ConflictResolutionView of duty. Main impact is factors all status munging to 'StatusController', adds SyncSessionContext to wrap various engine parts needed by different components, removes duplicated methods by a factor of ~3 making it easier to reason about, and adds a 'Controller' to the session object to give a way to delegate session-global (i.e affecting any session) occurrences such as throttling. Also adds testing for 'HasMoreToSync' and other session related code. BUG=25266 TEST=SyncSessionTest(added), StatusControllerTest(added) various sync_unit_tests in this CL Review URL: http://codereview.chromium.org/386030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32732 0039d316-1c4b-4281-b951-d872f2087c98