visibility_metrics_provider.h 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. // Copyright 2019 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef ANDROID_WEBVIEW_BROWSER_METRICS_VISIBILITY_METRICS_PROVIDER_H_
  5. #define ANDROID_WEBVIEW_BROWSER_METRICS_VISIBILITY_METRICS_PROVIDER_H_
  6. #include "base/memory/raw_ptr.h"
  7. #include "components/metrics/metrics_provider.h"
  8. namespace android_webview {
  9. class VisibilityMetricsLogger;
  10. class VisibilityMetricsProvider : public metrics::MetricsProvider {
  11. public:
  12. explicit VisibilityMetricsProvider(VisibilityMetricsLogger* logger);
  13. ~VisibilityMetricsProvider() override;
  14. VisibilityMetricsProvider() = delete;
  15. VisibilityMetricsProvider(const VisibilityMetricsProvider&) = delete;
  16. // metrics::MetricsProvider
  17. void ProvideCurrentSessionData(
  18. metrics::ChromeUserMetricsExtension* uma_proto) override;
  19. private:
  20. raw_ptr<VisibilityMetricsLogger> logger_;
  21. };
  22. } // namespace android_webview
  23. #endif // ANDROID_WEBVIEW_BROWSER_METRICS_VISIBILITY_METRICS_PROVIDER_H_