#include "chrome/browser/banners/app_banner_manager_desktop.h"
#include <memory>
#include <string>
#include <utility>
#include "base/auto_reset.h"
#include "base/functional/callback.h"
#include "base/run_loop.h"
#include "base/strings/strcat.h"
#include "base/strings/utf_string_conversions.h"
#include "base/test/bind.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
#include "build/chromeos_buildflags.h"
#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/banners/app_banner_manager_browsertest_base.h"
#include "chrome/browser/banners/test_app_banner_manager_desktop.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_command_controller.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/web_applications/test/web_app_browsertest_util.h"
#include "chrome/browser/ui/web_applications/web_app_dialog_utils.h"
#include "chrome/browser/ui/web_applications/web_app_dialogs.h"
#include "chrome/browser/web_applications/external_install_options.h"
#include "chrome/browser/web_applications/externally_managed_app_manager.h"
#include "chrome/browser/web_applications/mojom/user_display_mode.mojom.h"
#include "chrome/browser/web_applications/web_app_helpers.h"
#include "chrome/browser/web_applications/web_app_provider.h"
#include "chrome/common/chrome_features.h"
#include "chrome/test/base/ui_test_utils.h"
#include "chromeos/ash/components/standalone_browser/feature_refs.h"
#include "components/password_manager/content/common/web_ui_constants.h"
#include "components/password_manager/core/common/password_manager_features.h"
#include "components/webapps/browser/banners/app_banner_metrics.h"
#include "components/webapps/browser/banners/app_banner_settings_helper.h"
#include "components/webapps/browser/install_result_code.h"
#include "components/webapps/browser/uninstall_result_code.h"
#include "content/public/browser/web_contents.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "extensions/common/extension.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/constants/ash_features.h"
#endif
namespace webapps {
namespace {
std::vector<base::test::FeatureRef> GetDisabledFeatures() { … }
}
State;
class AppBannerManagerDesktopBrowserTest
: public AppBannerManagerBrowserTestBase { … };
IN_PROC_BROWSER_TEST_F(AppBannerManagerDesktopBrowserTest,
WebAppBannerResolvesUserChoice) { … }
IN_PROC_BROWSER_TEST_F(AppBannerManagerDesktopBrowserTest,
DISABLED_WebAppBannerFiresAppInstalled) { … }
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
#define MAYBE_DestroyWebContents …
#else
#define MAYBE_DestroyWebContents …
#endif
IN_PROC_BROWSER_TEST_F(AppBannerManagerDesktopBrowserTest,
MAYBE_DestroyWebContents) { … }
IN_PROC_BROWSER_TEST_F(AppBannerManagerDesktopBrowserTest,
InstallPromptAfterUserMenuInstall) { … }
IN_PROC_BROWSER_TEST_F(AppBannerManagerDesktopBrowserTest,
InstallPromptAfterUserOmniboxInstall) { … }
IN_PROC_BROWSER_TEST_F(AppBannerManagerDesktopBrowserTest,
PolicyAppInstalled_Prompt) { … }
IN_PROC_BROWSER_TEST_F(AppBannerManagerDesktopBrowserTest,
PolicyAppUninstalled_Prompt) { … }
IN_PROC_BROWSER_TEST_F(AppBannerManagerDesktopBrowserTest,
InstallPromptAfterUserMenuInstall_DisplayOverride) { … }
IN_PROC_BROWSER_TEST_F(AppBannerManagerDesktopBrowserTest,
WebAppBannerResolvesUserChoice_DisplayOverride) { … }
IN_PROC_BROWSER_TEST_F(AppBannerManagerDesktopBrowserTest,
PolicyAppInstalled_Prompt_DisplayOverride) { … }
class AppBannerManagerDesktopBrowserTestForPasswordManagerPage
: public AppBannerManagerDesktopBrowserTest { … };
IN_PROC_BROWSER_TEST_F(AppBannerManagerDesktopBrowserTestForPasswordManagerPage,
WebUiPasswordManagerApp) { … }
IN_PROC_BROWSER_TEST_F(AppBannerManagerDesktopBrowserTest,
PipelineRunsAfterStop) { … }
}