summaryrefslogtreecommitdiffstats
path: root/sync
Commit message (Collapse)AuthorAgeFilesLines
* Refactor GCMNetworkChannelDelegateImplpavely@chromium.org2014-03-063-0/+4
| | | | | | | | | | | | | | | Receiving messages from GCM needed separate object with lifetime tied to TiclInvalidationService on UI thread. This change is to replace GCMNetworkChannelDelegateImpl with pair of objects: GCMInvalidationBridge/Core. Here is object diagram for this refactoring: http://www.plantuml.com:80/plantuml/png/VPBRQiCm343VynKYZuNs0xgoXsLZ17PZxPwBwwYf5sC7nqiPs_vzbfsB4sWXuDYHZexar8nNh4H8FtBOdGoo8eMV9D67J-GMqftWCbSjaw9WLcYrHTCAZYcm1gpxvc816gvhBFQrDPix8ueIR-7WrvlahoSzPiyFBIhxhhyich60Eu_v8T_Z0uBuPsGLqO5hWmuP9xyPVHGIOw-oRhpMjEG2SDoG63rrttt-6dL_rMszpfo5BqGwC14CpZF55xHdRQhin9H2UOyIIsO3eUWsZd8j9rGBxxE93uW8iFrMF1P_4er5XMQUgaAHVKUceJY8lzR5Sjat4nRGgrMO_tIiiFaTG_r0AB3VTyf46po7dYdJ4-d2j0kP_ICNso1SXmwsLF9Iz3y0 BUG=325020 R=rlarocque@chromium.org Review URL: https://codereview.chromium.org/186623006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255337 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r254672.wtc@chromium.org2014-03-051-19/+3
| | | | | | | | | | | | | | | Replace the custom ProxyConfigServiceDirect class with the equivalent net::ProxyConfigServiceFixed class. Original code review: https://codereview.chromium.org/180283003 TBR=eroman@chromium.org,stgao@chromium.org,rlarocque@chromium.org BUG=none TEST=none Review URL: https://codereview.chromium.org/185993009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255160 0039d316-1c4b-4281-b951-d872f2087c98
* Add use_allocator instead of linux_use_tcmalloc to switch the allocator.dmikurube@chromium.org2014-03-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is to add a new build option 'use_allocator' which will replace 'linux_use_tcmalloc' in the future. It doesn't change the behavior immediately. The migration plan is as follows: 1) (this change) ... Add 'use_allocator' and set its default to "see_use_tcmalloc". ... Change allocator conditions to check use_allocator firstly. ... Use linux_use_tcmalloc if use_allocator=="see_use_tcmalloc". ... NO IMPACT without specifying use_allocator explicitly. 2) Change Blink to accept use_allocator. http://crrev.com/177053003/ 3) Change gyp to accept use_allocator. http://crrev.com/178643004/ 4) PSA the transition period to chromium-dev@. 5) (after the PSA-ed transition period) ... Make 'use_allocator' to "tcmalloc" or "none" (it depends) by default. ... Remove all linux_use_tcmalloc. ... Assert in gyp_chromium to check if linux_use_tcmalloc is not specified. At the point of this change (1), linux_use_tcmalloc is still used by default because 'use_allocator%': "see_use_tcmalloc". As written in http://crbug.com/345554, linux_use_tcmalloc would be confusing to have more options about allocators. We plan to: A) enable gperftools' heap-profiler with non-tcmalloc allocator, B) add a new memory allocator instead of tcmalloc. BUG=345554, 339604, 341349 R=agl@chromium.org, brettw@chromium.org, dgarrett@chromium.org, jam@chromium.org, jamesr@chromium.org, joi@chromium.org, miket@chromium.org, nick@chromium.org, rsleevi@chromium.org, scherkus@chromium.org, sergeyu@chromium.org, shess@chromium.org, sievers@chromium.org, sky@chromium.org, vitalybuka@chromium.org, willchan@chromium.org Review URL: https://codereview.chromium.org/177353002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255129 0039d316-1c4b-4281-b951-d872f2087c98
* Reland "Add base::TimeDelta::Max()" again.gavinp@chromium.org2014-03-051-4/+2
| | | | | | | | | | | | | Webkit layout tests found more media logs serializing infinite durations to JSON. R=scherkus@chromium.org TBR=ajwong@chromium.org,jar@chromium.org,jamesr@chomium.org,acolwell@chromium.org,nick@chromium.org BUG=None Review URL: https://codereview.chromium.org/186683002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255128 0039d316-1c4b-4281-b951-d872f2087c98
* Reorganize test cases in directory_backing_store_unittest.cc.maniscalco@chromium.org2014-03-051-139/+143
| | | | | | | | | | | | | Reorganize test cases in preparation for adding a version 87 of the sync database. Move checks out of MigrateVersion85To86 and into ToCurrentVersion. Rewrite SetUpVersion86Database using output obtained from MigrateToLatestAndDump. BUG=348625 Review URL: https://codereview.chromium.org/186283004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254950 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 254672 "Replace the custom ProxyConfigServiceDirect class..."ricow@chromium.org2014-03-041-3/+19
| | | | | | | | | | | | | | | | | | | > Replace the custom ProxyConfigServiceDirect class with the equivalent > net::ProxyConfigServiceFixed class. > > R=eroman@chromium.org,stgao@chromium.org,rlarocque@chromium.org > BUG=none > TEST=none > > Review URL: https://codereview.chromium.org/180283003 This is the best candidate for issue 348951 TBR=wtc@chromium.org Review URL: https://codereview.chromium.org/178463017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254753 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Reland "Add base::TimeDelta::Max()" ↵apavlov@chromium.org2014-03-041-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/183763011/) Reason for revert: http/tests/media/video-cookie.html is asserting on debug bots Original issue's description: > Reland "Add base::TimeDelta::Max()" > > Media was exposing max timedeltas to JSON, which wasn't working with > infinity. > > R=scherkus@chromium.org > TBR=ajwong@chromium.org,jar@chromium.org,jamesr@chomium.org,acolwell@chromium.org,nick@chromium.org > BUG=None > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=254717 TBR=ajwong@chromium.org,jar@chromium.org,scherkus@chromium.org,jamesr@chomium.org,acolwell@chromium.org,nick@chromium.org,gavinp@chromium.org NOTREECHECKS=true NOTRY=true BUG=None Review URL: https://codereview.chromium.org/179813009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254743 0039d316-1c4b-4281-b951-d872f2087c98
* Reland "Add base::TimeDelta::Max()"gavinp@chromium.org2014-03-041-4/+2
| | | | | | | | | | | | | Media was exposing max timedeltas to JSON, which wasn't working with infinity. R=scherkus@chromium.org TBR=ajwong@chromium.org,jar@chromium.org,jamesr@chomium.org,acolwell@chromium.org,nick@chromium.org BUG=None Review URL: https://codereview.chromium.org/183763011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254717 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite instructions on how to dump sync database for unit test.maniscalco@chromium.org2014-03-042-13/+36
| | | | | | | | | | | | | | directory_backing_store_unittest.cc must be kept up to date with a dump of test data in the latest sync database format. This change updates the instructions for obtaining a dump by adding a dump specific test case that writes to a file on disk so the database can be dumped with the sqlite3 command line tool. BUG=348625 Review URL: https://codereview.chromium.org/185953002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254700 0039d316-1c4b-4281-b951-d872f2087c98
* Replace the custom ProxyConfigServiceDirect class with the equivalentwtc@chromium.org2014-03-041-19/+3
| | | | | | | | | | | | net::ProxyConfigServiceFixed class. R=eroman@chromium.org,stgao@chromium.org,rlarocque@chromium.org BUG=none TEST=none Review URL: https://codereview.chromium.org/180283003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254672 0039d316-1c4b-4281-b951-d872f2087c98
* sync: Merge GU retry logic into normal GUrlarocque@chromium.org2014-03-0415-158/+109
| | | | | | | | | | | | | | | | | | | | | | | | | Moves the implementation of the GU retry get updates into the normal GU cycle. This should have no impact on behvaior. The point of this refactoring is to eliminate an instance of the GetUpdateDelegate. I hope to build on that interface in the future, and removing one of its four implementations should make that work 25% easier. This CL should retain all the same quirks as the old retry implemenation. The timer management is the same. It also sends up a special RETRY value for GetUpdatesOrigin when the only reason for performing an update is a scheduled retry, which was the behavior of the old code. This CL also refactors the NudgeTracker's mangement of the updates_source_. The old, stateful, implementation was getting out of hand. The new implementation should be easier to maintain, especially as we start to support 'partially successful' sync cycles. BUG=339984 Review URL: https://codereview.chromium.org/171813013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254653 0039d316-1c4b-4281-b951-d872f2087c98
* Implement Commit in the Sync C++ fake serverpvalenzuela@chromium.org2014-03-0417-170/+1024
| | | | | | | | | | | | | | | | | | | | | In addition to adding commit functionality, some of the existing FakeServer code has been restructured. Most notably, FakeServerEntity has been introduced to ease the pain of serializing/deserializing SyncEntity protos. Also, SyncEntity IDs now include the entity's ModelType so that tombstones sent from the client will have their type known on the server. Another important change is correctly sending tombstones back in GetUpdatesResponse. This CL also starts to use FakeServer in SingleClientBookmarksSyncTest (all test cases are still run against the Python server). Since the C++ server is now being used a real test, PrototypeFakeServerTest has been deleted. BUG=323265 Review URL: https://codereview.chromium.org/156883007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254634 0039d316-1c4b-4281-b951-d872f2087c98
* Don't call RefreshColumns() in directory_backing_store_unittest.cc.maniscalco@chromium.org2014-03-011-4/+5
| | | | | | | | | | | | | | | Move "column deleted" checks from test case MigrateVersion85To86 to test case ToCurrentVersion where they will execute after a RefreshColumns(). RefreshColumns() should not be called from MigrateVersionXToY test cases because it will create in a metas table with all columns know to the code (i.e. the latest version). BUG= Review URL: https://codereview.chromium.org/182683004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254310 0039d316-1c4b-4281-b951-d872f2087c98
* Implememt garbage collection of old entries according tohaitaol@chromium.org2014-03-019-5/+209
| | | | | | | | | | version_watermark specified in progress marker during update processing. BUG=347253 Review URL: https://codereview.chromium.org/180673002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254298 0039d316-1c4b-4281-b951-d872f2087c98
* Wrapping message into ClientGatewayMessage is specific to PushClientpavely@chromium.org2014-03-018-305/+264
| | | | | | | | | | | | | | | | When cacheinvalidations library send a message it should be treated differently by PushClient channel vs. GCMNetworkChannel. PushClientChannel should wrap message into ClientGatewayMessage while GCMNetworkChannel should not. Currently this functionality is in base class (SyncNetworkChannel). Moving it to PushClientChannel along with corresponding unittests. BUG=325020 R=rlarocque@chromium.org Review URL: https://codereview.chromium.org/183893007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254284 0039d316-1c4b-4281-b951-d872f2087c98
* sync: Move download logic into GetUpdatesProcessorrlarocque@chromium.org2014-02-288-300/+265
| | | | | | | | | | | | | | | | | | Moves more of the logic to build and process GetUpdates messages into the GetUpdatesProcessor. When refactoring the sync engine, some functions ended up being left orphaned in download.h. This CL gets them back into a class. This change should make the download updates logic a bit clearer, since the most of the update request building, sending, and processing logic will now live entirely in GetUpdatesProcessor and its helper class, GetUpdatesDelegate. BUG=278484 Review URL: https://codereview.chromium.org/174063003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254238 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 253502 "Add base::TimeDelta::Max()."waffles@chromium.org2014-02-271-2/+4
| | | | | | | | | | | | | | | | | | | | > Add base::TimeDelta::Max(). > > TimeDelta::Max() is a maximum timedelta, larger than any timedelta you > can compare it to. The results of adding it to a time, or another time > delta are undefined. > > R=ajwong@chromium.org,mkwst@chromium.org,jar@chromium.org > TBR=jamesr@chomium.org,acolwell@chromium.org,nick@chromium.org > BUG=None > > Review URL: https://codereview.chromium.org/163413004 TBR=gavinp@chromium.org Review URL: https://codereview.chromium.org/179763006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253643 0039d316-1c4b-4281-b951-d872f2087c98
* Sync Change Processor for the 'Synced Notifications App Info' datatype.petewil@chromium.org2014-02-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | A previous change list (https://codereview.chromium.org/143973006/) introduced the new Synced Notifications App Info datatype, this change list hooks it up to a sync change processor. The structure of this code parallels the existing synced notification datatype in the same directory, one good way to review this code might be to unpack it, and diff against the corresponding versions of the files for synced notifications. The basic intent of this checkin is to get SyncedNotificationAppInfo data structures from the server, and maintain a local list of SyncedNotificationAppInfo objects. A future change will make use of these objects to actually deliver the data to the Synced Notification system. To avoid a name conflict, I renamed the existing SyncedNotificationAppInfo class to SyncedNotificationAppInfoTemp, and it will be removed with the next checkin. The new files are analogous to these existing files:. To review these files, it might be easier to diff them against the analogous files instead of trying to read the whole file. synced_notification_app_info.cc/.h -> synced_notification.cc/.h synced_notification_app_info_service.cc/.h -> chrome_notifier_service.cc/.h synced_notification_app_info_service_factory.h -> chrome_notifier_service_factory.cc/.h synced_notification_app_info_unittest.cc-> synced_notification_unittest.cc synced_notification_app_info_service_unittest.cc -> chrome_notifier_service_unittest.cc Here is the corresponding change list for the synced notification data type https://codereview.chromium.org/12223116/ BUG=280266 Review URL: https://codereview.chromium.org/145393005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253543 0039d316-1c4b-4281-b951-d872f2087c98
* Add base::TimeDelta::Max().gavinp@chromium.org2014-02-261-4/+2
| | | | | | | | | | | | | | TimeDelta::Max() is a maximum timedelta, larger than any timedelta you can compare it to. The results of adding it to a time, or another time delta are undefined. R=ajwong@chromium.org,mkwst@chromium.org,jar@chromium.org TBR=jamesr@chomium.org,acolwell@chromium.org,nick@chromium.org BUG=None Review URL: https://codereview.chromium.org/163413004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253502 0039d316-1c4b-4281-b951-d872f2087c98
* Add some unit tests for SyncData.maniscalco@chromium.org2014-02-222-0/+67
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/174443002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252763 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor ActivityStatus to not store currentdtrainor@chromium.org2014-02-211-2/+2
| | | | | | | | | | | | - Refactor ActivityStatus to expose application level visibility over activity visbility. - Add a listener for the visibility of the Application (are any Activities visible?) BUG=341231 NOTRY=true Review URL: https://codereview.chromium.org/159173002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252679 0039d316-1c4b-4281-b951-d872f2087c98
* To support password sync for supervised users we need to sign (and, in ↵antrim@chromium.org2014-02-211-0/+4
| | | | | | | | | | | | | | | | | future, encrypt) updated passwords. This CL adds fields for signing and encrypting key in manager's sync datatype. We need them in sync because they will be required during user creation/import as well as on chrome.com/manage. BUG=244472 TBR=atwilson@chromium.org (for sync/protocol) R=bauerb@chromium.org Review URL: https://codereview.chromium.org/163363002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252565 0039d316-1c4b-4281-b951-d872f2087c98
* [invalidations] Added table with registered objectsIdsmferreria@chromium.org2014-02-2012-0/+42
| | | | | | | | | | | | | | | | | | | | | | This patch is a follow-up to issue 147353011. The patch adds a display mechanism for the about:invalidations page that shows a table with every implementer of InvalidationHandler that has registered for at least one ObjectId for invalidations. The table also registers for every ObjectId how many invalidations were received of that kind, the last time one of those arrived and what was the payload it contained, in case there were any. There are minimal modifications to every file that implemented InvalidationHandler because there was a small change in the interface, in order to be able to return a string stating who is the owner of the InvalidationHandler without passing raw pointers around. BUG=263863 Review URL: https://codereview.chromium.org/159773006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252210 0039d316-1c4b-4281-b951-d872f2087c98
* sync: Add interfaces for per-type syncrlarocque@chromium.org2014-02-1930-253/+525
| | | | | | | | | | | | | | | | | | | | | | Puts the DirectoryCommitContributor and DirectoryUpdateHandler classes behind interfaces. These classes were always intended to form the basis of an abstract interface. Now we can start to introduce alternate implementations of them. This CL includes one such alternate implementation. It adds the MockUpdateHandler and uses it to remove some unnecessary boilerplate from the download unit tests. This CL also resolves an old TODO. It renames the SyncDirectory* classes to Directory*, since the 'Sync' part of the name is redundant. This should have no effect on program behavior. BUG=278484 Review URL: https://codereview.chromium.org/161253002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251969 0039d316-1c4b-4281-b951-d872f2087c98
* Remove duplicated code from sync related unit tests.maniscalco@chromium.org2014-02-195-0/+95
| | | | | | | | | | | | | Consolidate the various implementations of SyncChangeProcessorDelegate and fake into sync/api. Replace many of the fake SyncChangeProcessor implementations with a slightly more advanced FakeSyncChangeProcessor. TBR=brettw@chromium.org BUG= Review URL: https://codereview.chromium.org/151963002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251926 0039d316-1c4b-4281-b951-d872f2087c98
* Set the correct default referrer policy for sync.jochen@chromium.org2014-02-181-2/+3
| | | | | | | | | | | The value WebReferrerPolicyDefault is encoded as 1. BUG=339790 R=zea@chromium.org Review URL: https://codereview.chromium.org/168883002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251839 0039d316-1c4b-4281-b951-d872f2087c98
* sync: Move migration signal out of snapshotrlarocque@chromium.org2014-02-1221-14/+42
| | | | | | | | | | | | | | | | | | | A sync data migration request is signalled by the server during a normal GetUpdates or Commit request. The signal is then forwarded to the UI thread, which actually performs the migration. Traditionally, the signal has been sent through the SyncSessionSnapshot, which is delivered to the UI thread at the end of the current sync cycle. This CL introduces new code to pass the signal through the SyncSession::Delegate and SyncManagerObserverInterfaces. This CL should not change the syncer's behavior. BUG=339984 Review URL: https://codereview.chromium.org/158953004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250849 0039d316-1c4b-4281-b951-d872f2087c98
* Enhanced bookmarks: added support for sync based experimentyefim@chromium.org2014-02-124-3/+43
| | | | | | | | BUG=321393 Review URL: https://codereview.chromium.org/156103002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250792 0039d316-1c4b-4281-b951-d872f2087c98
* sync: Remove dead code related to ClearUserDatarlarocque@chromium.org2014-02-127-32/+0
| | | | | | | | | | | | | | | | | Removes some code left over from the ClearUserData feature. These are mostly functions named 'OnStopSyncingPermanently'. Also renames ProfileSyncService::OnStopSyncingPermanently to StopSyncingPermanently. This makes it easier to distinguish from the now deprecated SyncManagerObserver callback. The new name is more appropriate name since this function is not really a callback or event handler anymore. BUG=342932 Review URL: https://codereview.chromium.org/153643006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250775 0039d316-1c4b-4281-b951-d872f2087c98
* This is the clean-up following r249138.rlarocque@chromium.org2014-02-1211-435/+448
| | | | | | | | | | | | | | | | | | | | | | | Introduce a GetUpdatesDelegate class to contain request behavior that is specific to a GU type. There are implementations for Normal, Retry, Poll and Configure GUs. These implementations may have different members. For example, only the 'Normal' GU requires a NudgeTracker. They also implement different functionality for building the request message and for applying the received updates. The latter is to allow the configure GetUpdates to apply updates directly on the sync thread. The GU types can still vary in other ways that are not encapsulated in the GU delegate. For example, the Poll GU is not retried on failure, though this is not expressed in its GU delegate in any way. BUG=278484 Review URL: https://codereview.chromium.org/137753010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250651 0039d316-1c4b-4281-b951-d872f2087c98
* Split up SyncEngineEventListener callbacksrlarocque@chromium.org2014-02-1125-214/+213
| | | | | | | | | | | | | | | | | Splits up the SyncEngineEventListener calls into one callback per event type. This allow us to trim the 'event' objects so they only contain elements relevant to their event. Also removes some dead code related to STOP_SYNCING_PERMANENTLY, which is no longer in use. It may have been used for birthday errors in the past, but those are now handled with ActionableError. It was used for CLEAR_USER_DATA, but that feature is no longer supported. BUG=339984 Review URL: https://codereview.chromium.org/152013003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250384 0039d316-1c4b-4281-b951-d872f2087c98
* [Autofill, Sync] Deprecate the Autofill culling experiment.isherman@chromium.org2014-02-112-20/+2
| | | | | | | | | | | | | Culling has for a while now been enabled for all users, so might as well deprecate the experiment. BUG=none TEST=none R=zea@chromium.org Review URL: https://codereview.chromium.org/157023004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250336 0039d316-1c4b-4281-b951-d872f2087c98
* [GCM] Add experiment and startup logic for partial rolloutzea@chromium.org2014-02-084-4/+33
| | | | | | | | | | | | | The experiment controls whether the GCMProfileService should be suppressed or force created at sync startup time. If no experiment is present, the default is for Canary/Dev clients to be able to enable the GCMProfileService lazily, and other clients to be unable to create it at all. BUG=284553 Review URL: https://codereview.chromium.org/152633006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249871 0039d316-1c4b-4281-b951-d872f2087c98
* Fix SyncedNotification tags in Python test serverpvalenzuela@chromium.org2014-02-071-3/+1
| | | | | | | | | | | | | | | This CL removes the incorrect setting of server_defined_unique_tag for SyncedNotification entries in the Sync Python test server. Only one of the client/server tags should be set. Two other no-op changes were also made in the server (fix documentation and indentation). BUG=248332 Review URL: https://codereview.chromium.org/152143004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249766 0039d316-1c4b-4281-b951-d872f2087c98
* Add IsRestored() interface to NavigationEntry and use it to differentiatehaitaol@chromium.org2014-02-062-0/+3
| | | | | | | | | | normal and restored synced navigations. BUG=340464 Review URL: https://codereview.chromium.org/152233003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249526 0039d316-1c4b-4281-b951-d872f2087c98
* sync: Set next unthrottle timer relative to 'now'rlarocque@chromium.org2014-02-061-2/+3
| | | | | | | | | | | | | | | | | The unthrottle timer callback uses a subtle trick to make the effects of the timeout the same regardless of when it fires. This was intended to eliminate the small chance of a harmless race condition. The trick went wrong when I used the 'scheduled timeout' time rather than 'now' to calculate when the next timeout should fire. The unthrottle timeouts are supposed to be absolute times, so the distance from it should be calculated relative to 'now'. BUG=332241 Review URL: https://codereview.chromium.org/147493002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249303 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Fix sync masterSyncAutomatically setting.shashishekhar@chromium.org2014-02-061-7/+18
| | | | | | | | | | | | | The sync settings notification code only fires a notification when the account level sync setting changes. When only MasterSyncAutomatically changes the code fails to fire a notification, correct the behavior. BUG=340911 R=nyquist@chromium.org Review URL: https://codereview.chromium.org/155573002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249225 0039d316-1c4b-4281-b951-d872f2087c98
* FindBugs: Rename org.chromium.base.test.util.ScalableTimeout.ScaleTimeout to ↵thestig@chromium.org2014-02-061-2/+2
| | | | | | | | | | scaleTimeout. NOTRY=true Review URL: https://codereview.chromium.org/143803017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249177 0039d316-1c4b-4281-b951-d872f2087c98
* Added a basic AttachmentStore interface and fake implementation for use in ↵maniscalco@chromium.org2014-02-0515-84/+538
| | | | | | | | | | | | | | | | some forthcoming unit tests. AttachmentStore will likely change a lot in a future CL. Renamed SyncAttachment to Attachment. Renamed SyncAttachmentId to AttachmentId. Added CreateId method to Attachment. BUG= Review URL: https://codereview.chromium.org/104813004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249160 0039d316-1c4b-4281-b951-d872f2087c98
* sync: Apply updates passively without routing inforlarocque@chromium.org2014-02-056-24/+78
| | | | | | | | | | | | | | | | | | | This CL allows the sync scheduler to make decisions about whether updates should be applied directly from the sync thread (GROUP_PASSIVE) or if the work should be delegated to the model thread. This means that the sync backend no longer needs access to the routing info. In a way, this feature is nothing new. It would have been wrong for the scheduler to have non-GROUP_PASSIVE routing info when it's in configure mode, and equally wrong for it to have types in GROUP_PASSIVE when in normal mode (with the exception of a few control types). This CL trims redundant information from the system. BUG=278484,336616 Review URL: https://codereview.chromium.org/145993004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249138 0039d316-1c4b-4281-b951-d872f2087c98
* Fix CancelationSignalTest.Cancelrlarocque@chromium.org2014-02-051-40/+51
| | | | | | | | | | | | | | | | | | The old version of the test had a bug and was racy. If we hit a certain code path, we would never unregister the CancelationSignal's observer, which would result in a DCHECK. Because the code was racy, we didn't hit that code path very often. This CL includes two changes. First, it makes the test less racy. It ensures that we always hit the more interesting code path. It also fixes the bug so that hitting that code path no longer results in a DCHECK failure. BUG=340360 Review URL: https://codereview.chromium.org/144313016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249134 0039d316-1c4b-4281-b951-d872f2087c98
* Implement retry for Register call in GCMNetworkChannelpavely@chromium.org2014-02-053-26/+136
| | | | | | | | | | When Register fails with transient erro retry with exponential backoff. BUG=335670 Review URL: https://codereview.chromium.org/144383008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248872 0039d316-1c4b-4281-b951-d872f2087c98
* sync: GU retry with less explicit TimeTicks logicrlarocque@chromium.org2014-02-0310-108/+317
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For reasons described in crbug.com/338016, I changed my mind on explicit time tracking. This is an attempt to clean up my mistake. This new approach has the NudgeTracker keep track of the time when the next retry GU is scheduled, and a flag that is set to true when we should perform a retry GU at the next possible opportunity. Before a sync cycle, the NudgeTracker is provided with a TimeTicks::Now() value and asked to update the flag accordingly. This does a better job of ensuring the value of NudgeTracker::IsRetryRequired() is consistent. After this CL, we can guarantee that its value will be the same before, during, and after the sync cycle. The previous implementation relied on a call to TimeTicks::Now() in download.cc, so it did not have this property. There is one tricky part to this patch. We need to be careful that we the call to RecordSuccessfulSyncCycle() after a sync cycle does not overwrite pending retry state that may have been set by that sync cycle's SyncSessionDelegate::OnReceivedRetryDelay() function. To avoid that problem, we store the value from that call in the SyncScheduler and act on it only after we've updated the NudgeTracker's state when the sync cycle is complete. BUG=338016 Review URL: https://codereview.chromium.org/146113003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248611 0039d316-1c4b-4281-b951-d872f2087c98
* Disable flaky CancelationSignalTest.Cancel on iOS and Mac.msw@chromium.org2014-02-031-1/+7
| | | | | | | | | | | | | | | | | | Recent flake: http://build.chromium.org/p/chromium.mac/builders/iOS%20Simulator%20%28dbg%29/builds/15075 Flakiness dashboard: http://chromium-build-logs.appspot.com/gtest_query?gtest_query=CancelationSignalTest.Cancel BUG=340360 TEST=none R=erg@chromium.org TBR=rlarocque@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/148613010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248569 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 247831 "Use the proper name for the app info protobuf to ..."petewil@chromium.org2014-02-031-1/+1
| | | | | | | | | | | | | | | | It seems to be causing sync to fail for the official build on a fresh directory. > Use the proper name for the app info protobuf to mach the sync server > > BUG=339094 > > Review URL: https://codereview.chromium.org/149723003 TBR=petewil@chromium.org Review URL: https://codereview.chromium.org/153113002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248568 0039d316-1c4b-4281-b951-d872f2087c98
* Add ManagedUserSharedSettings as sync datatype if the ManagedUserSettings ↵akuegel@chromium.org2014-02-035-43/+1
| | | | | | | | | | | | sync datatype is enabled. Also remove some boilerplate code that is not needed. BUG=316168 Review URL: https://codereview.chromium.org/142473005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248470 0039d316-1c4b-4281-b951-d872f2087c98
* Create sync_driver component.blundell@chromium.org2014-01-311-4/+4
| | | | | | | | | | | | This CL creates the sync_driver component and moves files with no problematic dependencies from //chrome/browser/sync and //chrome/browser/sync/glue into it. This is a first step toward componentization of //chrome/browser/sync. BUG=339727 Review URL: https://codereview.chromium.org/133343007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248192 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of some uses of base::Create*Valueestade@chromium.org2014-01-301-1/+1
| | | | | | | | | BUG=160586 TBR=finnur, ajuma, thakis, atwilson Review URL: https://codereview.chromium.org/131503015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247922 0039d316-1c4b-4281-b951-d872f2087c98
* Use the proper name for the app info protobuf to mach the sync serverpetewil@chromium.org2014-01-301-1/+1
| | | | | | | | BUG=339094 Review URL: https://codereview.chromium.org/149723003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247831 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Don't enable synced notification app info by defaultzea@chromium.org2014-01-291-1/+2
| | | | | | | | | | | Core types don't respect off by default state yet. TBR=petewil@chromium.org BUG=339094, 280266 Review URL: https://codereview.chromium.org/146913004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247759 0039d316-1c4b-4281-b951-d872f2087c98