1234567891011121314151617181920212223242526272829303132333435363738 |
- // Copyright 2020 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef COMPONENTS_QUERY_TILES_INTERNAL_IMAGE_LOADER_H_
- #define COMPONENTS_QUERY_TILES_INTERNAL_IMAGE_LOADER_H_
- #include "base/callback.h"
- #include "url/gurl.h"
- class SkBitmap;
- namespace query_tiles {
- // Loads image for query tiles.
- class ImageLoader {
- public:
- using BitmapCallback = base::OnceCallback<void(SkBitmap bitmap)>;
- using SuccessCallback = base::OnceCallback<void(bool)>;
- ImageLoader() = default;
- virtual ~ImageLoader() = default;
- ImageLoader(const ImageLoader&) = delete;
- ImageLoader& operator=(const ImageLoader&) = delete;
- // Fetches the bitmap of an image based on its URL. Callback will be invoked
- // with the bitmap of the image, or an empty bitmap on failure.
- virtual void FetchImage(const GURL& url, BitmapCallback callback) = 0;
- // Prefetches the image data. The decoding will be deferred to next full
- // browser mode launch. Must be called in reduced mode. The |callback| will be
- // invoked after network fetch is done.
- virtual void PrefetchImage(const GURL& url, SuccessCallback callback) = 0;
- };
- } // namespace query_tiles
- #endif // COMPONENTS_QUERY_TILES_INTERNAL_IMAGE_LOADER_H_
|