[Sync] UMA: log only datatypes explicitly listed on the sync prefs page
[Sync] UMA: log only datatypes explicitly listed on the sync prefs page

The sync UMA logging logic that is in place first checks to see if the sync config has changed before logging a user's choices. This logic was broken by the implicitly enabled preferences that are currently behind a flag, resulting in more logging than necessary.

This patch changes the UMA logging logic to include only the datatypes that are explicitly listed on the preferences page. It also does the actual logging prior to applying the config via OnUserConfigured(), and adds extra checks that will remind anyone who adds a new datatype to also add UMA logging for the datatype.

BUG=96507
TEST=Change your sync config in a bunch of ways and look at about:histograms

Review URL: http://codereview.chromium.org/8566023

git-svn-id: de016e52bd170d2d4f2344f9bf92d50478b649e0@110028 0039d316-1c4b-4281-b951-d872f2087c98

gavinp/chromium,ropik/chromium,gavinp/chromium,yitian134/chromium,adobe/chromium,adobe/chromium,ropik/chromium,gavinp/chromium,adobe/chromium,yitian134/chromium,yitian134/chromium,gavinp/chromium,yitian134/chromium,yitian134/chromium,ropik/chromium,yitian134/chromium,gavinp/chromium,yitian134/chromium,adobe/chromium,ropik/chromium,gavinp/chromium,yitian134/chromium,yitian134/chromium,adobe/chromium,yitian134/chromium,adobe/chromium,ropik/chromium,ropik/chromium,ropik/chromium,adobe/chromium,ropik/chromium,gavinp/chromium,adobe/chromium,adobe/chromium,adobe/chromium,gavinp/chromium,gavinp/chromium,gavinp/chromium,adobe/chromium,ropik/chromium