#include "components/services/app_service/public/cpp/icon_coalescer.h"
#include <iterator>
#include <utility>
#include <vector>
#include "base/functional/callback.h"
#include "base/functional/callback_helpers.h"
#include "components/services/app_service/public/cpp/app_types.h"
#include "components/services/app_service/public/cpp/icon_types.h"
namespace apps {
class IconCoalescer::RefCountedReleaser
: public base::RefCounted<RefCountedReleaser> { … };
IconCoalescer::RefCountedReleaser::RefCountedReleaser(
std::unique_ptr<IconLoader::Releaser> releaser)
: … { … }
IconCoalescer::RefCountedReleaser::~RefCountedReleaser() = default;
IconCoalescer::IconCoalescer(IconLoader* wrapped_loader)
: … { … }
IconCoalescer::~IconCoalescer() = default;
std::optional<IconKey> IconCoalescer::GetIconKey(const std::string& id) { … }
std::unique_ptr<IconLoader::Releaser> IconCoalescer::LoadIconFromIconKey(
const std::string& id,
const IconKey& icon_key,
IconType icon_type,
int32_t size_hint_in_dip,
bool allow_placeholder_icon,
apps::LoadIconCallback callback) { … }
void IconCoalescer::OnLoadIcon(IconLoader::Key key,
uint64_t sequence_number,
IconValuePtr icon_value) { … }
}