| Index: chrome/browser/sync/profile_sync_service.cc
|
| diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc
|
| index 58e87f3d8f0799275a39f41516df152af12bcda7..ec21827e1f0c49c5681f434a95c015612705dfba 100644
|
| --- a/chrome/browser/sync/profile_sync_service.cc
|
| +++ b/chrome/browser/sync/profile_sync_service.cc
|
| @@ -1037,44 +1037,18 @@ void ProfileSyncService::OnExperimentsChanged(
|
| profile()->GetPrefs()->SetBoolean(prefs::kInvalidationServiceUseGCMChannel,
|
| experiments.gcm_invalidations_enabled);
|
|
|
| - int bookmarks_experiment_state_before = profile_->GetPrefs()->GetInteger(
|
| - sync_driver::prefs::kEnhancedBookmarksExperimentEnabled);
|
| - // kEnhancedBookmarksExperiment flag could have values "", "1" and "0".
|
| - // "" and "1" means experiment is enabled.
|
| - if ((CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
|
| - switches::kEnhancedBookmarksExperiment) != "0")) {
|
| - profile_->GetPrefs()->SetInteger(
|
| - sync_driver::prefs::kEnhancedBookmarksExperimentEnabled,
|
| - experiments.enhanced_bookmarks_enabled ? kBookmarksExperimentEnabled
|
| - : kNoBookmarksExperiment);
|
| + if (experiments.enhanced_bookmarks_enabled) {
|
| profile_->GetPrefs()->SetString(
|
| sync_driver::prefs::kEnhancedBookmarksExtensionId,
|
| experiments.enhanced_bookmarks_ext_id);
|
| } else {
|
| - // User opt-out from chrome://flags
|
| - if (experiments.enhanced_bookmarks_enabled) {
|
| - profile_->GetPrefs()->SetInteger(
|
| - sync_driver::prefs::kEnhancedBookmarksExperimentEnabled,
|
| - kBookmarksExperimentEnabledUserOptOut);
|
| - // Keep extension id up-to-date in case will opt-in later.
|
| - profile_->GetPrefs()->SetString(
|
| - sync_driver::prefs::kEnhancedBookmarksExtensionId,
|
| - experiments.enhanced_bookmarks_ext_id);
|
| - } else {
|
| - profile_->GetPrefs()->ClearPref(
|
| - sync_driver::prefs::kEnhancedBookmarksExperimentEnabled);
|
| - profile_->GetPrefs()->ClearPref(
|
| - sync_driver::prefs::kEnhancedBookmarksExtensionId);
|
| - }
|
| - }
|
| - BookmarksExperimentState bookmarks_experiment_state =
|
| - static_cast<BookmarksExperimentState>(profile_->GetPrefs()->GetInteger(
|
| - sync_driver::prefs::kEnhancedBookmarksExperimentEnabled));
|
| - // If bookmark experiment state was changed update about flags experiment.
|
| - if (bookmarks_experiment_state_before != bookmarks_experiment_state) {
|
| - ForceFinchBookmarkExperimentIfNeeded(g_browser_process->local_state(),
|
| - bookmarks_experiment_state);
|
| + profile_->GetPrefs()->ClearPref(
|
| + sync_driver::prefs::kEnhancedBookmarksExtensionId);
|
| }
|
| + UpdateBookmarksExperimentState(
|
| + profile_->GetPrefs(), g_browser_process->local_state(), true,
|
| + experiments.enhanced_bookmarks_enabled ? kBookmarksExperimentEnabled :
|
| + kNoBookmarksExperiment);
|
|
|
| // If this is a first time sync for a client, this will be called before
|
| // OnBackendInitialized() to ensure the new datatypes are available at sync
|
|
|