summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/about_flags.cc29
-rw-r--r--chrome/browser/android/bookmarks/bookmarks_bridge.cc5
-rw-r--r--chrome/browser/bookmarks/enhanced_bookmarks_features.cc204
-rw-r--r--chrome/browser/bookmarks/enhanced_bookmarks_features.h54
-rw-r--r--chrome/browser/chrome_browser_main_android.cc2
-rw-r--r--chrome/browser/enhanced_bookmarks/android/enhanced_bookmark_tab_helper.cc7
-rw-r--r--chrome/browser/extensions/external_component_loader.cc6
-rw-r--r--chrome/browser/sync/profile_sync_service.cc14
-rw-r--r--chrome/common/chrome_switches.cc5
-rw-r--r--components/sync_driver/pref_names.cc6
-rw-r--r--components/sync_driver/pref_names.h3
-rw-r--r--components/sync_driver/sync_prefs.cc11
-rw-r--r--sync/internal_api/sync_manager_impl.cc17
-rw-r--r--sync/protocol/experiments_specifics.proto3
-rw-r--r--sync/protocol/proto_value_conversions.cc9
-rw-r--r--tools/metrics/histograms/histograms.xml3
16 files changed, 32 insertions, 346 deletions
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 8c9e85e..7555784 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -18,7 +18,6 @@
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "cc/base/switches.h"
-#include "chrome/browser/bookmarks/enhanced_bookmarks_features.h"
#include "chrome/browser/flags_storage.h"
#include "chrome/common/chrome_content_client.h"
#include "chrome/common/chrome_switches.h"
@@ -1675,20 +1674,6 @@ const Experiment kExperiments[] = {
switches::kEnhancedBookmarksExperiment, "1",
switches::kEnhancedBookmarksExperiment, "0")
},
- {
- "manual-enhanced-bookmarks",
- IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_NAME,
- IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_DESCRIPTION,
- kOsDesktop | kOsAndroid,
- SINGLE_VALUE_TYPE(switches::kManualEnhancedBookmarks)
- },
- {
- "manual-enhanced-bookmarks-optout",
- IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_NAME,
- IDS_FLAGS_ENABLE_ENHANCED_BOOKMARKS_DESCRIPTION,
- kOsDesktop | kOsAndroid,
- SINGLE_VALUE_TYPE(switches::kManualEnhancedBookmarksOptout)
- },
#if defined(OS_ANDROID)
{
"enable-zero-suggest-experiment",
@@ -2382,12 +2367,6 @@ void GetSanitizedEnabledFlags(
bool SkipConditionalExperiment(const Experiment& experiment,
FlagsStorage* flags_storage) {
- if ((experiment.internal_name == std::string("manual-enhanced-bookmarks")) ||
- (experiment.internal_name ==
- std::string("manual-enhanced-bookmarks-optout"))) {
- return true;
- }
-
#if defined(OS_ANDROID) || defined(ENABLE_DATA_REDUCTION_PROXY_DEBUGGING)
chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel();
#endif
@@ -2740,14 +2719,6 @@ void FlagsState::ConvertFlagsToSwitches(FlagsStorage* flags_storage,
continue;
}
-#if defined(OS_CHROMEOS)
- // On Chrome OS setting command line flag may make browser to restart on
- // user login. As this flag eventually will be set to a significant number
- // of users skip manual-enhanced-bookmarks to avoid restart.
- if (experiment_name == "manual-enhanced-bookmarks")
- continue;
-#endif
-
const std::pair<std::string, std::string>&
switch_and_value_pair = name_to_switch_it->second;
diff --git a/chrome/browser/android/bookmarks/bookmarks_bridge.cc b/chrome/browser/android/bookmarks/bookmarks_bridge.cc
index 8a9a1f3..e51ca3e 100644
--- a/chrome/browser/android/bookmarks/bookmarks_bridge.cc
+++ b/chrome/browser/android/bookmarks/bookmarks_bridge.cc
@@ -142,8 +142,7 @@ static jlong Init(JNIEnv* env, jobject obj, jobject j_profile) {
static jboolean IsEnhancedBookmarksFeatureEnabled(JNIEnv* env,
jclass clazz,
jobject j_profile) {
- Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile);
- return IsEnhancedBookmarksEnabled(profile->GetPrefs());
+ return IsEnhancedBookmarksEnabled();
}
static bool IsEditBookmarksEnabled(Profile* profile) {
@@ -739,7 +738,7 @@ base::string16 BookmarksBridge::GetTitle(const BookmarkNode* node) const {
return partner_bookmarks_shim_->GetTitle(node);
if (node == bookmark_model_->bookmark_bar_node()
- && IsEnhancedBookmarksEnabled(profile_->GetPrefs())) {
+ && IsEnhancedBookmarksEnabled()) {
return l10n_util::GetStringUTF16(IDS_ENHANCED_BOOKMARK_BAR_FOLDER_NAME);
}
diff --git a/chrome/browser/bookmarks/enhanced_bookmarks_features.cc b/chrome/browser/bookmarks/enhanced_bookmarks_features.cc
index 142e5cb..9f681c6 100644
--- a/chrome/browser/bookmarks/enhanced_bookmarks_features.cc
+++ b/chrome/browser/bookmarks/enhanced_bookmarks_features.cc
@@ -30,200 +30,35 @@ namespace {
const char kFieldTrialName[] = "EnhancedBookmarks";
-// Get extension id from Finch EnhancedBookmarks group parameters.
-std::string GetEnhancedBookmarksExtensionIdFromFinch() {
- return variations::GetVariationParamValue(kFieldTrialName, "id");
-}
-
-// Returns true if enhanced bookmarks experiment is enabled from Finch.
-bool IsEnhancedBookmarksExperimentEnabledFromFinch() {
- const std::string ext_id = GetEnhancedBookmarksExtensionIdFromFinch();
-#if defined(OS_ANDROID)
- return !ext_id.empty();
-#else
- const extensions::FeatureProvider* feature_provider =
- extensions::FeatureProvider::GetPermissionFeatures();
- extensions::Feature* feature = feature_provider->GetFeature("metricsPrivate");
- return feature && feature->IsIdInWhitelist(ext_id);
-#endif
-}
-
-}; // namespace
+} // namespace
-bool GetBookmarksExperimentExtensionID(const PrefService* user_prefs,
- std::string* extension_id) {
- BookmarksExperimentState bookmarks_experiment_state =
- static_cast<BookmarksExperimentState>(user_prefs->GetInteger(
- sync_driver::prefs::kEnhancedBookmarksExperimentEnabled));
- if (bookmarks_experiment_state == BOOKMARKS_EXPERIMENT_ENABLED_FROM_FINCH) {
- *extension_id = GetEnhancedBookmarksExtensionIdFromFinch();
- return !extension_id->empty();
- }
- if (bookmarks_experiment_state == BOOKMARKS_EXPERIMENT_ENABLED) {
- *extension_id = user_prefs->GetString(
- sync_driver::prefs::kEnhancedBookmarksExtensionId);
- return !extension_id->empty();
- }
-
- return false;
-}
-
-void UpdateBookmarksExperimentState(
- PrefService* user_prefs,
- PrefService* local_state,
- bool user_signed_in,
- BookmarksExperimentState experiment_enabled_from_sync) {
- PrefService* flags_storage = local_state;
-#if defined(OS_CHROMEOS)
- // Chrome OS is using user prefs for flags storage.
- flags_storage = user_prefs;
-#endif
-
- BookmarksExperimentState bookmarks_experiment_state_before =
- static_cast<BookmarksExperimentState>(user_prefs->GetInteger(
- sync_driver::prefs::kEnhancedBookmarksExperimentEnabled));
- // If user signed out, clear possible previous state.
- if (!user_signed_in) {
- bookmarks_experiment_state_before = BOOKMARKS_EXPERIMENT_NONE;
- ForceFinchBookmarkExperimentIfNeeded(flags_storage,
- BOOKMARKS_EXPERIMENT_NONE);
- }
+bool GetBookmarksExperimentExtensionID(std::string* extension_id) {
+ *extension_id = variations::GetVariationParamValue(kFieldTrialName, "id");
+ if (extension_id->empty())
+ return false;
// kEnhancedBookmarksExperiment flag could have values "", "1" and "0".
// "0" - user opted out.
bool opt_out = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
- switches::kEnhancedBookmarksExperiment) == "0";
+ switches::kEnhancedBookmarksExperiment) == "0";
- BookmarksExperimentState bookmarks_experiment_new_state =
- BOOKMARKS_EXPERIMENT_NONE;
-
- if (IsEnhancedBookmarksExperimentEnabledFromFinch() && !user_signed_in) {
- if (opt_out) {
- // Experiment enabled but user opted out.
- bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_OPT_OUT_FROM_FINCH;
- } else {
- // Experiment enabled.
- bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED_FROM_FINCH;
- }
- } else if (experiment_enabled_from_sync == BOOKMARKS_EXPERIMENT_ENABLED) {
- // Experiment enabled from Chrome sync.
- if (opt_out) {
- // Experiment enabled but user opted out.
- bookmarks_experiment_new_state =
- BOOKMARKS_EXPERIMENT_ENABLED_USER_OPT_OUT;
- } else {
- // Experiment enabled.
- bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED;
- }
- } else if (experiment_enabled_from_sync == BOOKMARKS_EXPERIMENT_NONE) {
- // Experiment is not enabled from Chrome sync.
- bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_NONE;
- } else if (bookmarks_experiment_state_before ==
- BOOKMARKS_EXPERIMENT_ENABLED) {
- if (opt_out) {
- // Experiment enabled but user opted out.
- bookmarks_experiment_new_state =
- BOOKMARKS_EXPERIMENT_ENABLED_USER_OPT_OUT;
- } else {
- bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED;
- }
- } else if (bookmarks_experiment_state_before ==
- BOOKMARKS_EXPERIMENT_ENABLED_USER_OPT_OUT) {
- if (opt_out) {
- bookmarks_experiment_new_state =
- BOOKMARKS_EXPERIMENT_ENABLED_USER_OPT_OUT;
- } else {
- // User opted in again.
- bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED;
- }
- }
+ if (opt_out)
+ return false;
#if defined(OS_ANDROID)
- if (base::android::BuildInfo::GetInstance()->sdk_int() <=
- base::android::SdkVersion::SDK_VERSION_ICE_CREAM_SANDWICH_MR1) {
- opt_out = true;
- bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_NONE;
- }
- bool opt_in = !opt_out &&
- base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
- switches::kEnhancedBookmarksExperiment) == "1";
- if (opt_in && bookmarks_experiment_new_state == BOOKMARKS_EXPERIMENT_NONE)
- bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED;
-#endif
-
- UMA_HISTOGRAM_ENUMERATION("EnhancedBookmarks.SyncExperimentState",
- bookmarks_experiment_new_state,
- BOOKMARKS_EXPERIMENT_ENUM_SIZE);
- user_prefs->SetInteger(
- sync_driver::prefs::kEnhancedBookmarksExperimentEnabled,
- bookmarks_experiment_new_state);
- ForceFinchBookmarkExperimentIfNeeded(flags_storage,
- bookmarks_experiment_new_state);
-}
-
-void InitBookmarksExperimentState(Profile* profile) {
- SigninManagerBase* signin = SigninManagerFactory::GetForProfile(profile);
- bool is_signed_in = signin && signin->IsAuthenticated();
- UpdateBookmarksExperimentState(
- profile->GetPrefs(),
- g_browser_process->local_state(),
- is_signed_in,
- BOOKMARKS_EXPERIMENT_ENABLED_FROM_SYNC_UNKNOWN);
-}
-
-void ForceFinchBookmarkExperimentIfNeeded(
- PrefService* flags_storage,
- BookmarksExperimentState bookmarks_experiment_state) {
- if (!flags_storage)
- return;
- ListPrefUpdate update(flags_storage, prefs::kEnabledLabsExperiments);
- base::ListValue* experiments_list = update.Get();
- if (!experiments_list)
- return;
- size_t index;
- if (bookmarks_experiment_state == BOOKMARKS_EXPERIMENT_NONE) {
- experiments_list->Remove(
- base::StringValue(switches::kManualEnhancedBookmarks), &index);
- experiments_list->Remove(
- base::StringValue(switches::kManualEnhancedBookmarksOptout), &index);
- } else if (bookmarks_experiment_state == BOOKMARKS_EXPERIMENT_ENABLED) {
- experiments_list->Remove(
- base::StringValue(switches::kManualEnhancedBookmarksOptout), &index);
- experiments_list->AppendIfNotPresent(
- new base::StringValue(switches::kManualEnhancedBookmarks));
- } else if (bookmarks_experiment_state ==
- BOOKMARKS_EXPERIMENT_ENABLED_USER_OPT_OUT) {
- experiments_list->Remove(
- base::StringValue(switches::kManualEnhancedBookmarks), &index);
- experiments_list->AppendIfNotPresent(
- new base::StringValue(switches::kManualEnhancedBookmarksOptout));
- }
-}
-
-bool IsEnhancedBookmarksExperimentEnabled(
- about_flags::FlagsStorage* flags_storage) {
-#if defined(OS_CHROMEOS)
- // We are not setting command line flags on Chrome OS to avoid browser restart
- // but still have flags in flags_storage. So check flags_storage instead.
- const std::set<std::string> flags = flags_storage->GetFlags();
- if (flags.find(switches::kManualEnhancedBookmarks) != flags.end())
- return true;
- if (flags.find(switches::kManualEnhancedBookmarksOptout) != flags.end())
- return true;
+ return base::android::BuildInfo::GetInstance()->sdk_int() >
+ base::android::SdkVersion::SDK_VERSION_ICE_CREAM_SANDWICH_MR1;
#else
- base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
- if (command_line->HasSwitch(switches::kManualEnhancedBookmarks) ||
- command_line->HasSwitch(switches::kManualEnhancedBookmarksOptout)) {
- return true;
- }
+ const extensions::FeatureProvider* feature_provider =
+ extensions::FeatureProvider::GetPermissionFeatures();
+ extensions::Feature* feature = feature_provider->GetFeature("metricsPrivate");
+ return feature && feature->IsIdInWhitelist(*extension_id);
#endif
-
- return IsEnhancedBookmarksExperimentEnabledFromFinch();
}
#if defined(OS_ANDROID)
bool IsEnhancedBookmarkImageFetchingEnabled(const PrefService* user_prefs) {
- if (IsEnhancedBookmarksEnabled(user_prefs))
+ if (IsEnhancedBookmarksEnabled())
return true;
// Salient images are collected from visited bookmarked pages even if the
@@ -236,12 +71,9 @@ bool IsEnhancedBookmarkImageFetchingEnabled(const PrefService* user_prefs) {
return disable_fetching.empty();
}
-bool IsEnhancedBookmarksEnabled(const PrefService* user_prefs) {
- BookmarksExperimentState bookmarks_experiment_state =
- static_cast<BookmarksExperimentState>(user_prefs->GetInteger(
- sync_driver::prefs::kEnhancedBookmarksExperimentEnabled));
- return bookmarks_experiment_state == BOOKMARKS_EXPERIMENT_ENABLED ||
- bookmarks_experiment_state == BOOKMARKS_EXPERIMENT_ENABLED_FROM_FINCH;
+bool IsEnhancedBookmarksEnabled() {
+ std::string extension_id;
+ return GetBookmarksExperimentExtensionID(&extension_id);
}
#endif
diff --git a/chrome/browser/bookmarks/enhanced_bookmarks_features.h b/chrome/browser/bookmarks/enhanced_bookmarks_features.h
index 7faf6bc..8e6a987 100644
--- a/chrome/browser/bookmarks/enhanced_bookmarks_features.h
+++ b/chrome/browser/bookmarks/enhanced_bookmarks_features.h
@@ -9,57 +9,11 @@
#include "build/build_config.h"
-namespace about_flags {
-class FlagsStorage;
-} // namespace about_flags
-
class PrefService;
-class Profile;
-
-// States for bookmark experiment. They are set by Chrome sync into
-// sync_driver::prefs::kEnhancedBookmarksExperimentEnabled user preference and
-// used for UMA reporting as well.
-enum BookmarksExperimentState {
- BOOKMARKS_EXPERIMENT_NONE,
- BOOKMARKS_EXPERIMENT_ENABLED,
- BOOKMARKS_EXPERIMENT_ENABLED_USER_OPT_OUT,
- BOOKMARKS_EXPERIMENT_ENABLED_FROM_FINCH,
- BOOKMARKS_EXPERIMENT_OPT_OUT_FROM_FINCH,
- BOOKMARKS_EXPERIMENT_ENABLED_FROM_FINCH_USER_SIGNEDIN,
- BOOKMARKS_EXPERIMENT_ENABLED_FROM_SYNC_UNKNOWN,
- BOOKMARKS_EXPERIMENT_ENUM_SIZE
-};
-
-// Returns true and sets |extension_id| if bookmarks experiment enabled
-// false if no bookmark experiment or extension id is empty.
-bool GetBookmarksExperimentExtensionID(const PrefService* user_prefs,
- std::string* extension_id);
-
-// Updates bookmark experiment state based on information from Chrome sync,
-// Finch experiments, and command line flag.
-void UpdateBookmarksExperimentState(
- PrefService* user_prefs,
- PrefService* local_state,
- bool user_signed_in,
- BookmarksExperimentState experiment_enabled_from_sync);
-
-// Same as UpdateBookmarksExperimentState, but the last argument with
-// BOOKMARKS_EXPERIMENT_ENABLED_FROM_SYNC_UNKNOWN.
-// Intended for performing initial configuration of bookmarks experiments
-// when the browser is first initialized.
-void InitBookmarksExperimentState(Profile* profile);
-
-// Sets flag to opt-in user into Finch experiment.
-void ForceFinchBookmarkExperimentIfNeeded(
- PrefService* local_state,
- BookmarksExperimentState bookmarks_experiment_state);
-// Returns true if enhanced bookmarks experiment is running.
-// Experiment could run by Chrome sync or by Finch.
-// Note that this doesn't necessarily mean that enhanced bookmarks
-// is enabled, e.g., user can opt out using a flag.
-bool IsEnhancedBookmarksExperimentEnabled(
- about_flags::FlagsStorage* flags_storage);
+// Returns true and sets |extension_id| if enhanced bookmarks experiment is
+// enabled. Returns false if no bookmark experiment or extension id is empty.
+bool GetBookmarksExperimentExtensionID(std::string* extension_id);
#if defined(OS_ANDROID)
// Returns true if enhanced bookmark salient image prefetching is enabled.
@@ -67,7 +21,7 @@ bool IsEnhancedBookmarksExperimentEnabled(
bool IsEnhancedBookmarkImageFetchingEnabled(const PrefService* user_prefs);
// Returns true if enhanced bookmarks is enabled.
-bool IsEnhancedBookmarksEnabled(const PrefService* user_prefs);
+bool IsEnhancedBookmarksEnabled();
#endif
diff --git a/chrome/browser/chrome_browser_main_android.cc b/chrome/browser/chrome_browser_main_android.cc
index f79ab49..87c0bd8 100644
--- a/chrome/browser/chrome_browser_main_android.cc
+++ b/chrome/browser/chrome_browser_main_android.cc
@@ -7,7 +7,6 @@
#include "base/command_line.h"
#include "base/path_service.h"
#include "base/trace_event/trace_event.h"
-#include "chrome/browser/bookmarks/enhanced_bookmarks_features.h"
#include "chrome/browser/google/google_search_counter_android.h"
#include "chrome/browser/signin/signin_manager_factory.h"
#include "chrome/common/chrome_paths.h"
@@ -62,7 +61,6 @@ int ChromeBrowserMainPartsAndroid::PreCreateThreads() {
void ChromeBrowserMainPartsAndroid::PostProfileInit() {
Profile* main_profile = profile();
search_counter_.reset(new GoogleSearchCounterAndroid(main_profile));
- InitBookmarksExperimentState(main_profile);
ChromeBrowserMainParts::PostProfileInit();
}
diff --git a/chrome/browser/enhanced_bookmarks/android/enhanced_bookmark_tab_helper.cc b/chrome/browser/enhanced_bookmarks/android/enhanced_bookmark_tab_helper.cc
index 1b5675b..0fb5e58 100644
--- a/chrome/browser/enhanced_bookmarks/android/enhanced_bookmark_tab_helper.cc
+++ b/chrome/browser/enhanced_bookmarks/android/enhanced_bookmark_tab_helper.cc
@@ -22,16 +22,13 @@ void EnhancedBookmarkTabHelper::DocumentOnLoadCompletedInMainFrame() {
if (profile->IsOffTheRecord())
return;
- bool is_enhanced_bookmarks_enabled =
- IsEnhancedBookmarksEnabled(profile->GetPrefs());
- if (!is_enhanced_bookmarks_enabled)
+ if (!IsEnhancedBookmarksEnabled())
return;
BookmarkImageServiceAndroid* storage =
static_cast<BookmarkImageServiceAndroid*>(
BookmarkImageServiceFactory::GetForBrowserContext(profile));
- storage->FinishSuccessfulPageLoadForTab(web_contents(),
- is_enhanced_bookmarks_enabled);
+ storage->FinishSuccessfulPageLoadForTab(web_contents(), true);
}
EnhancedBookmarkTabHelper::EnhancedBookmarkTabHelper(
diff --git a/chrome/browser/extensions/external_component_loader.cc b/chrome/browser/extensions/external_component_loader.cc
index 3a0eacf..7d04357 100644
--- a/chrome/browser/extensions/external_component_loader.cc
+++ b/chrome/browser/extensions/external_component_loader.cc
@@ -65,13 +65,9 @@ void ExternalComponentLoader::StartLoading() {
extension_urls::GetWebstoreUpdateUrl().spec());
}
- InitBookmarksExperimentState(profile_);
-
{
std::string extension_id;
- if (GetBookmarksExperimentExtensionID(profile_->GetPrefs(),
- &extension_id) &&
- !extension_id.empty()) {
+ if (GetBookmarksExperimentExtensionID(&extension_id)) {
prefs_->SetString(extension_id + ".external_update_url",
extension_urls::GetWebstoreUpdateUrl().spec());
}
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc
index 34b8560..7ea11bc 100644
--- a/chrome/browser/sync/profile_sync_service.cc
+++ b/chrome/browser/sync/profile_sync_service.cc
@@ -24,7 +24,6 @@
#include "base/strings/stringprintf.h"
#include "base/threading/thread_restrictions.h"
#include "build/build_config.h"
-#include "chrome/browser/bookmarks/enhanced_bookmarks_features.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browsing_data/browsing_data_helper.h"
#include "chrome/browser/chrome_notification_types.h"
@@ -1164,19 +1163,6 @@ void ProfileSyncService::OnExperimentsChanged(
autofill::prefs::kAutofillWalletSyncExperimentEnabled,
experiments.wallet_sync_enabled);
- if (experiments.enhanced_bookmarks_enabled) {
- profile_->GetPrefs()->SetString(
- sync_driver::prefs::kEnhancedBookmarksExtensionId,
- experiments.enhanced_bookmarks_ext_id);
- } else {
- profile_->GetPrefs()->ClearPref(
- sync_driver::prefs::kEnhancedBookmarksExtensionId);
- }
- UpdateBookmarksExperimentState(
- profile_->GetPrefs(), g_browser_process->local_state(), true,
- experiments.enhanced_bookmarks_enabled ? BOOKMARKS_EXPERIMENT_ENABLED :
- BOOKMARKS_EXPERIMENT_NONE);
-
// 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
// setup. As a result, the migrator won't exist yet. This is fine because for
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index 2084954..2881fa8 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -766,11 +766,6 @@ const char kLoadExtension[] = "load-extension";
// Makes Chrome default browser
const char kMakeDefaultBrowser[] = "make-default-browser";
-// Use to opt-in user into Finch experiment groups.
-const char kManualEnhancedBookmarks[] = "manual-enhanced-bookmarks";
-const char kManualEnhancedBookmarksOptout[] =
- "manual-enhanced-bookmarks-optout";
-
// Use to opt-in to marking HTTP as non-secure.
const char kMarkNonSecureAs[] = "mark-non-secure-as";
const char kMarkNonSecureAsNeutral[] = "neutral";
diff --git a/components/sync_driver/pref_names.cc b/components/sync_driver/pref_names.cc
index 6ce6585..9ba8dda 100644
--- a/components/sync_driver/pref_names.cc
+++ b/components/sync_driver/pref_names.cc
@@ -8,12 +8,6 @@ namespace sync_driver {
namespace prefs {
-// Set to true when enhanced bookmarks experiment is enabled via Chrome sync.
-const char kEnhancedBookmarksExperimentEnabled[] = "enhanced_bookmarks_enabled";
-
-// Enhanced bookmarks extension id passed via Chrome sync.
-const char kEnhancedBookmarksExtensionId[] = "enhanced_bookmarks_extension_id";
-
// 64-bit integer serialization of the base::Time when the last sync occurred.
const char kSyncLastSyncedTime[] = "sync.last_synced_time";
diff --git a/components/sync_driver/pref_names.h b/components/sync_driver/pref_names.h
index 5eb8578..425fb41 100644
--- a/components/sync_driver/pref_names.h
+++ b/components/sync_driver/pref_names.h
@@ -10,9 +10,6 @@ namespace sync_driver {
namespace prefs {
-extern const char kEnhancedBookmarksExperimentEnabled[];
-extern const char kEnhancedBookmarksExtensionId[];
-
extern const char kSyncLastSyncedTime[];
extern const char kSyncHasAuthError[];
extern const char kSyncHasSetupCompleted[];
diff --git a/components/sync_driver/sync_prefs.cc b/components/sync_driver/sync_prefs.cc
index c1c228ac..4f1b27f 100644
--- a/components/sync_driver/sync_prefs.cc
+++ b/components/sync_driver/sync_prefs.cc
@@ -72,17 +72,6 @@ void SyncPrefs::RegisterProfilePrefs(
user_types.Remove(syncer::BOOKMARKS);
user_types.Remove(syncer::DEVICE_INFO);
- // These two prefs are set from sync experiment to enable enhanced bookmarks.
- registry->RegisterIntegerPref(
- prefs::kEnhancedBookmarksExperimentEnabled,
- 0,
- user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
-
- registry->RegisterStringPref(
- prefs::kEnhancedBookmarksExtensionId,
- std::string(),
- user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
-
// All types are set to off by default, which forces a configuration to
// explicitly enable them. GetPreferredTypes() will ensure that any new
// implicit types are enabled when their pref group is, or via
diff --git a/sync/internal_api/sync_manager_impl.cc b/sync/internal_api/sync_manager_impl.cc
index 36c27ba..c71b68c 100644
--- a/sync/internal_api/sync_manager_impl.cc
+++ b/sync/internal_api/sync_manager_impl.cc
@@ -970,23 +970,6 @@ bool SyncManagerImpl::ReceivedExperiment(Experiments* experiments) {
// know about this.
}
- ReadNode enhanced_bookmarks_node(&trans);
- if (enhanced_bookmarks_node.InitByClientTagLookup(
- syncer::EXPERIMENTS, syncer::kEnhancedBookmarksTag) ==
- BaseNode::INIT_OK &&
- enhanced_bookmarks_node.GetExperimentsSpecifics()
- .has_enhanced_bookmarks()) {
- const sync_pb::EnhancedBookmarksFlags& enhanced_bookmarks =
- enhanced_bookmarks_node.GetExperimentsSpecifics().enhanced_bookmarks();
- if (enhanced_bookmarks.has_enabled())
- experiments->enhanced_bookmarks_enabled = enhanced_bookmarks.enabled();
- if (enhanced_bookmarks.has_extension_id()) {
- experiments->enhanced_bookmarks_ext_id =
- enhanced_bookmarks.extension_id();
- }
- found_experiment = true;
- }
-
ReadNode gcm_invalidations_node(&trans);
if (gcm_invalidations_node.InitByClientTagLookup(
syncer::EXPERIMENTS, syncer::kGCMInvalidationsTag) ==
diff --git a/sync/protocol/experiments_specifics.proto b/sync/protocol/experiments_specifics.proto
index 3006223..4fc0ada 100644
--- a/sync/protocol/experiments_specifics.proto
+++ b/sync/protocol/experiments_specifics.proto
@@ -70,7 +70,8 @@ message ExperimentsSpecifics {
optional FaviconSyncFlags favicon_sync = 4;
optional PreCommitUpdateAvoidanceFlags pre_commit_update_avoidance = 5;
optional GcmChannelFlags gcm_channel = 6;
- optional EnhancedBookmarksFlags enhanced_bookmarks = 7;
+ // No longer used as of M43.
+ optional EnhancedBookmarksFlags obsolete_enhanced_bookmarks = 7;
optional GcmInvalidationsFlags gcm_invalidations = 8;
optional WalletSyncFlags wallet_sync = 9;
}
diff --git a/sync/protocol/proto_value_conversions.cc b/sync/protocol/proto_value_conversions.cc
index 162062d..de55704 100644
--- a/sync/protocol/proto_value_conversions.cc
+++ b/sync/protocol/proto_value_conversions.cc
@@ -418,14 +418,6 @@ base::DictionaryValue* FaviconSyncFlagsToValue(
return value;
}
-base::DictionaryValue* EnhancedBookmarksFlagsToValue(
- const sync_pb::EnhancedBookmarksFlags& proto) {
- base::DictionaryValue* value = new base::DictionaryValue();
- SET_BOOL(enabled);
- SET_STR(extension_id);
- return value;
-}
-
} // namespace
base::DictionaryValue* ExperimentsSpecificsToValue(
@@ -437,7 +429,6 @@ base::DictionaryValue* ExperimentsSpecificsToValue(
SET_EXPERIMENT_ENABLED_FIELD(pre_commit_update_avoidance);
SET(favicon_sync, FaviconSyncFlagsToValue);
SET_EXPERIMENT_ENABLED_FIELD(gcm_channel);
- SET(enhanced_bookmarks, EnhancedBookmarksFlagsToValue);
SET_EXPERIMENT_ENABLED_FIELD(gcm_invalidations);
SET_EXPERIMENT_ENABLED_FIELD(wallet_sync);
return value;
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index f2d5cba..49bd9a7 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -6819,6 +6819,9 @@ Therefore, the affected-histogram name has to have at least one dot in it.
<histogram name="EnhancedBookmarks.SyncExperimentState"
enum="BookmarksExperimentState">
+ <obsolete>
+ Removed 3/2015 along with the enhanced bookmarks sync experiment.
+ </obsolete>
<owner>noyau@chromium.org</owner>
<owner>yefim@chromium.org</owner>
<summary>