#include "chrome/browser/ui/views/web_apps/web_app_identity_update_confirmation_view.h"
#include <optional>
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/view_ids.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/web_apps/web_app_uninstall_dialog_view.h"
#include "chrome/browser/ui/web_applications/web_app_dialogs.h"
#include "chrome/browser/web_applications/web_app_callback_app_identity.h"
#include "chrome/browser/web_applications/web_app_provider.h"
#include "chrome/browser/web_applications/web_app_ui_manager.h"
#include "chrome/grit/generated_resources.h"
#include "components/constrained_window/constrained_window_views.h"
#include "components/vector_icons/vector_icons.h"
#include "components/webapps/browser/installable/installable_metrics.h"
#include "components/webapps/browser/uninstall_result_code.h"
#include "content/public/browser/web_contents.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/base/mojom/dialog_button.mojom.h"
#include "ui/base/mojom/ui_base_types.mojom-shared.h"
#include "ui/color/color_id.h"
#include "ui/gfx/geometry/insets.h"
#include "ui/gfx/image/image_skia.h"
#include "ui/gfx/paint_vector_icon.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/layout/box_layout.h"
#include "ui/views/layout/table_layout_view.h"
#include "ui/views/style/typography.h"
namespace {
const int kArrowIconSizeDp = …;
const int kNameColumnWidth = …;
}
WebAppIdentityUpdateConfirmationView::~WebAppIdentityUpdateConfirmationView() =
default;
WebAppIdentityUpdateConfirmationView::WebAppIdentityUpdateConfirmationView(
Profile* profile,
const std::string& app_id,
bool title_change,
bool icon_change,
const std::u16string& old_title,
const std::u16string& new_title,
const SkBitmap& old_icon,
const SkBitmap& new_icon,
web_app::AppIdentityDialogCallback callback)
: … { … }
void WebAppIdentityUpdateConfirmationView::OnWebAppInstallManagerDestroyed() { … }
bool WebAppIdentityUpdateConfirmationView::ShouldShowCloseButton() const { … }
void WebAppIdentityUpdateConfirmationView::OnDialogAccepted() { … }
bool WebAppIdentityUpdateConfirmationView::Cancel() { … }
void WebAppIdentityUpdateConfirmationView::OnWebAppUninstallScheduled(
bool uninstall_scheduled) { … }
BEGIN_METADATA(…)
namespace web_app {
void ShowWebAppIdentityUpdateDialog(const std::string& app_id,
bool title_change,
bool icon_change,
const std::u16string& old_title,
const std::u16string& new_title,
const SkBitmap& old_icon,
const SkBitmap& new_icon,
content::WebContents* web_contents,
AppIdentityDialogCallback callback) { … }
}