aw_page_load_metrics_memory_tracker_factory.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. // Copyright 2021 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_PAGE_LOAD_METRICS_AW_PAGE_LOAD_METRICS_MEMORY_TRACKER_FACTORY_H_
  5. #define ANDROID_WEBVIEW_BROWSER_PAGE_LOAD_METRICS_AW_PAGE_LOAD_METRICS_MEMORY_TRACKER_FACTORY_H_
  6. #include "components/keyed_service/content/browser_context_keyed_service_factory.h"
  7. namespace page_load_metrics {
  8. class PageLoadMetricsMemoryTracker;
  9. } // namespace page_load_metrics
  10. namespace android_webview {
  11. class AwPageLoadMetricsMemoryTrackerFactory
  12. : public BrowserContextKeyedServiceFactory {
  13. public:
  14. static page_load_metrics::PageLoadMetricsMemoryTracker* GetForBrowserContext(
  15. content::BrowserContext* context);
  16. static AwPageLoadMetricsMemoryTrackerFactory* GetInstance();
  17. AwPageLoadMetricsMemoryTrackerFactory();
  18. private:
  19. // BrowserContextKeyedServiceFactory:
  20. bool ServiceIsCreatedWithBrowserContext() const override;
  21. KeyedService* BuildServiceInstanceFor(
  22. content::BrowserContext* context) const override;
  23. content::BrowserContext* GetBrowserContextToUse(
  24. content::BrowserContext* context) const override;
  25. };
  26. } // namespace android_webview
  27. #endif // ANDROID_WEBVIEW_BROWSER_PAGE_LOAD_METRICS_AW_PAGE_LOAD_METRICS_MEMORY_TRACKER_FACTORY_H_