chromium/components/webapps/browser/installable/installable_icon_fetcher.h

// Copyright 2023 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_WEBAPPS_BROWSER_INSTALLABLE_INSTALLABLE_ICON_FETCHER_H_
#define COMPONENTS_WEBAPPS_BROWSER_INSTALLABLE_INSTALLABLE_ICON_FETCHER_H_

#include <vector>

#include "base/functional/callback.h"
#include "base/task/cancelable_task_tracker.h"
#include "build/android_buildflags.h"
#include "components/webapps/browser/installable/installable_logging.h"
#include "components/webapps/browser/installable/installable_page_data.h"
#include "third_party/blink/public/mojom/manifest/manifest.mojom.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "url/gurl.h"

namespace content {
class WebContents;
}  // namespace content

namespace favicon_base {
struct LargeIconResult;
}

namespace webapps {

namespace test {
extern int g_minimum_favicon_size_for_testing;
}  // namespace test

// This class is responsible for fetching the primary icon for installing a site
// When done, it'll store the result in InstallablePageData and run the
// finish_callback.
class InstallableIconFetcher {};
}  // namespace webapps

#endif  // COMPONENTS_WEBAPPS_BROWSER_INSTALLABLE_INSTALLABLE_ICON_FETCHER_H_