// third_party/blink/public/mojom/image_downloader/image_downloader.mojom-test-utils.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_IMAGE_DOWNLOADER_IMAGE_DOWNLOADER_MOJOM_TEST_UTILS_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_IMAGE_DOWNLOADER_IMAGE_DOWNLOADER_MOJOM_TEST_UTILS_H_

#include "third_party/blink/public/mojom/image_downloader/image_downloader.mojom.h"
#include "third_party/blink/public/common/common_export.h"


namespace blink::mojom {


class BLINK_COMMON_EXPORT ImageDownloaderInterceptorForTesting : public ImageDownloader {
  virtual ImageDownloader* GetForwardingInterface() = 0;
  void DownloadImage(const ::GURL& url, bool is_favicon, const ::gfx::Size& preferred_size, uint32_t max_bitmap_size, bool bypass_cache, DownloadImageCallback callback) override;
  void DownloadImageFromAxNode(int32_t ax_node_id, const ::gfx::Size& preferred_size, uint32_t max_bitmap_size, bool bypass_cache, DownloadImageFromAxNodeCallback callback) override;
};
class BLINK_COMMON_EXPORT ImageDownloaderAsyncWaiter {
 public:
  explicit ImageDownloaderAsyncWaiter(ImageDownloader* proxy);

  ImageDownloaderAsyncWaiter(const ImageDownloaderAsyncWaiter&) = delete;
  ImageDownloaderAsyncWaiter& operator=(const ImageDownloaderAsyncWaiter&) = delete;

  ~ImageDownloaderAsyncWaiter();
  void DownloadImage(
      const ::GURL& url, bool is_favicon, const ::gfx::Size& preferred_size, uint32_t max_bitmap_size, bool bypass_cache, int32_t* out_http_status_code, std::vector<::SkBitmap>* out_images, std::vector<::gfx::Size>* out_original_image_sizes);
  
  void DownloadImageFromAxNode(
      int32_t ax_node_id, const ::gfx::Size& preferred_size, uint32_t max_bitmap_size, bool bypass_cache, int32_t* out_http_status_code, std::vector<::SkBitmap>* out_images, std::vector<::gfx::Size>* out_original_image_sizes);
  

 private:
  ImageDownloader* const proxy_;
};




}  // blink::mojom

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_IMAGE_DOWNLOADER_IMAGE_DOWNLOADER_MOJOM_TEST_UTILS_H_