| Index: chrome/browser/interstitials/chrome_metrics_helper.h
|
| diff --git a/chrome/browser/interstitials/chrome_metrics_helper.h b/chrome/browser/interstitials/chrome_metrics_helper.h
|
| index e56e59afb8f4d641ce58228cd13653cf78d3abe3..bba24c201560b880c8846bc71be44d452b6817a2 100644
|
| --- a/chrome/browser/interstitials/chrome_metrics_helper.h
|
| +++ b/chrome/browser/interstitials/chrome_metrics_helper.h
|
| @@ -18,9 +18,13 @@ namespace extensions {
|
| class ExperienceSamplingEvent;
|
| }
|
|
|
| +class CaptivePortalMetricsRecorder;
|
| +
|
| // This class adds desktop-Chrome-specific metrics (extension experience
|
| // sampling) to the security_interstitials::MetricsHelper. Together, they
|
| // record UMA, Rappor, and experience sampling metrics.
|
| +
|
| +// This class is meant to be used on the UI thread for captive portal metrics.
|
| class ChromeMetricsHelper : public security_interstitials::MetricsHelper {
|
| public:
|
| ChromeMetricsHelper(
|
| @@ -30,12 +34,15 @@ class ChromeMetricsHelper : public security_interstitials::MetricsHelper {
|
| const std::string& sampling_event_name);
|
| ~ChromeMetricsHelper() override;
|
|
|
| + void StartRecordingCaptivePortalMetrics(bool overridable);
|
| +
|
| protected:
|
| // security_interstitials::MetricsHelper methods:
|
| void RecordExtraUserDecisionMetrics(
|
| security_interstitials::MetricsHelper::Decision decision) override;
|
| void RecordExtraUserInteractionMetrics(
|
| security_interstitials::MetricsHelper::Interaction interaction) override;
|
| + void RecordExtraShutdownMetrics() override;
|
|
|
| private:
|
| content::WebContents* web_contents_;
|
| @@ -44,6 +51,7 @@ class ChromeMetricsHelper : public security_interstitials::MetricsHelper {
|
| #if defined(ENABLE_EXTENSIONS)
|
| scoped_ptr<extensions::ExperienceSamplingEvent> sampling_event_;
|
| #endif
|
| + scoped_ptr<CaptivePortalMetricsRecorder> captive_portal_recorder_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ChromeMetricsHelper);
|
| };
|
|
|