#include <memory>
#include <optional>
#include "base/functional/callback_helpers.h"
#include "base/run_loop.h"
#include "base/test/bind.h"
#include "base/test/test_future.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/test/test_browser_dialog.h"
#include "chrome/browser/ui/views/web_apps/web_app_uninstall_dialog_view.h"
#include "chrome/browser/ui/web_applications/test/web_app_browsertest_util.h"
#include "chrome/browser/ui/web_applications/web_app_browsertest_base.h"
#include "chrome/browser/web_applications/mojom/user_display_mode.mojom.h"
#include "chrome/browser/web_applications/os_integration/os_integration_manager.h"
#include "chrome/browser/web_applications/test/web_app_icon_test_utils.h"
#include "chrome/browser/web_applications/test/web_app_install_test_utils.h"
#include "chrome/browser/web_applications/web_app_install_info.h"
#include "chrome/browser/web_applications/web_app_ui_manager.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "components/keep_alive_registry/keep_alive_types.h"
#include "components/keep_alive_registry/scoped_keep_alive.h"
#include "components/webapps/browser/installable/installable_metrics.h"
#include "components/webapps/browser/uninstall_result_code.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/test_utils.h"
#include "extensions/browser/extension_dialog_auto_confirm.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/views/widget/any_widget_observer.h"
AppId;
namespace {
webapps::AppId InstallTestWebApp(Profile* profile) { … }
}
class WebAppUninstallDialogViewBrowserTest
: public web_app::WebAppBrowserTestBase { … };
IN_PROC_BROWSER_TEST_F(WebAppUninstallDialogViewBrowserTest,
TrackParentWindowDestructionAfterViewCreation) { … }
IN_PROC_BROWSER_TEST_F(WebAppUninstallDialogViewBrowserTest,
TrackParentWindowDestructionBeforeViewCreation) { … }
IN_PROC_BROWSER_TEST_F(WebAppUninstallDialogViewBrowserTest,
TestDialogUserFlow_Cancel) { … }
IN_PROC_BROWSER_TEST_F(WebAppUninstallDialogViewBrowserTest,
TestDialogUserFlow_Accept) { … }