summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-26 11:10:31 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-26 11:10:31 +0000
commitc3e113bb2d05faae0871fb593a20c7f772c394e7 (patch)
tree453780dad2bdfddf844b38e9cd38fb7476dbcf8a
parent113f3910e87fa07dafe009ed57a9aa4aa6865a0f (diff)
downloadchromium_src-c3e113bb2d05faae0871fb593a20c7f772c394e7.zip
chromium_src-c3e113bb2d05faae0871fb593a20c7f772c394e7.tar.gz
chromium_src-c3e113bb2d05faae0871fb593a20c7f772c394e7.tar.bz2
Revert 94073 (broke a ton of tests) - Introduce a field trial for Instant.
Add a field trial for Instant, opting in 10% of undecided users into the experiment. "Undecided" means that users who have played with the Instant checkbox (in Preferences -> Basics) will be excluded from the field trial. When Instant is turned on in this manner, it's restricted to search (i.e., other non-search URLs are not previewed). If the user is selected into the experiment, the checkbox state in preferences will accurately reflect that Instant is on, even if the user didn't enable it explicitly. Although the experiment enables the "Restrict Instant to Search" functionality, it's not reflected in about:flags. I consider this deficiency to be minor, since (i) most users won't check about:flags anyway, and (ii) about:flags is already inconsistent in other ways (for example, it also doesn't show if you added --restrict-instant-to-search manually). Similarly for --preload-instant-search, which preloads the default search engine's homepage when the omnibox gets keyboard focus. We respect group policy. If prefs::kInstantEnabled is a managed pref, the field trial will not affect the user. We store the actual random number generated for the user in a pref so that the same user gets the same experience across browser restarts (i.e., one-time randomization). This also allows us to change (through a Chrome update) the percentages allocated to different groups and thus allocate users to groups differently. If we only stored the final determination of the user's group in the pref, changing the group percentages would have no effect. The code doesn't use base::FieldTrial, because this experiment needs one-time randomization, and base::FieldTrial only supports it if the user has opted-in to UMA (see http://codereview.chromium.org/7360001/ for some context). There is no explicit expiry date for this experiment. The experiment can be disabled by updating the field trial percentages in instant_field_trial.cc and shipping an update to Chrome (not much different from how base::FieldTrial also requires new builds to expire experiments). BUG=none TEST=Delete profile and restart Chrome enough times to see that Instant is ON by default about 10% of the time; fiddling with the preferences checkbox gives expected results. Review URL: http://codereview.chromium.org/7337007 TBR=sreeram@chromium.org Review URL: http://codereview.chromium.org/7461075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94077 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/autocomplete/autocomplete.cc9
-rw-r--r--chrome/browser/autocomplete/autocomplete.h7
-rw-r--r--chrome/browser/autocomplete/autocomplete_unittest.cc6
-rw-r--r--chrome/browser/autocomplete/search_provider_unittest.cc6
-rw-r--r--chrome/browser/instant/instant_controller.cc30
-rw-r--r--chrome/browser/instant/instant_field_trial.cc47
-rw-r--r--chrome/browser/instant/instant_field_trial.h49
-rw-r--r--chrome/browser/resources/options/browser_options.html2
-rw-r--r--chrome/browser/resources/options/browser_options.js33
-rw-r--r--chrome/browser/ui/webui/options/browser_options_handler.cc11
-rw-r--r--chrome/browser/ui/webui/options/browser_options_handler.h3
-rw-r--r--chrome/chrome_browser.gypi2
-rw-r--r--chrome/common/pref_names.cc4
-rw-r--r--chrome/common/pref_names.h1
-rw-r--r--chrome/test/data/webui/options.js2
-rw-r--r--chrome/test/functional/instant.py1
16 files changed, 14 insertions, 199 deletions
diff --git a/chrome/browser/autocomplete/autocomplete.cc b/chrome/browser/autocomplete/autocomplete.cc
index 6a87b83..48e7dd6 100644
--- a/chrome/browser/autocomplete/autocomplete.cc
+++ b/chrome/browser/autocomplete/autocomplete.cc
@@ -25,7 +25,6 @@
#include "chrome/browser/autocomplete/shortcuts_provider.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
#include "chrome/browser/external_protocol/external_protocol_handler.h"
-#include "chrome/browser/instant/instant_field_trial.h"
#include "chrome/browser/net/url_fixer_upper.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
@@ -794,8 +793,7 @@ AutocompleteController::AutocompleteController(
AutocompleteControllerDelegate* delegate)
: delegate_(delegate),
done_(true),
- in_start_(false),
- profile_(profile) {
+ in_start_(false) {
search_provider_ = new SearchProvider(this, profile);
providers_.push_back(search_provider_);
// TODO(mrossetti): Remove the following and permanently modify the
@@ -841,7 +839,6 @@ void AutocompleteController::SetProfile(Profile* profile) {
(*i)->SetProfile(profile);
input_.Clear(); // Ensure we don't try to do a "minimal_changes" query on a
// different profile.
- profile_ = profile;
}
void AutocompleteController::Start(
@@ -883,9 +880,7 @@ void AutocompleteController::Start(
if (matches_requested == AutocompleteInput::ALL_MATCHES &&
(text.length() < 6)) {
base::TimeTicks end_time = base::TimeTicks::Now();
- std::string name = "Omnibox.QueryTime." +
- InstantFieldTrial::GetGroupName(profile_) +
- base::IntToString(text.length());
+ std::string name = "Omnibox.QueryTime." + base::IntToString(text.length());
base::Histogram* counter = base::Histogram::FactoryGet(
name, 1, 1000, 50, base::Histogram::kUmaTargetedHistogramFlag);
counter->Add(static_cast<int>((end_time - start_time).InMilliseconds()));
diff --git a/chrome/browser/autocomplete/autocomplete.h b/chrome/browser/autocomplete/autocomplete.h
index 487e8bc..2a19545 100644
--- a/chrome/browser/autocomplete/autocomplete.h
+++ b/chrome/browser/autocomplete/autocomplete.h
@@ -599,14 +599,13 @@ class AutocompleteController : public ACProviderListener {
AutocompleteController(Profile* profile,
AutocompleteControllerDelegate* delegate);
#ifdef UNIT_TEST
- AutocompleteController(const ACProviders& providers, Profile* profile)
+ explicit AutocompleteController(const ACProviders& providers)
: delegate_(NULL),
providers_(providers),
keyword_provider_(NULL),
search_provider_(NULL),
done_(true),
- in_start_(false),
- profile_(profile) {
+ in_start_(false) {
}
#endif
~AutocompleteController();
@@ -729,8 +728,6 @@ class AutocompleteController : public ACProviderListener {
// notifications until Start() has been invoked on all providers.
bool in_start_;
- Profile* profile_;
-
DISALLOW_COPY_AND_ASSIGN(AutocompleteController);
};
diff --git a/chrome/browser/autocomplete/autocomplete_unittest.cc b/chrome/browser/autocomplete/autocomplete_unittest.cc
index be819c7..2b2a17b 100644
--- a/chrome/browser/autocomplete/autocomplete_unittest.cc
+++ b/chrome/browser/autocomplete/autocomplete_unittest.cc
@@ -153,8 +153,7 @@ void AutocompleteProviderTest::ResetControllerWithTestProviders(
providers_.push_back(providerB);
// Reset the controller to contain our new providers.
- AutocompleteController* controller =
- new AutocompleteController(providers_, &profile_);
+ AutocompleteController* controller = new AutocompleteController(providers_);
controller_.reset(controller);
providerA->set_listener(controller);
providerB->set_listener(controller);
@@ -202,8 +201,7 @@ void AutocompleteProviderTest::
search_provider->AddRef();
providers_.push_back(search_provider);
- AutocompleteController* controller =
- new AutocompleteController(providers_, &profile_);
+ AutocompleteController* controller = new AutocompleteController(providers_);
controller_.reset(controller);
}
diff --git a/chrome/browser/autocomplete/search_provider_unittest.cc b/chrome/browser/autocomplete/search_provider_unittest.cc
index 2f5a3a9..99b07e0 100644
--- a/chrome/browser/autocomplete/search_provider_unittest.cc
+++ b/chrome/browser/autocomplete/search_provider_unittest.cc
@@ -153,10 +153,6 @@ void SearchProviderTest::SetUp() {
provider_ = new SearchProvider(this, &profile_);
URLFetcher::set_factory(&test_factory_);
-
- // Prevent the Instant field trial from kicking in.
- PrefService* service = profile_.GetPrefs();
- service->SetBoolean(prefs::kInstantEnabledOnce, true);
}
void SearchProviderTest::OnProviderUpdate(bool updated_matches) {
@@ -627,7 +623,7 @@ TEST_F(SearchProviderTest, UpdateKeywordDescriptions) {
ACProviders providers;
SearchProvider* provider = provider_.release();
providers.push_back(provider);
- AutocompleteController controller(providers, &profile_);
+ AutocompleteController controller(providers);
controller.set_search_provider(provider);
provider->set_listener(&controller);
controller.Start(ASCIIToUTF16("k t"), string16(), false, false, true,
diff --git a/chrome/browser/instant/instant_controller.cc b/chrome/browser/instant/instant_controller.cc
index fad2793..4e99b3d 100644
--- a/chrome/browser/instant/instant_controller.cc
+++ b/chrome/browser/instant/instant_controller.cc
@@ -7,11 +7,9 @@
#include "base/command_line.h"
#include "base/message_loop.h"
#include "base/metrics/histogram.h"
-#include "base/rand_util.h"
#include "build/build_config.h"
#include "chrome/browser/autocomplete/autocomplete_match.h"
#include "chrome/browser/instant/instant_delegate.h"
-#include "chrome/browser/instant/instant_field_trial.h"
#include "chrome/browser/instant/instant_loader.h"
#include "chrome/browser/instant/instant_loader_manager.h"
#include "chrome/browser/instant/promo_counter.h"
@@ -51,10 +49,9 @@ InstantController::InstantController(Profile* profile,
last_transition_type_(PageTransition::LINK),
ALLOW_THIS_IN_INITIALIZER_LIST(destroy_factory_(this)) {
PrefService* service = profile->GetPrefs();
- if (service &&
- InstantFieldTrial::GetGroup(profile) == InstantFieldTrial::INACTIVE) {
- // kInstantEnabledOnce was added after instant, set it now to make sure it
- // is correctly set.
+ if (service) {
+ // kInstantWasEnabledOnce was added after instant, set it now to make sure
+ // it is correctly set.
service->SetBoolean(prefs::kInstantEnabledOnce, true);
}
}
@@ -76,9 +73,6 @@ void InstantController::RegisterUserPrefs(PrefService* prefs) {
prefs->RegisterInt64Pref(prefs::kInstantEnabledTime,
false,
PrefService::UNSYNCABLE_PREF);
- prefs->RegisterIntegerPref(prefs::kInstantFieldTrialRandomDraw,
- base::RandInt(0, 9999),
- PrefService::UNSYNCABLE_PREF);
PromoCounter::RegisterUserPrefs(prefs, prefs::kInstantPromo);
}
@@ -106,8 +100,7 @@ void InstantController::RecordMetrics(Profile* profile) {
// static
bool InstantController::IsEnabled(Profile* profile) {
PrefService* prefs = profile->GetPrefs();
- return prefs->GetBoolean(prefs::kInstantEnabled) ||
- InstantFieldTrial::IsExperimentGroup(profile);
+ return prefs->GetBoolean(prefs::kInstantEnabled);
}
// static
@@ -120,11 +113,11 @@ void InstantController::Enable(Profile* profile) {
if (!service)
return;
- service->SetBoolean(prefs::kInstantEnabledOnce, true);
service->SetBoolean(prefs::kInstantEnabled, true);
service->SetBoolean(prefs::kInstantConfirmDialogShown, true);
service->SetInt64(prefs::kInstantEnabledTime,
base::Time::Now().ToInternalValue());
+ service->SetBoolean(prefs::kInstantEnabledOnce, true);
}
// static
@@ -142,12 +135,6 @@ void InstantController::Disable(Profile* profile) {
delta.InMinutes(), 1, 60 * 24 * 10, 50);
}
- if (InstantFieldTrial::IsExperimentGroup(profile)) {
- UMA_HISTOGRAM_COUNTS(
- "Instant.FieldTrialOptOut." + InstantFieldTrial::GetGroupName(profile),
- 1);
- }
-
service->SetBoolean(prefs::kInstantEnabledOnce, true);
service->SetBoolean(prefs::kInstantEnabled, false);
}
@@ -390,10 +377,8 @@ void InstantController::OnAutocompleteLostFocus(
void InstantController::OnAutocompleteGotFocus(
TabContentsWrapper* tab_contents) {
CommandLine* cl = CommandLine::ForCurrentProcess();
- if (!cl->HasSwitch(switches::kPreloadInstantSearch) &&
- !InstantFieldTrial::IsExperimentGroup(tab_contents->profile())) {
+ if (!cl->HasSwitch(switches::kPreloadInstantSearch))
return;
- }
if (is_active_)
return;
@@ -720,8 +705,7 @@ InstantController::PreviewCondition InstantController::GetPreviewConditionFor(
return PREVIEW_CONDITION_BLACKLISTED;
const CommandLine* cl = CommandLine::ForCurrentProcess();
- if ((cl->HasSwitch(switches::kRestrictInstantToSearch) ||
- InstantFieldTrial::IsExperimentGroup(tab_contents_->profile())) &&
+ if (cl->HasSwitch(switches::kRestrictInstantToSearch) &&
match.type != AutocompleteMatch::SEARCH_WHAT_YOU_TYPED &&
match.type != AutocompleteMatch::SEARCH_HISTORY &&
match.type != AutocompleteMatch::SEARCH_SUGGEST &&
diff --git a/chrome/browser/instant/instant_field_trial.cc b/chrome/browser/instant/instant_field_trial.cc
deleted file mode 100644
index 90ff542..0000000
--- a/chrome/browser/instant/instant_field_trial.cc
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/instant/instant_field_trial.h"
-
-#include "chrome/browser/prefs/pref_service.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/common/pref_names.h"
-
-// static
-InstantFieldTrial::Group InstantFieldTrial::GetGroup(Profile* profile) {
- if (profile->IsOffTheRecord())
- return INACTIVE;
-
- const PrefService* prefs = profile->GetPrefs();
- if (!prefs ||
- prefs->GetBoolean(prefs::kInstantEnabledOnce) ||
- prefs->IsManagedPreference(prefs::kInstantEnabled)) {
- return INACTIVE;
- }
-
- const int random = prefs->GetInteger(prefs::kInstantFieldTrialRandomDraw);
- return random < 4500 ? CONTROL1 : // 45%
- random < 9000 ? CONTROL2 : // 45%
- random < 9500 ? EXPERIMENT1 // 5%
- : EXPERIMENT2; // 5%
-}
-
-// static
-bool InstantFieldTrial::IsExperimentGroup(Profile* profile) {
- Group group = GetGroup(profile);
- return group == EXPERIMENT1 || group == EXPERIMENT2;
-}
-
-// static
-std::string InstantFieldTrial::GetGroupName(Profile* profile) {
- switch (GetGroup(profile)) {
- case INACTIVE: return "InstantInactive";
- case CONTROL1: return "InstantControl1";
- case CONTROL2: return "InstantControl2";
- case EXPERIMENT1: return "InstantExperiment1";
- case EXPERIMENT2: return "InstantExperiment2";
- }
- NOTREACHED();
- return "InstantUnknown";
-}
diff --git a/chrome/browser/instant/instant_field_trial.h b/chrome/browser/instant/instant_field_trial.h
deleted file mode 100644
index e4149bc..0000000
--- a/chrome/browser/instant/instant_field_trial.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_INSTANT_INSTANT_FIELD_TRIAL_H_
-#define CHROME_BROWSER_INSTANT_INSTANT_FIELD_TRIAL_H_
-
-#include <string>
-
-#include "base/basictypes.h"
-
-class Profile;
-
-// This class manages the Instant field trial. Each user is in exactly one of
-// three field trial groups: Inactive, Control or Experiment.
-// - Inactive users are those who have played with the Instant option in the
-// Preferences page, or those for whom group policy provides an override, or
-// those with an incognito profile, etc. The field trial is inactive for such
-// users, so their Instant preference setting is respected.
-// - Control and Experiment are all the other users, i.e., those who have never
-// touched the Preferences option. Some percentage of these users are chosen
-// into the Experiment group and get Instant enabled automatically. The rest
-// fall into the Control group; for them, Instant remains disabled by default.
-// - Control and Experiment are further split into two subgroups each, in order
-// to detect bias between them (when analyzing metrics). The subgroups are
-// treated identically for all other purposes.
-class InstantFieldTrial {
- public:
- enum Group {
- INACTIVE,
- CONTROL1,
- CONTROL2,
- EXPERIMENT1,
- EXPERIMENT2,
- };
- static Group GetGroup(Profile* profile);
-
- // Check if the group is either of the two experiment subgroups.
- static bool IsExperimentGroup(Profile* profile);
-
- // Returns a string describing the user's group. Can be added to histogram
- // names, to split histograms by field trial groups.
- static std::string GetGroupName(Profile* profile);
-
- private:
- DISALLOW_IMPLICIT_CONSTRUCTORS(InstantFieldTrial);
-};
-
-#endif // CHROME_BROWSER_INSTANT_INSTANT_FIELD_TRIAL_H_
diff --git a/chrome/browser/resources/options/browser_options.html b/chrome/browser/resources/options/browser_options.html
index e23b0b8..d03df9b 100644
--- a/chrome/browser/resources/options/browser_options.html
+++ b/chrome/browser/resources/options/browser_options.html
@@ -94,8 +94,6 @@
<div id="instantOption" class="checkbox">
<label>
<!-- TODO(estade): metric? -->
- <input id="instantFieldTrialCheckbox" type="checkbox"
- checked="checked" hidden>
<input id="instantEnabledCheckbox" type="checkbox"
pref="instant.enabled">
<span i18n-content="instantName"></span>
diff --git a/chrome/browser/resources/options/browser_options.js b/chrome/browser/resources/options/browser_options.js
index e8b46fb..ffd838e 100644
--- a/chrome/browser/resources/options/browser_options.js
+++ b/chrome/browser/resources/options/browser_options.js
@@ -83,18 +83,9 @@ cr.define('options', function() {
return true;
};
- $('instantFieldTrialCheckbox').addEventListener('change',
- function(event) {
- this.checked = true;
- chrome.send('disableInstant');
- });
-
Preferences.getInstance().addEventListener('instant.confirm_dialog_shown',
this.onInstantConfirmDialogShownChanged_.bind(this));
- Preferences.getInstance().addEventListener('instant.enabled',
- this.onInstantEnabledChanged_.bind(this));
-
var homepageField = $('homepageURL');
$('homepageUseNTPButton').onchange =
this.handleHomepageUseNTPButtonChange_.bind(this);
@@ -178,26 +169,6 @@ cr.define('options', function() {
},
/**
- * Called when the value of the instant.enabled preference changes. Request
- * the state of the Instant field trial experiment.
- * @param {Event} event Change event.
- * @private
- */
- onInstantEnabledChanged_: function(event) {
- chrome.send('getInstantFieldTrialStatus');
- },
-
- /**
- * Called to set the Instant field trial status.
- * @param {boolean} enabled If true, the experiment is enabled.
- * @private
- */
- setInstantFieldTrialStatus_: function(enabled) {
- $('instantEnabledCheckbox').hidden = enabled;
- $('instantFieldTrialCheckbox').hidden = !enabled;
- },
-
- /**
* Update the Default Browsers section based on the current state.
* @param {string} statusString Description of the current default state.
* @param {boolean} isDefault Whether or not the browser is currently
@@ -518,10 +489,6 @@ cr.define('options', function() {
BrowserOptions.getInstance().updateAutocompleteSuggestions_(suggestions);
};
- BrowserOptions.setInstantFieldTrialStatus = function(enabled) {
- BrowserOptions.getInstance().setInstantFieldTrialStatus_(enabled);
- };
-
// Export
return {
BrowserOptions: BrowserOptions
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc
index 9a541ee..622b6e01 100644
--- a/chrome/browser/ui/webui/options/browser_options_handler.cc
+++ b/chrome/browser/ui/webui/options/browser_options_handler.cc
@@ -16,7 +16,6 @@
#include "chrome/browser/custom_home_pages_table_model.h"
#include "chrome/browser/instant/instant_confirm_dialog.h"
#include "chrome/browser/instant/instant_controller.h"
-#include "chrome/browser/instant/instant_field_trial.h"
#include "chrome/browser/net/url_fixer_upper.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/prefs/session_startup_pref.h"
@@ -130,9 +129,6 @@ void BrowserOptionsHandler::RegisterMessages() {
web_ui_->RegisterMessageCallback(
"disableInstant",
NewCallback(this, &BrowserOptionsHandler::DisableInstant));
- web_ui_->RegisterMessageCallback(
- "getInstantFieldTrialStatus",
- NewCallback(this, &BrowserOptionsHandler::GetInstantFieldTrialStatus));
}
void BrowserOptionsHandler::Initialize() {
@@ -488,13 +484,6 @@ void BrowserOptionsHandler::DisableInstant(const ListValue* args) {
InstantController::Disable(web_ui_->GetProfile());
}
-void BrowserOptionsHandler::GetInstantFieldTrialStatus(const ListValue* args) {
- FundamentalValue enabled(
- InstantFieldTrial::IsExperimentGroup(web_ui_->GetProfile()));
- web_ui_->CallJavascriptFunction("BrowserOptions.setInstantFieldTrialStatus",
- enabled);
-}
-
void BrowserOptionsHandler::OnResultChanged(bool default_match_changed) {
const AutocompleteResult& result = autocomplete_controller_->result();
ListValue suggestions;
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.h b/chrome/browser/ui/webui/options/browser_options_handler.h
index edef235..e400130 100644
--- a/chrome/browser/ui/webui/options/browser_options_handler.h
+++ b/chrome/browser/ui/webui/options/browser_options_handler.h
@@ -94,9 +94,6 @@ class BrowserOptionsHandler : public OptionsPageUIHandler,
void EnableInstant(const ListValue* args);
void DisableInstant(const ListValue* args);
- // Called to request information about the Instant field trial.
- void GetInstantFieldTrialStatus(const ListValue* args);
-
// Returns the string ID for the given default browser state.
int StatusStringIdForState(ShellIntegration::DefaultWebClientState state);
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index aba825a..8f42043 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -1337,8 +1337,6 @@
'browser/instant/instant_controller.cc',
'browser/instant/instant_controller.h',
'browser/instant/instant_delegate.h',
- 'browser/instant/instant_field_trial.cc',
- 'browser/instant/instant_field_trial.h',
'browser/instant/instant_loader.cc',
'browser/instant/instant_loader.h',
'browser/instant/instant_loader_delegate.h',
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
index a1deb63..b82867a 100644
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -275,10 +275,6 @@ const char kInstantEnabledOnce[] = "instant.enabled_once";
// Time when instant was last enabled.
const char kInstantEnabledTime[] = "instant.enabled_time";
-// Random number drawn and used by the Instant field trial. Stored in prefs to
-// provide a consistent field trial experience across browser restarts.
-const char kInstantFieldTrialRandomDraw[] = "instant.field_trial_random_draw";
-
// Used to maintain instant promo keys. See PromoCounter for details of subkeys
// that are used.
const char kInstantPromo[] = "instant.promo";
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
index 1f3e014..3ebb9dd 100644
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -95,7 +95,6 @@ extern const char kInstantConfirmDialogShown[];
extern const char kInstantEnabled[];
extern const char kInstantEnabledOnce[];
extern const char kInstantEnabledTime[];
-extern const char kInstantFieldTrialRandomDraw[];
extern const char kInstantPromo[];
extern const char kMultipleProfilePrefMigration[];
extern const char kNetworkPredictionEnabled[];
diff --git a/chrome/test/data/webui/options.js b/chrome/test/data/webui/options.js
index 00b4763..4083333 100644
--- a/chrome/test/data/webui/options.js
+++ b/chrome/test/data/webui/options.js
@@ -40,8 +40,6 @@ OptionsWebUITest.prototype = {
setObjectPref: function() {},
clearPref: function() {},
coreOptionsUserMetricsAction: function() {},
- // TODO(scr): Handle this new message:
- // getInstantFieldTrialStatus: function() {},
};
// Create the actual mock and register stubs for methods expected to be
diff --git a/chrome/test/functional/instant.py b/chrome/test/functional/instant.py
index da21ac5..917b10f 100644
--- a/chrome/test/functional/instant.py
+++ b/chrome/test/functional/instant.py
@@ -21,7 +21,6 @@ class InstantSettingsTest(pyauto.PyUITest):
msg='Instant is enabled by default.')
# Enable instant.
self.SetPrefs(pyauto.kInstantEnabled, True)
- self.SetPrefs(pyauto.kInstantEnabledOnce, True)
self.assertTrue(self.GetPrefsInfo().Prefs(pyauto.kInstantEnabled),
msg='Instant is not enabled.')
self.SetOmniboxText('google.com')