Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(858)

Unified Diff: chrome/browser/ui/webui/sync_promo/sync_promo_trial.cc

Issue 9730021: Remove experimental sync promo layouts (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: a Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/sync_promo/sync_promo_trial.cc
diff --git a/chrome/browser/ui/webui/sync_promo/sync_promo_trial.cc b/chrome/browser/ui/webui/sync_promo/sync_promo_trial.cc
index 6f6b564ac3d4fb816976dc9021dfdcf09b0b2764..278b22db6280410f87986b804afec4d8f9fba258 100644
--- a/chrome/browser/ui/webui/sync_promo/sync_promo_trial.cc
+++ b/chrome/browser/ui/webui/sync_promo/sync_promo_trial.cc
@@ -4,210 +4,14 @@
#include "chrome/browser/ui/webui/sync_promo/sync_promo_trial.h"
-#include "base/command_line.h"
-#include "base/metrics/field_trial.h"
-#include "base/string_number_conversions.h"
-#include "base/string_util.h"
-#include "chrome/browser/google/google_util.h"
-#include "chrome/browser/metrics/metrics_service.h"
-#include "chrome/browser/prefs/pref_service.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/webui/sync_promo/sync_promo_ui.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/common/chrome_version_info.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/browser/web_ui.h"
-#include "grit/generated_resources.h"
-
-namespace {
-
-const char kLayoutExperimentTrialName[] = "SyncPromoLayoutExperiment";
-
-enum LayoutExperimentType {
- LAYOUT_EXPERIMENT_DEFAULT = 0,
- LAYOUT_EXPERIMENT_DEVICES,
- LAYOUT_EXPERIMENT_VERBOSE,
- LAYOUT_EXPERIMENT_SIMPLE,
- LAYOUT_EXPERIMENT_NONE,
- LAYOUT_EXPERIMENT_DIALOG,
- LAYOUT_EXPERIMENT_BOUNDARY,
-};
-
-// Flag to make sure sync_promo_trial::Activate() has been called.
-bool sync_promo_trial_initialized;
-
-// Checks if a sync promo layout experiment is active. If it is active then the
-// layout type is return in |type|.
-bool GetActiveLayoutExperiment(LayoutExperimentType* type) {
- DCHECK(type);
-
- int version = 0;
- if (base::StringToInt(CommandLine::ForCurrentProcess()->
- GetSwitchValueASCII(switches::kSyncPromoVersion), &version)) {
- switch (version) {
- case SyncPromoUI::VERSION_DEFAULT:
- *type = LAYOUT_EXPERIMENT_DEFAULT;
- return true;
- case SyncPromoUI::VERSION_DEVICES:
- *type = LAYOUT_EXPERIMENT_DEVICES;
- return true;
- case SyncPromoUI::VERSION_VERBOSE:
- *type = LAYOUT_EXPERIMENT_VERBOSE;
- return true;
- case SyncPromoUI::VERSION_SIMPLE:
- *type = LAYOUT_EXPERIMENT_SIMPLE;
- return true;
- case SyncPromoUI::VERSION_DIALOG:
- *type = LAYOUT_EXPERIMENT_DIALOG;
- return true;
- default:
- return false;
- }
- }
-
- if (chrome::VersionInfo::GetChannel() ==
- chrome::VersionInfo::CHANNEL_STABLE) {
- std::string brand;
- if (!google_util::GetBrand(&brand))
- return false;
-
- if (brand == "GGRG" || brand == "CHCG")
- *type = LAYOUT_EXPERIMENT_DEFAULT;
- else if (brand == "GGRH" || brand == "CHCH")
- *type = LAYOUT_EXPERIMENT_DEVICES;
- else if (brand == "GGRI" || brand == "CHCI")
- *type = LAYOUT_EXPERIMENT_VERBOSE;
- else if (brand == "GGRJ" || brand == "CHCJ")
- *type = LAYOUT_EXPERIMENT_SIMPLE;
- else if (brand == "GGRL" || brand == "CHCL")
- *type = LAYOUT_EXPERIMENT_NONE;
- else if (brand == "GGRK" || brand == "CHCK")
- *type = LAYOUT_EXPERIMENT_DIALOG;
- else
- return false;
- } else {
- if (!base::FieldTrialList::TrialExists(kLayoutExperimentTrialName))
- return false;
- int value = base::FieldTrialList::FindValue(kLayoutExperimentTrialName) -
- base::FieldTrial::kDefaultGroupNumber;
- *type = static_cast<LayoutExperimentType>(value);
- }
-
- return true;
-}
-
-} // namespace
-
namespace sync_promo_trial {
-void Activate() {
- DCHECK(!sync_promo_trial_initialized);
- sync_promo_trial_initialized = true;
-
- // For stable builds we'll use brand codes to enroll uesrs into experiments.
- // For dev and beta we don't have brand codes so we randomly enroll users.
- if (chrome::VersionInfo::GetChannel() !=
- chrome::VersionInfo::CHANNEL_STABLE) {
-#if defined(GOOGLE_CHROME_BUILD)
- // Create a field trial that expires in August 8, 2012. It contains 6 groups
- // with each group having an equal chance of enrollment.
- scoped_refptr<base::FieldTrial> trial(new base::FieldTrial(
- kLayoutExperimentTrialName, 6, "default", 2012, 8, 1));
- if (base::FieldTrialList::IsOneTimeRandomizationEnabled())
- trial->UseOneTimeRandomization();
- trial->AppendGroup("", 1);
- trial->AppendGroup("", 1);
- trial->AppendGroup("", 1);
- trial->AppendGroup("", 1);
- trial->AppendGroup("", 1);
-#endif
- }
-}
-
-StartupOverride GetStartupOverrideForCurrentTrial() {
- DCHECK(sync_promo_trial_initialized);
-
- LayoutExperimentType type;
- if (GetActiveLayoutExperiment(&type)) {
- return type == LAYOUT_EXPERIMENT_NONE ? STARTUP_OVERRIDE_HIDE :
- STARTUP_OVERRIDE_SHOW;
- }
- return STARTUP_OVERRIDE_NONE;
-}
-
void RecordUserShownPromo(content::WebUI* web_ui) {
- DCHECK(sync_promo_trial_initialized);
-
- LayoutExperimentType type;
- if (GetActiveLayoutExperiment(&type)) {
- bool is_at_startup = SyncPromoUI::GetIsLaunchPageForSyncPromoURL(
- web_ui->GetWebContents()->GetURL());
- if (is_at_startup) {
- DCHECK(SyncPromoUI::HasShownPromoAtStartup(Profile::FromWebUI(web_ui)));
- UMA_HISTOGRAM_ENUMERATION("SyncPromo.ShownPromoWithLayoutExpAtStartup",
- type, LAYOUT_EXPERIMENT_BOUNDARY);
- } else {
- UMA_HISTOGRAM_ENUMERATION("SyncPromo.ShownPromoWithLayoutExp",
- type, LAYOUT_EXPERIMENT_BOUNDARY);
- }
- }
-}
-
-void RecordSyncPromoSuppressedForCurrentTrial() {
- DCHECK(sync_promo_trial_initialized);
- LayoutExperimentType type = LAYOUT_EXPERIMENT_DEFAULT;
- DCHECK(GetActiveLayoutExperiment(&type) && type == LAYOUT_EXPERIMENT_NONE);
- // Avoid warning about unused variable in release builds.
- (void)type;
- UMA_HISTOGRAM_ENUMERATION("SyncPromo.ShownPromoWithLayoutExpAtStartup",
- LAYOUT_EXPERIMENT_NONE, LAYOUT_EXPERIMENT_BOUNDARY);
+ // TODO(sail): Add new UMA stats here.
}
void RecordUserSignedIn(content::WebUI* web_ui) {
- DCHECK(sync_promo_trial_initialized);
-
- LayoutExperimentType type;
- if (GetActiveLayoutExperiment(&type)) {
- bool is_at_startup = SyncPromoUI::GetIsLaunchPageForSyncPromoURL(
- web_ui->GetWebContents()->GetURL());
- if (is_at_startup) {
- DCHECK(SyncPromoUI::HasShownPromoAtStartup(Profile::FromWebUI(web_ui)));
- UMA_HISTOGRAM_ENUMERATION("SyncPromo.SignedInWithLayoutExpAtStartup",
- type, LAYOUT_EXPERIMENT_BOUNDARY);
- } else {
- UMA_HISTOGRAM_ENUMERATION("SyncPromo.SignedInWithLayoutExp",
- type, LAYOUT_EXPERIMENT_BOUNDARY);
- }
- }
-}
-
-bool GetSyncPromoVersionForCurrentTrial(SyncPromoUI::Version* version) {
- DCHECK(sync_promo_trial_initialized);
- DCHECK(version);
-
- LayoutExperimentType type;
- if (!GetActiveLayoutExperiment(&type))
- return false;
-
- switch (type) {
- case LAYOUT_EXPERIMENT_DEFAULT:
- *version = SyncPromoUI::VERSION_DEFAULT;
- return true;
- case LAYOUT_EXPERIMENT_DEVICES:
- *version = SyncPromoUI::VERSION_DEVICES;
- return true;
- case LAYOUT_EXPERIMENT_VERBOSE:
- *version = SyncPromoUI::VERSION_VERBOSE;
- return true;
- case LAYOUT_EXPERIMENT_SIMPLE:
- *version = SyncPromoUI::VERSION_SIMPLE;
- return true;
- case LAYOUT_EXPERIMENT_DIALOG:
- *version = SyncPromoUI::VERSION_DIALOG;
- return true;
- default:
- return false;
- }
+ // TODO(sail): Add new UMA stats here.
}
} // namespace sync_promo_trial

Powered by Google App Engine
This is Rietveld 408576698