#include "chrome/browser/web_applications/web_app_icon_operations.h"
#include <set>
#include <vector>
#include "base/containers/contains.h"
#include "base/containers/extend.h"
#include "base/containers/flat_set.h"
#include "base/values.h"
#include "chrome/browser/web_applications/web_app_icon_generator.h"
#include "chrome/browser/web_applications/web_app_install_info.h"
#include "chrome/browser/web_applications/web_app_install_utils.h"
#include "components/services/app_service/public/cpp/icon_info.h"
#include "ui/gfx/geometry/size.h"
#include "url/gurl.h"
namespace web_app {
namespace {
base::flat_set<GURL> GetAllIconUrlsForSizeAny(
base::flat_map<IconPurpose, GURL> icon_purpose_to_urls) { … }
void PopulateIconUrlsForSizeAnyIfNeeded(
std::vector<IconUrlWithSize>& icon_vector,
base::flat_set<GURL> icon_urls_to_download_if_any,
SizeSet icon_sizes_found,
bool is_app_icon = false) { … }
std::vector<IconUrlWithSize> GetAppIconUrls(
const WebAppInstallInfo& web_app_info) { … }
std::vector<IconUrlWithSize> GetShortcutMenuIcons(
const WebAppInstallInfo& web_app_info) { … }
std::vector<IconUrlWithSize> GetFileHandlingIcons(
const WebAppInstallInfo& web_app_info) { … }
std::vector<IconUrlWithSize> GetHomeTabIcons(
const WebAppInstallInfo& web_app_info) { … }
IconUrlSizeSet RemoveDuplicates(std::vector<IconUrlWithSize> from_urls) { … }
}
IconUrlWithSize IconUrlWithSize::CreateForUnspecifiedSize(
const GURL& icon_url) { … }
IconUrlWithSize IconUrlWithSize::Create(const GURL& icon_url,
const gfx::Size& size) { … }
IconUrlWithSize::IconUrlWithSize(GURL url, gfx::Size size)
: … { … }
IconUrlWithSize::~IconUrlWithSize() = default;
IconUrlWithSize::IconUrlWithSize(const IconUrlWithSize& icon_urls_with_size) =
default;
IconUrlWithSize::IconUrlWithSize(IconUrlWithSize&& icon_urls_with_size) =
default;
IconUrlWithSize& IconUrlWithSize::operator=(
const IconUrlWithSize& icon_urls_with_size) = default;
bool IconUrlWithSize::operator<(const IconUrlWithSize& rhs) const { … }
bool IconUrlWithSize::operator==(const IconUrlWithSize& rhs) const = default;
std::string IconUrlWithSize::ToString() const { … }
IconUrlSizeSet GetValidIconUrlsToDownload(
const WebAppInstallInfo& web_app_info) { … }
}