#include "chrome/browser/ui/webui/app_home/app_home_page_handler.h"
#include <string_view>
#include <utility>
#include <vector>
#include "base/strings/utf_string_conversions.h"
#include "base/test/test_future.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/test_extension_system.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/views/create_application_shortcut_view_test_support.h"
#include "chrome/browser/ui/web_applications/web_app_browsertest_base.h"
#include "chrome/browser/ui/webui/app_home/app_home.mojom.h"
#include "chrome/browser/ui/webui/app_home/mock_app_home_page.h"
#include "chrome/browser/web_applications/os_integration/web_app_shortcut.h"
#include "chrome/browser/web_applications/test/os_integration_test_override_impl.h"
#include "chrome/browser/web_applications/test/web_app_install_test_utils.h"
#include "chrome/browser/web_applications/test/web_app_test_observers.h"
#include "chrome/browser/web_applications/web_app_command_manager.h"
#include "chrome/browser/web_applications/web_app_constants.h"
#include "chrome/browser/web_applications/web_app_provider.h"
#include "chrome/browser/web_applications/web_app_registrar.h"
#include "chrome/common/webui_url_constants.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "components/webapps/browser/installable/installable_metrics.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/test_web_ui.h"
#include "extensions/browser/extension_dialog_auto_confirm.h"
#include "extensions/common/extension_builder.h"
#include "extensions/common/manifest_constants.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "ui/views/test/dialog_test.h"
#include "ui/views/widget/any_widget_observer.h"
#include "ui/views/widget/widget.h"
AppId;
GetAppsCallback;
namespace webapps {
namespace {
constexpr char kTestAppUrl[] = …;
constexpr char kTestManifestUrl[] = …;
constexpr char kTestAppName[] = …;
constexpr char kTestAppNameWithUnsupportedText[] = …;
#if !BUILDFLAG(IS_MAC)
void FlushShortcutTasks() { … }
#endif
class TestAppHomePageHandler : public AppHomePageHandler { … };
std::unique_ptr<web_app::WebAppInstallInfo> BuildWebAppInfo(
std::string test_app_name) { … }
}
class AppHomePageHandlerTest : public InProcessBrowserTest { … };
MATCHER_P(MatchAppName, expected_app_name, "") { … }
MATCHER_P(MatchAppId, expected_app_id, "") { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, GetApps) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, ForceInstalledApp) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, OnWebAppInstalled) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, OnExtensionLoaded_App) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, OnExtensionLoaded_Extension) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, OnWebAppUninstall) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, OnExtensionUninstall) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, UninstallWebApp) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, UninstallExtensionApp) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, ShowWebAppSettings) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, CreateWebAppShortcut) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, CreateExtensionAppShortcut) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, SetRunOnOsLoginMode) { … }
IN_PROC_BROWSER_TEST_F(AppHomePageHandlerTest, HandleLaunchDeprecatedApp) { … }
}