#include "chrome/browser/web_applications/commands/web_app_icon_diagnostic_command.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/shortcuts/shortcut_icon_generator.h"
#include "chrome/browser/web_applications/callback_utils.h"
#include "chrome/browser/web_applications/commands/web_app_command.h"
#include "chrome/browser/web_applications/locks/app_lock.h"
#include "chrome/browser/web_applications/web_app.h"
#include "chrome/browser/web_applications/web_app_icon_generator.h"
#include "chrome/browser/web_applications/web_app_registrar.h"
#include "ui/gfx/skia_util.h"
namespace web_app {
namespace {
base::Value CreateIconDiagnosticDebugData(
const std::optional<WebAppIconDiagnosticResult> diagnostic_result) { … }
}
WebAppIconDiagnosticCommand::WebAppIconDiagnosticCommand(
Profile* profile,
const webapps::AppId& app_id,
WebAppIconDiagnosticResultCallback result_callback)
: … { … }
WebAppIconDiagnosticCommand::~WebAppIconDiagnosticCommand() = default;
void WebAppIconDiagnosticCommand::StartWithLock(std::unique_ptr<AppLock> lock) { … }
void WebAppIconDiagnosticCommand::LoadIconFromProvider(
WebAppIconManager::ReadIconWithPurposeCallback callback) { … }
void WebAppIconDiagnosticCommand::DiagnoseGeneratedOrEmptyIconBitmap(
base::OnceClosure done_callback,
IconPurpose purpose,
SkBitmap icon_bitmap) { … }
void WebAppIconDiagnosticCommand::CheckForEmptyOrMissingIconFiles(
base::OnceCallback<void(WebAppIconManager::IconFilesCheck)>
icon_files_callback) { … }
void WebAppIconDiagnosticCommand::DiagnoseEmptyOrMissingIconFiles(
base::OnceCallback<void(CommandResult)> done_callback,
WebAppIconManager::IconFilesCheck icon_files_check) { … }
base::WeakPtr<WebAppIconDiagnosticCommand>
WebAppIconDiagnosticCommand::GetWeakPtr() { … }
void WebAppIconDiagnosticCommand::ReportResultAndDestroy(
CommandResult command_result) { … }
}