// Copyright 2014 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_H_ #define COMPONENTS_IMAGE_FETCHER_CORE_IMAGE_FETCHER_H_ #include <optional> #include <string> #include <utility> #include "base/functional/callback.h" #include "base/memory/raw_ptr.h" #include "base/time/time.h" #include "components/image_fetcher/core/image_fetcher_types.h" #include "net/traffic_annotation/network_traffic_annotation.h" #include "ui/gfx/geometry/size.h" #include "url/gurl.h" namespace data_decoder { class DataDecoder; } // namespace data_decoder namespace image_fetcher { class ImageDecoder; class ReducedModeImageFetcher; // Encapsulates image fetching customization options. // (required) // traffic_annotation // Documents what the network traffic is for, gives you free metrics. // max_download_size // Limits the size of the downloaded image. // frame_size // If multiple sizes of the image are available on the server, choose the one // that's closest to the given size (only useful for .icos). Does NOT resize // the downloaded image to the given dimensions. class ImageFetcherParams { … }; // A class used to fetch server images. It can be called from any thread and the // callback will be called on the thread which initiated the fetch. class ImageFetcher { … }; } // namespace image_fetcher #endif // COMPONENTS_IMAGE_FETCHER_CORE_IMAGE_FETCHER_H_