blob: f9fe97845f758abf61d63569e3a2cb389718fa5f [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ash/crosapi/desk_template_ash.h"
namespace crosapi {
DeskTemplateAsh::DeskTemplateAsh() = default;
DeskTemplateAsh::~DeskTemplateAsh() = default;
void DeskTemplateAsh::BindReceiver(
mojo::PendingReceiver<mojom::DeskTemplate> pending_receiver) {
receivers_.Add(this, std::move(pending_receiver));
}
void DeskTemplateAsh::GetFaviconImage(
const GURL& url,
uint64_t lacros_profile_id,
base::OnceCallback<void(const gfx::ImageSkia&)> callback) {
if (remotes_.empty()) {
std::move(callback).Run(gfx::ImageSkia());
return;
}
remotes_.begin()->get()->GetFaviconImage(url, lacros_profile_id,
std::move(callback));
}
void DeskTemplateAsh::AddDeskTemplateClient(
mojo::PendingRemote<mojom::DeskTemplateClient> client) {
remotes_.Add(mojo::Remote<mojom::DeskTemplateClient>(std::move(client)));
}
} // namespace crosapi