summaryrefslogtreecommitdiff
path: root/chromium/components/metrics/field_trials_provider.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/metrics/field_trials_provider.h')
-rw-r--r--chromium/components/metrics/field_trials_provider.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/chromium/components/metrics/field_trials_provider.h b/chromium/components/metrics/field_trials_provider.h
index 6d115e5e47a..d2b4e0edcaa 100644
--- a/chromium/components/metrics/field_trials_provider.h
+++ b/chromium/components/metrics/field_trials_provider.h
@@ -8,6 +8,7 @@
#include "base/strings/string_piece.h"
#include "base/time/time.h"
#include "components/metrics/metrics_provider.h"
+#include "third_party/metrics_proto/chrome_user_metrics_extension.pb.h"
// TODO(crbug/507665): Once MetricsProvider/SystemProfileProto are moved into
// //services/metrics, then //components/variations can depend on them, and
@@ -30,12 +31,26 @@ class FieldTrialsProvider : public metrics::MetricsProvider {
void ProvideSystemProfileMetricsWithLogCreationTime(
base::TimeTicks log_creation_time,
metrics::SystemProfileProto* system_profile_proto) override;
+ void ProvideCurrentSessionData(
+ metrics::ChromeUserMetricsExtension* uma_proto) override;
+
+ // Sets |log_creation_time_| to |time|.
+ void SetLogCreationTimeForTesting(base::TimeTicks time);
private:
// Overrideable for testing.
virtual void GetFieldTrialIds(
std::vector<ActiveGroupId>* field_trial_ids) const;
+ // Gets active FieldTrials and SyntheticFieldTrials and populates
+ // |system_profile_proto| with them.
+ void GetAndWriteFieldTrials(
+ metrics::SystemProfileProto* system_profile_proto) const;
+
+ // The most recent time passed to
+ // ProvideSystemProfileMetricsWithLogCreationTime().
+ base::TimeTicks log_creation_time_;
+
SyntheticTrialRegistry* registry_;
// Suffix used for the field trial names before they are hashed for uploads.