Remove the hash fields from FieldTrials.
We want to migrate the hash fields and related methods from FieldTrials over to experiments_helper. We've also updated the unit tests that accomodate these changes.
We've also refactored the experiments_helper APIs for GoogleExperimentIDs to take strings instead of NameGroupIds as keys... we do the hashing internally instead.
BUG=None
TEST=Ensure that base_unittests FieldTrialTest.* all pass. Ensure that unit_tests ExperimentsHelperTest.* all pass.
Review URL: http://codereview.chromium.org/10151017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134350 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/metrics/metrics_log.cc b/chrome/browser/metrics/metrics_log.cc
index b79ecef1..453eb63 100644
--- a/chrome/browser/metrics/metrics_log.cc
+++ b/chrome/browser/metrics/metrics_log.cc
@@ -28,6 +28,7 @@
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/chrome_version_info.h"
#include "chrome/common/logging_chrome.h"
+#include "chrome/common/metrics/experiments_helper.h"
#include "chrome/common/metrics/proto/omnibox_event.pb.h"
#include "chrome/common/metrics/proto/profiler_event.pb.h"
#include "chrome/common/metrics/proto/system_profile.pb.h"
@@ -52,7 +53,7 @@
using metrics::ProfilerEventProto;
using metrics::SystemProfileProto;
using tracked_objects::ProcessDataSnapshot;
-typedef base::FieldTrial::NameGroupId NameGroupId;
+typedef experiments_helper::SelectedGroupId SelectedGroupId;
namespace {
@@ -210,10 +211,10 @@
plugin->set_is_disabled(!plugin_prefs->IsPluginEnabled(plugin_info));
}
-void WriteFieldTrials(const std::vector<NameGroupId>& field_trial_ids,
+void WriteFieldTrials(const std::vector<SelectedGroupId>& field_trial_ids,
SystemProfileProto* system_profile) {
- for (std::vector<NameGroupId>::const_iterator it = field_trial_ids.begin();
- it != field_trial_ids.end(); ++it) {
+ for (std::vector<SelectedGroupId>::const_iterator it =
+ field_trial_ids.begin(); it != field_trial_ids.end(); ++it) {
SystemProfileProto::FieldTrial* field_trial =
system_profile->add_field_trial();
field_trial->set_name_id(it->name);
@@ -351,8 +352,8 @@
void MetricsLog::GetFieldTrialIds(
- std::vector<NameGroupId>* field_trial_ids) const {
- base::FieldTrialList::GetFieldTrialNameGroupIds(field_trial_ids);
+ std::vector<SelectedGroupId>* field_trial_ids) const {
+ experiments_helper::GetFieldTrialSelectedGroupIds(field_trial_ids);
}
void MetricsLog::WriteStabilityElement(
@@ -777,7 +778,7 @@
bool write_as_xml = false;
WritePluginList(plugin_list, write_as_xml);
- std::vector<NameGroupId> field_trial_ids;
+ std::vector<SelectedGroupId> field_trial_ids;
GetFieldTrialIds(&field_trial_ids);
WriteFieldTrials(field_trial_ids, system_profile);
}