summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/sync_ui_util.cc
Commit message (Collapse)AuthorAgeFilesLines
* Moving google_apis and GaiaClient to src/google_apis.joi@chromium.org2012-09-071-1/+1
| | | | | | | | | | TBR=mechanicalowners@chromium.org BUG=145584 Review URL: https://chromiumcodereview.appspot.com/10928017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155312 0039d316-1c4b-4281-b951-d872f2087c98
* sync: Track validity of about:sync fieldsrlarocque@chromium.org2012-07-191-326/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the way we initialize the fields which get exported to about:sync's about tab. The goal was to pre-declare all the data which would be exported in a complete snapshot, and to track which of these fields were actually set. Unset fields will have a default value and be specially highlighted on about:sync. This commit includes the changes necessary to perform this highlighting. Also in this commit are a few backend changes that are used to determine from sync_ui_util which fields are properly initialized and which fields have been unset by anything other than a default constructor. The signature for ProfileSyncService::QueryDetailedSyncStatus() has been modified to return an additional parameter indicating whether or not the returned status actually came from the backend. The SyncSesionSnapshot takes a different approach. The object is immutable and has two constructors. If it is constructed with the zero-argument constructor it is clearly uninitialized, and will remain so. This change adds a flag which is set or unset based on which constructor is used. Finally, the ConstructAboutInforation function and all its helpers have been moved out of sync_ui_util.cc and into their own file. BUG=134927 TEST= Review URL: https://chromiumcodereview.appspot.com/10696107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147531 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Move ModelType and related classes to 'syncer' namespaceakalin@chromium.org2012-07-031-1/+1
| | | | | | | | | | | | | | Previously they were in 'syncer::syncable'. Also remove aliases to those classes from 'syncable'. BUG=128060 TEST= TBR=pkasting@chromium.org,jhawkins@chromium.org, Review URL: https://chromiumcodereview.appspot.com/10696087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145399 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Move model_type* from syncable/ to base/akalin@chromium.org2012-07-031-1/+1
| | | | | | | | | | | | | | | | | | | Also move enum_set* to base/. This is the first step in moving ModelType et al. to the syncer namespace (from syncer::syncable). Move PurgeStalePayload() back to sync_session.cc. Move ModelTypePayloadMapFromRoutingInfo() to model_safe_worker.* and rename it to ModelSafeRoutingInfoToPayloadMap(). BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10690071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145236 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Rename csync namespace to syncerakalin@chromium.org2012-06-281-14/+14
| | | | | | | | | | | | | | | Everyone was confused by 'csync'. 'syncer' seems more understandable. (Note that we can't use the 'sync' namespace since sync() is a function from unistd.h.) BUG=10662035 TEST= TBR=jhawkins@chromium.org,pkasting@chromium.org Review URL: https://chromiumcodereview.appspot.com/10698014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144820 0039d316-1c4b-4281-b951-d872f2087c98
* Display per-type status in about:syncrlarocque@chromium.org2012-06-271-24/+7
| | | | | | | | | | | | | | | | This change merges the per-datatype throttling status, per-datatype unrecoverable error status and the routing info into a single table on about:sync's about tab. In the future, we may be able to expand on this to provide even more detailed information, such as the current model association status. BUG=134698 TEST= Review URL: https://chromiumcodereview.appspot.com/10657033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144572 0039d316-1c4b-4281-b951-d872f2087c98
* sync: Refactor session tracking rlarocque@chromium.org2012-06-221-4/+5
| | | | | | | | | | | | | | | | | | | | | | | This change refactors the related structs ErrorCounters, SyncerStatus, and SyncCycleControlParameters. Their values have all been merged into AllModelTypeState, which has been renamed to ModelNeutralState. All the functions which depend on this data have been updated to use the new struct. This change also removes the DirtyOnWrite template class, the is_dirty flag, and the SyncerCommand logic to send change events if it detects a change in the syncer's status. The changes are so frequent and predictable that it's easier to just send the snapshots manually after any major syncer steps. Finally, this change removes the 'invalid_store' status member, which was never set nor read outside of unit tests. BUG=132630 TEST= Review URL: https://chromiumcodereview.appspot.com/10636010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143675 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Rename sync_api to csyncakalin@chromium.org2012-06-221-2/+2
| | | | | | | | | | BUG=128060 TEST= Review URL: https://chromiumcodereview.appspot.com/10601002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143557 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Rename browser_sync to csync in sync/akalin@chromium.org2012-06-211-15/+15
| | | | | | | | | | | | | | | Update all references from chrome. Leave possibly-extraneous csync:: qualifications in sync/ for now. (This will be cleaned up once everything in sync/ is in csync::.) BUG=128060 TEST= TBR=jhawkins@chromium.org Review URL: https://chromiumcodereview.appspot.com/10600002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143449 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Add histogram to track the reason for unrecoverable errors at the PSS.zea@chromium.org2012-06-141-3/+3
| | | | | | | | | | | | | | We now differentiate between unrecoverable errors due to the syncer, configuraiton retry (failed to talk to server), configuration failure (missing datatypes), backend not initializing, and actionable errors. BUG=132645 TEST= Review URL: https://chromiumcodereview.appspot.com/10542165 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142277 0039d316-1c4b-4281-b951-d872f2087c98
* Show throttled data types on about:syncrlarocque@chromium.org2012-06-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | This change will display a section on the about:sync summary page listing any currently throttled types. The section will not be displayed at all unless at least one data type is throttled. The about:sync dump will always contain a subtle indication that data type throttling reporting is enabled. We can use this if we're trying to confirm that a given client has no throttled types, but couldn't be bothered to look up whether or not it was built before or after this commit. BUG=125065 TEST=Very manual: Temporarily added code to simulate a data type throttling and verified the type was displayed in about:sync. Review URL: https://chromiumcodereview.appspot.com/10536158 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142246 0039d316-1c4b-4281-b951-d872f2087c98
* sync: Refactor per-datatype throttlingrlarocque@chromium.org2012-06-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This CL pulls the code to track throttled data types out of the sync session context and into a class meant for that purpose. This new class, ThrottledDataTypeTracker, also implements code to notify the AllStatus object whenever the set of throttled datatypes is changed. The fact that ThrottledDataTypeTracker, which lives in sync/engine, references AllStatus caused some problems with DEPS checks. After a few iterations during code review, this commit now includes the following additional changes: - Move all_status.{cc,h} from sync/internal_api to sync/engine. - Move the SyncManager::Status inner class out of SyncManager and into sync/internal_api/public/engine/sync_status.{cc,h}. The class has been renamed to SyncStatus. This CL does not include code to expose the throttled status on the chrome://sync page, though it does contain functionality we will use to implement it in a future commit. BUG=125065 TEST= Review URL: https://chromiumcodereview.appspot.com/10454105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141992 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor following sync commit loop changerlarocque@chromium.org2012-06-081-7/+3
| | | | | | | | | | | | | | | | | | | | | | | This change includes some cleanups of the code introduced in r139519. They have been kept separate from that CL in the hopes of making both CLs easiser to read. This commit moves some error-detection functionality from ProcessCommitResponse's ModelNeutralExecuteImpl() into BuildAndPostCommits(). This simplifies some of the error handling and allows us to remove ModelChangingSyncerCommand's ModelNeutralExecuteImpl(). This CL also combines both commit error indicators into a single variable. BUG=91696,36594 TEST= Review URL: https://chromiumcodereview.appspot.com/10523003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141321 0039d316-1c4b-4281-b951-d872f2087c98
* sync: create internal_api/public to house sync/ files needed by ↵tim@chromium.org2012-06-071-2/+2
| | | | | | | | | | | | | | | | | chrome/browser/sync. Note on sync.gyp changes and .cc file moves: most files in /public have .h and their .cc side by side, as they are simple implementations. In some cases like model_type.cc (and others in a follow up patch, like sync_manager.cc) have only their header exposed in /public while the impl stays behind, because it needs to include things from within sync/, and /public has a strict include DEPS policy. This is in accordance with other /public folders (like content/). Cleans up DEPS files in sync + c/b/sync. Adds sync/{engine, sessions, syncable} to public/. There is more to come (moving things in internal_api/ into public). Not touching /notifier as that is in flux at the moment. BUG=131130 TEST= Review URL: https://chromiumcodereview.appspot.com/10532019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141038 0039d316-1c4b-4281-b951-d872f2087c98
* sync: split SyncSessionSnapshot, SyncerStatus, ErrorCounters, and ↵tim@chromium.org2012-06-061-1/+1
| | | | | | | | | | | | | | SyncSourceInfo out of session_state. This is in preparation for moving the snapshot et al to internal_api/public. BUG=131130 TEST=none Review URL: https://chromiumcodereview.appspot.com/10545010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140687 0039d316-1c4b-4281-b951-d872f2087c98
* Add chrome://sync counter for total commitsrlarocque@chromium.org2012-06-041-0/+4
| | | | | | | | | | | | | This is a strictly increasing counter that tracks the total number of successful commits during the life of this sync instance. BUG=128409 TEST=Open chrome://sync, observe "Successful Commits" counter. Review URL: https://chromiumcodereview.appspot.com/10441117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140338 0039d316-1c4b-4281-b951-d872f2087c98
* Give auth errors higher priority in the UI.atwilson@chromium.org2012-05-301-10/+13
| | | | | | | | | | | | Now, if we have a passphrase error and an auth error simultaneously, we'll display the auth error. BUG=127689 TEST=Log into sync, change passphrase, log in on new client and re-encrypt, wait for auth credentials to expire on first client, get auth error instead of passphrase error. It's very important that you not shutdown the first client but instead keep it running until the passphrase expires. Review URL: https://chromiumcodereview.appspot.com/10444042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139607 0039d316-1c4b-4281-b951-d872f2087c98
* sync: Loop committing items without downloading updatesrlarocque@chromium.org2012-05-261-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since its inception sync has required all commits to be preceded by a GetUpdates request. This was done to try to ensure we detect and resolve conflicts on the client, rather than having two conflicting commits collide at the server. It could never work perfectly, but it was likely to work in most cases and the server would bounce the commit if it didn't. Now we have a new server that doesn't always give us the latest version of a node when we ask for it, especially when the request was not solicited by the server (ie. not triggered by notification). The update before commit is now much less likely to detect conflicts. Even worse, the useless update requests can be surprisingly expensive in certain scenarios. This change allows us to avoid fetching updates between 'batches' of commits. This should improve performance in the case where we have lots of items to commit (ie. first time sync) and reduce load on the server. This CL has some far-reaching effects. This is in part because I decided to refactor the commit code, but major changes would have been required with or without the refactor. Highlights include: - The commit-related SyncerCommands are now paramaterized with local variables, allowing us to remove many members from the SyncSession classes. - Several syncer states have been collapsed into one COMMIT state which redirects to the new BuildAndPostCommits() function. - The PostCommitMessageCommand had been reduced to one line, which has now been inlined into the BuildAndPostCommits() function. - The unsynced_handles counter has been removed for now. Following this change, it would have always been zero unless an error was encountered during the commit. The functions that reference it expect different behaviour and would have been broken by this change. - The code to put extensions activity data back into the ExtensionsActivityMonitor in case of failure has been moved around to avoid double-counting if we have to post many commit messages. - A CONFLICT response from the server is now treated as a transient error. If we had continued to treat it as a success we might risk going into an infinite loop. See comment in code for details. - The "purposeless anachronism" conflicting_new_folder_ids_ has been removed. Review URL: https://chromiumcodereview.appspot.com/10210009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139159 0039d316-1c4b-4281-b951-d872f2087c98
* Treat SyncCredentialsLost as an auth erroratwilson@chromium.org2012-05-161-1/+1
| | | | | | | | | | | | | | Break up AreCredentialsAvailable() into two routines, IsSyncEnabledAndLoggedIn() and IsSyncTokenAvailable(). ProfileSyncService now will start up the sync backend even if there's no sync token available. GetCredentials() will make up fake/invalid tokens for the sync backend to use, which will eventually yield an auth error for the user. BUG=121755 TEST=see bug Review URL: https://chromiumcodereview.appspot.com/10335015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137359 0039d316-1c4b-4281-b951-d872f2087c98
* Fix labels in chrome://syncrlarocque@chromium.org2012-04-281-4/+4
| | | | | | | | | | | | Make the labels match the variables being displayed. BUG=125414 TEST= Review URL: http://codereview.chromium.org/10253020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134424 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Convert SyncSessionSnapshot to a copy-able class.zea@chromium.org2012-04-241-41/+34
| | | | | | | | | | | | | | | | | Previously it was an immutable struct that was passed around by making dynamic allocations and passing pointers. We now just have a class with only getters and no setters, but support for default copy and assign. This cleans up some code and makes some future work easier to pass snapshots around. BUG=none TEST=sync_unit_tests Review URL: http://codereview.chromium.org/10197004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133747 0039d316-1c4b-4281-b951-d872f2087c98
* Unify ChromeOS/non-ChromeOS strings into one label on sync_ui_utilkochi@chromium.org2012-04-241-25/+0
| | | | | | | | | | BUG=none TEST=build with chromeos=0/1 use_titlecase=0/1 Review URL: http://codereview.chromium.org/10167025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133606 0039d316-1c4b-4281-b951-d872f2087c98
* Add signed-in status to chrome://syncrlarocque@chromium.org2012-04-201-7/+13
| | | | | | | | | | | | | Adds some new indicators to chrome://sync and rearranges some existing sections. BUG=124334 TEST= Review URL: http://codereview.chromium.org/10151006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133291 0039d316-1c4b-4281-b951-d872f2087c98
* Rearrange and rename about:sync detailsrlarocque@chromium.org2012-04-191-105/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the renames are meant to clarify exactly what status the variable is reporting. For example, "Initial Sync Ended" has been renamed to "Initial Download Complete". Many of the renames and rearraning are based around an attempt to accurately describe the lifetime and staleness of reported information. The previous arrangement did not make it very clear which counters were reset every cycle and which were reset only on browser restart. The new arrangement and descriptions should clarify this. This change also includes fairly significant modifications to the way that the C++ code that fetches this data communicates with the HTML side that presents it. Previously, the HTML code was responsible for providing what little structure existed in the presentation of data. This change adds the concept of "sections" of key value pairs which can be specified by the C++ code. This allows the sync_ui_util.cc to create groups of key-value pairs and to name these groups. This new functionality has been put to use in organizing the recently renamed variables. Some existing special case key-value pairs, like the status summary and sync URL have been ported to this new framework as well. Finally, this Cl also includes changes to the way the information flows along the page by taking advantage of the -webkit-columns property. BUG=98346 TEST= Review URL: http://codereview.chromium.org/9815023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133041 0039d316-1c4b-4281-b951-d872f2087c98
* Removed ProfileSyncService::UIShouldDepictAuthInProgressatwilson@chromium.org2012-04-111-10/+19
| | | | | | | | | | | | Changed so all code queries the auth-in-progress status directly from SigninManager. BUG=95269 TEST=existing unit tests suffice Review URL: http://codereview.chromium.org/9959038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131709 0039d316-1c4b-4281-b951-d872f2087c98
* Show actionable error only when there is an error. lipalani@chromium.org2012-03-301-12/+22
| | | | | | | | | | | Otherwise hide the content. BUG= TEST= Review URL: http://codereview.chromium.org/9921022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129901 0039d316-1c4b-4281-b951-d872f2087c98
* sync: Count and report reflected updatesrlarocque@chromium.org2012-03-241-0/+3
| | | | | | | | | | | | | | | | | | | Many of the updates a sync client receives are echoes of its own changes. This patch attempts to count how often these updates are received by comparing the version of downloaded updates against the local version. These counts are exposed locally through AllStatus/about:sync. We also upload this information to the server through the ClientDebugInfo mechanism. BUG=117565 TEST= Review URL: http://codereview.chromium.org/9702083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128659 0039d316-1c4b-4281-b951-d872f2087c98
* Removed SyncSetupFlow and SyncSetupWizard.atwilson@chromium.org2012-03-231-1/+1
| | | | | | | | | | | | | | Move logic in SyncSetupFlow and SyncSetupWizard into the UI (SyncSetupHandler) and into ProfileSyncService itself. Removed obsolete UI, logic, and strings that are no longer necessary. BUG=92265,95269 TEST=Run all of the signin/config test cases. Review URL: https://chromiumcodereview.appspot.com/9716023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128510 0039d316-1c4b-4281-b951-d872f2087c98
* Change definition of about:sync summaryrlarocque@chromium.org2012-03-211-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old syner status definition has outlived its usefulness. After a series of refactorings in the status summary reporting classes, it provides practically no useful and non-redundant information. The new syncer status is based on the information available to the ProfileSyncService. It attempts to indicate what level of initialization the sync service has reached, and therefore what sort of service a user ought to expect from it. This has a significant impact on some tests, which have come to rely on the summary as a means of inspecting internal state. I consider this to be a bad idea, since most of these tests should be testing behaviour, not internal state. In an attempt to discourage tests from relying on this summary in the future, the summary is now available only as an std::string. This change breaks the python functional sync tests. However, these test were already broken prior to this change. Fixing and re-enabling these tests is a job best left ot a future CL. BUG=112229,98346 TEST= Review URL: http://codereview.chromium.org/9724012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127886 0039d316-1c4b-4281-b951-d872f2087c98
* Trim code form sync's ServerConnectionManagerrlarocque@chromium.org2012-03-171-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove 'authenticated' from SyncManager::Status. This variable was set to true iff the last attempt to contact the sync server resulted in a 200 OK response. There are lots of problems with this approach. See also: crbug.com/117611. The about:sync page also displays auth errors with MakeSyncAuthErrorText(), which is much more likely to be accurate - Remove server_up from SyncManager::Status. It used to be set to true iff the last server response was SERVER_CONNECTION_OK. That doesn't make a lot of sense and isn't very useful. - Remove server_reachable from SyncManager::Status. This was toggled only when ServerConnectionManager::CheckServerReachable() failed, which didn't happen very often. CheckServerReachable() has since been removed, so I think it now gets set only at startup and on the first successful contact with the server. - Remove server_reachable from ServerConnectionEvent and ServerConnectionManager, for similar reasons. - Remove the methods CheckTime(), IsServerReachable(), IsUserAuthenticated(), and CheckServerReachable(), SetServerParameters(), server_reachable() from ServerConnectionManager. These methods were not used anywhere. Also removed IsGoodReplyFromServer(), whose last remaining callsite has been removed in this commit. - Remove the server_connection_ok_ flag from SyncScheduler. - Hard-code AllStatus' online status to true. See TODO comment. - Remove OnCredentialsUpdated() and OnConnectionStatusChange() from SyncScheduler. Their functionality has been moved to the SyncManager. - Rearrange some code in MockConnectionManager. Apparently there used to be such a thing as an "AUTHENTICATE" request, which we had unit tests for. That no longer exists, so I've rewritten some parts of this mock class to better relfect ServerConnectionManager's current authentication mechanisms. - Update various unit tests in response to these changes. - Update some integration tests to verify backoff behaviour when the sync server is unreachable. This replaces the old behaviour of verifying that certain flags were set in the sync snapshot. - Reduce the number of retries required to verify backoff. This is to help ensure that our integration tests fall within the 45s time limit. - Disable notifications when disabling network connectivity in integration tests. This improves the reliability of exponential backoff verification because the notifications would sometimes interfere with backoff logic. BUG=110954,105739,98346,106262 TEST= Review URL: http://codereview.chromium.org/9348036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127310 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Move 'sync' target to sync/akalin@chromium.org2012-03-151-4/+4
| | | | | | | | | | | | | | | | | | | | | | 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
* Changes related to new conflict countersrlarocque@chromium.org2012-03-071-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While it might have made more sense to commit these separately, it's hard to update the snapshot format without leaving some part of the system in an inconsistent state. At the heart of this change is a change in the snapshot to make it contain counts of various types of conflicts, rather than just counting the simple conflicts and total number of conflicts. This enables us to make the changes that follow. This change adds more detailed conflict information to about:sync. The main page now lists the counts of encryption, hierarchy, simple and server conflicts separately. It removes the total number of conflicts counter, but that number should be equal to encryption + hierarchy + simple conflicts. Similarly, it updates the client_debug_info server-side debug mechanism with the new counters. The old counters are not only old, but were also being set wrong. I've added comments to the protobuf that explain the situation. We should move away from those old counters as soon as possible. Finally, it removes the conflicting_commits counter from ErrorCounters. There's a new server conflicting commits counter (intended to be symmetric with the other new counters) that can track this. Exposing that counter has made conflicting_commits redundant. BUG=107816,112659 TEST= Review URL: http://codereview.chromium.org/9428016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125287 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 123872 - Revert 122403 - After model association, while running if ↵lipalani@chromium.org2012-02-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | the datatype encounters an error we now have the functionality to disable it. We do this by adding the datatype to failed_data_type_handler and disabling it as though the user disabled it. If and when the user restarts the browser or brings up the UI we will retry the datatype once more. Also made a pass on all change processors to stop using Unrecoverable errors and use the new method to disable. However if there are db level errors we encounter in change processor (like a root node is not found) we will still trigger an unrecoverable error. if any new errors are reported by the users we could consider changing them from unrecoverable error to disable as well. BUG=chromium-os:24278 TEST=trybots, new integration test cases and manual tests. Review URL: http://codereview.chromium.org/9345006 TBR=lipalani@chromium.org Review URL: https://chromiumcodereview.appspot.com/9478026 TBR=lipalani@chromium.org Review URL: https://chromiumcodereview.appspot.com/9479037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123874 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 122403 - After model association, while running if the datatype ↵lipalani@chromium.org2012-02-281-2/+0
| | | | | | | | | | | | | | | | | | | | encounters an error we now have the functionality to disable it. We do this by adding the datatype to failed_data_type_handler and disabling it as though the user disabled it. If and when the user restarts the browser or brings up the UI we will retry the datatype once more. Also made a pass on all change processors to stop using Unrecoverable errors and use the new method to disable. However if there are db level errors we encounter in change processor (like a root node is not found) we will still trigger an unrecoverable error. if any new errors are reported by the users we could consider changing them from unrecoverable error to disable as well. BUG=chromium-os:24278 TEST=trybots, new integration test cases and manual tests. Review URL: http://codereview.chromium.org/9345006 TBR=lipalani@chromium.org Review URL: https://chromiumcodereview.appspot.com/9478026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123872 0039d316-1c4b-4281-b951-d872f2087c98
* Remove PSS::ShowLoginDialog() and obsolete IDC_SYNC_BOOKMARKS.atwilson@chromium.org2012-02-251-24/+2
| | | | | | | | | | | | | | | | | | Changed calls to ShowLoginDialog() to go through LoginUIService() instead. Also noticed that IDC_SYNC_BOOKMARKS has been superceded by IDC_SHOW_SYNC_SETUP so changed the remaining uses over so we only have to maintain a single UI flow. Modified MainMenu.xib to generate IDC_SHOW_SYNC_SETUP instead of IDC_SYNC_BOOKMARKS when the user clicks on the menu item. TBR=jhawkins (for new_tab_page_sync_handler.cc which I believe is obsolete/unused) BUG=111859 TEST=bring up login via wrench/app menu. Review URL: http://codereview.chromium.org/9456031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123610 0039d316-1c4b-4281-b951-d872f2087c98
* Export syncer return values to about:syncrlarocque@chromium.org2012-02-231-0/+10
| | | | | | | | | | | | | | | | | | | This shows the results of the most recent attempts to download updates and commit items on the main about:sync page. It improves visibility into the SyncScheduler by exposing some of the most important inputs to scheduling decisions. It should help us remove some of the stranger AllStatus/ServerConnectionManager state variables by making them redundant. BUG=112040,110954 TEST= Review URL: http://codereview.chromium.org/9429064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123350 0039d316-1c4b-4281-b951-d872f2087c98
* [cros] Suggest sign-out/sign-in when sync login error appears. altimofeev@chromium.org2012-02-171-0/+25
| | | | | | | | | | | | | | Also, OAuth token is invalidated when sync error appears. This is done to force Gaia login flow after user's sign-out. Same as http://codereview.chromium.org/9320039/, but has unittest fixes. BUG=chroimum-os:24883 TEST=manual Review URL: http://codereview.chromium.org/9358068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122629 0039d316-1c4b-4281-b951-d872f2087c98
* After model association, while running if the datatype encounters an error ↵lipalani@chromium.org2012-02-171-0/+2
| | | | | | | | | | | | | | | | | we now have the functionality to disable it. We do this by adding the datatype to failed_data_type_handler and disabling it as though the user disabled it. If and when the user restarts the browser or brings up the UI we will retry the datatype once more. Also made a pass on all change processors to stop using Unrecoverable errors and use the new method to disable. However if there are db level errors we encounter in change processor (like a root node is not found) we will still trigger an unrecoverable error. if any new errors are reported by the users we could consider changing them from unrecoverable error to disable as well. BUG=chromium-os:24278 TEST=trybots, new integration test cases and manual tests. Review URL: http://codereview.chromium.org/9345006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122403 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 121858 - [cros] Suggest sign-out/sign-in when sync login error appears.altimofeev@chromium.org2012-02-141-25/+0
| | | | | | | | | | | | | | | | Also, OAuth token is invalidated when sync error appears. This is done to force Gaia login flow after user's sign-out. BUG=chroimum-os:24883 TEST=manual Review URL: http://codereview.chromium.org/9320039 TBR=altimofeev@chromium.org Review URL: https://chromiumcodereview.appspot.com/9361055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121859 0039d316-1c4b-4281-b951-d872f2087c98
* [cros] Suggest sign-out/sign-in when sync login error appears.altimofeev@chromium.org2012-02-141-0/+25
| | | | | | | | | | | | | Also, OAuth token is invalidated when sync error appears. This is done to force Gaia login flow after user's sign-out. BUG=chroimum-os:24883 TEST=manual Review URL: http://codereview.chromium.org/9320039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121858 0039d316-1c4b-4281-b951-d872f2087c98
* Convert final GetProfileSyncService callers to use profile keyed factory.tim@chromium.org2012-02-081-1/+3
| | | | | | | | | | | | | TBR=jcivelli@chromium.org TBR=jhawkins@chromium.org TBR=asargent@chromium.org BUG=93922 Review URL: http://codereview.chromium.org/9293020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120903 0039d316-1c4b-4281-b951-d872f2087c98
* Many small sync changes centered around AllStatusrlarocque@chromium.org2012-02-031-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Removed num_consecutive_errors and consecutive_transient_error counters. These aren't very useful because they tell us nothing about the cause of the errors. They lead to confusing bugs, with titles like "Need a graceful way to recover from a non-zero 'Max consecutive error count'" (most users commenting on this bug were being throttled). Further adding to the confusion is a bug in AllStatus that caused this counter to be reset after every sync cycle, so the value displayed was the maximum number of consecutive errors *for the most recent sync cycle*. * Removed SyncInternal::RaiseAuthNeededEvent(). This method was undefined. * Removed notifiable commits counter. We no longer use P2P notifications, so the client no longer has any say about whether or not a commit is "notifiable". The terminology is out of date and the code to maintain the count seemed out of place in SyncManager. * Added some counters to report on the number of commit cycles. These counters should provide all the information that used to be made available through the notifiable commits counter, and more. BUG=98346 TEST= Review URL: http://codereview.chromium.org/9269025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120376 0039d316-1c4b-4281-b951-d872f2087c98
* Remove broken variables from sync's AllStatusrlarocque@chromium.org2012-01-201-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * syncer_stuck: This value would get set if we failed to make progress in resolving conflict sets. The conflict set processing code is never executed (crbug.com/107816). I suspect there were other problems with this status indicator, but this alone is enough to justify its removal. * server_broken: Because the number of commits was never greater than 25, there's no way we could see >100 commits bounce because of a transient error in a single sync cycle. This value is always false. * disk_full: Never set. Always false. * CONFLICT status summary value: It depends on syncer_stuck. * HandleAuthWatcherEvent(): This method was undefined. This is not the full set of AllStatus fixes. There are some other status indicators that should be removed, but I wanted to limit the scope of this commit to removing broken indicators. Mostly useless but still functional indicators will be removed in future commits. BUG=98346,105739 TEST= Review URL: http://codereview.chromium.org/9149017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118499 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Rename ModelEnumSet to ModelTypeSetakalin@chromium.org2011-12-131-1/+1
| | | | | | | | | | | | | | | Now that the old ModelTypeSet and ModelTypeBitSet are gone, we can rename ModelEnumSet to ModelTypeSet. Conveniently, they're the same number of characters, so this is just a straight rename. Command: git grep -l ModelEnumSet | xargs sed -i '' -e 's/ModelEnumSet/ModelTypeSet/g' BUG=79970 TEST= Review URL: http://codereview.chromium.org/8919021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114149 0039d316-1c4b-4281-b951-d872f2087c98
* [Sync] Replace all instances of ModelTypeSet with ModelEnumSetakalin@chromium.org2011-12-101-1/+1
| | | | | | | | | | | | | Also change some functions to return ModelEnumSets directly instead of taking a pointer value. BUG=79970 TEST= Review URL: http://codereview.chromium.org/8851006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113906 0039d316-1c4b-4281-b951-d872f2087c98
* sync: remove GetAuthenticatedUsername from ProfileSyncService/SyncBackendHost.tim@chromium.org2011-12-021-6/+11
| | | | | | | | | | | | | | | Removing as it's not necessary and simplifies code to make it easier to ultimately rid ProfileSyncService of cros_user, and ultimately convert it to a ProfileKeyedService. Before this change the two values only differ 1) on chrome os, where kGoogleServicesUsername doesn't seem to be set today (and in some cases we use cros_user as a crutch), and 2) when kGoogleServicesUsername is cleared, but that only happens on DisableForUser. In the future I'd imagine this value to be allowed to outlive that call as well, which would be OK. BUG=88109,93922 TEST=bits of UI that show usernames continue to show usernames Review URL: http://codereview.chromium.org/8665011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112643 0039d316-1c4b-4281-b951-d872f2087c98
* Re-application of CL originally reviewed here: ↵jimblackler@google.com2011-11-301-10/+24
| | | | | | | | | | | | | | | | http://codereview.chromium.org/8383036 That CL was wound back after test failures not caught by commitbot. Those test failures fixed here. Adding parameter to GetStatusLabels to indicate if links are acceptable, as some platforms cannot handle links in all the places these messages are shown." This reverts commit 8a7d864f6069576f60bc9a63b9916d86a6157f96. BUG=N/A TEST=N/A Review URL: http://codereview.chromium.org/8634008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112194 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 110905 - Adding parameter to GetStatusLabels to indicate if links are ↵torne@chromium.org2011-11-211-24/+10
| | | | | | | | | | | | | | | | | acceptable, as some platforms cannot handle links in all the places these messages are shown. Also adding unit tests for other functionality of GetStatusLabels. BUG=none, discussed beforehand with akalin TEST=HtmlNotIncludedInStatusIfNotRequested Review URL: http://codereview.chromium.org/8383036 TBR=jimblackler@google.com Review URL: http://codereview.chromium.org/8613001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110909 0039d316-1c4b-4281-b951-d872f2087c98
* Adding parameter to GetStatusLabels to indicate if links are acceptable, as ↵jimblackler@google.com2011-11-211-10/+24
| | | | | | | | | | | | | | some platforms cannot handle links in all the places these messages are shown. Also adding unit tests for other functionality of GetStatusLabels. BUG=none, discussed beforehand with akalin TEST=HtmlNotIncludedInStatusIfNotRequested Review URL: http://codereview.chromium.org/8383036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110905 0039d316-1c4b-4281-b951-d872f2087c98
* Revert the revert. This change was not the cause of the failures, so relanding.zea@chromium.org2011-11-171-0/+30
| | | | | | | | | | | | | | | | | | | | | Revert 110490 - Revert "[Sync] Add version info to about:sync" This reverts r110456. These tests have been failing on the Mac10.6 Sync builder since this was landed: ManyClientBookmarksSyncTest.Sanity ManyClientPasswordsSyncTest.Sanity ManyClientPreferencesSyncTest.Sanity BUG= TEST= Review URL: http://codereview.chromium.org/8590030 TBR=avi@chromium.org Review URL: http://codereview.chromium.org/8585037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110532 0039d316-1c4b-4281-b951-d872f2087c98