// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_IMAGE_FETCHER_CORE_IMAGE_FETCHER_SERVICE_H_ #define COMPONENTS_IMAGE_FETCHER_CORE_IMAGE_FETCHER_SERVICE_H_ #include <memory> #include "base/functional/callback.h" #include "base/memory/ref_counted.h" #include "components/keyed_service/core/keyed_service.h" namespace network { class SharedURLLoaderFactory; } // namespace network namespace image_fetcher { class ImageFetcher; class ImageCache; class ImageDecoder; // Enumerate the possible image fetcher combinations to allow the service to // configure the correct one. New values should be added at the end and things // should not be renumbered. // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.image_fetcher enum class ImageFetcherConfig { … }; // Keyed service responsible for managing the lifetime of various ImageFetcher // services. Allows access to instances of the disk cache, network fetcher and // cached image fetcher. class ImageFetcherService : public KeyedService { … }; } // namespace image_fetcher #endif // COMPONENTS_IMAGE_FETCHER_CORE_IMAGE_FETCHER_SERVICE_H_