#include "chrome/browser/ui/web_applications/web_app_browsertest_base.h"
#include <string>
#include <vector>
#include "base/strings/utf_string_conversions.h"
#include "base/test/bind.h"
#include "base/time/time.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/apps/app_service/app_launch_params.h"
#include "chrome/browser/apps/app_service/app_service_proxy.h"
#include "chrome/browser/apps/app_service/app_service_proxy_factory.h"
#include "chrome/browser/apps/app_service/browser_app_launcher.h"
#include "chrome/browser/banners/test_app_banner_manager_desktop.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/browser.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/web_applications/mojom/user_display_mode.mojom.h"
#include "chrome/browser/web_applications/os_integration/os_integration_manager.h"
#include "chrome/browser/web_applications/os_integration/os_integration_test_override.h"
#include "chrome/browser/web_applications/test/debug_info_printer.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/web_app_callback_app_identity.h"
#include "chrome/browser/web_applications/web_app_install_info.h"
#include "chrome/browser/web_applications/web_app_provider.h"
#include "chrome/browser/web_applications/web_app_ui_manager.h"
#include "chrome/browser/web_applications/web_app_utils.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h"
#include "components/services/app_service/public/cpp/app_launch_util.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/page_type.h"
#include "content/public/test/browser_test_utils.h"
#include "net/dns/mock_host_resolver.h"
#include "testing/gtest/include/gtest/gtest.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/constants/ash_features.h"
#include "base/containers/extend.h"
#include "chrome/common/chrome_features.h"
#include "chromeos/ash/components/standalone_browser/feature_refs.h"
#endif
#if BUILDFLAG(IS_CHROMEOS_LACROS)
#include "chromeos/startup/browser_params_proxy.h"
#endif
namespace web_app {
WebAppBrowserTestBase::WebAppBrowserTestBase()
: … { … }
WebAppBrowserTestBase::WebAppBrowserTestBase(
const std::vector<base::test::FeatureRef>& enabled_features,
const std::vector<base::test::FeatureRef>& disabled_features)
: … { … }
WebAppBrowserTestBase::~WebAppBrowserTestBase() = default;
WebAppProvider& WebAppBrowserTestBase::provider() { … }
Profile* WebAppBrowserTestBase::profile() { … }
webapps::AppId WebAppBrowserTestBase::InstallPWA(const GURL& start_url) { … }
webapps::AppId WebAppBrowserTestBase::InstallWebApp(
std::unique_ptr<WebAppInstallInfo> web_app_info) { … }
void WebAppBrowserTestBase::UninstallWebApp(
const webapps::AppId& app_id) { … }
Browser* WebAppBrowserTestBase::LaunchWebAppBrowser(
const webapps::AppId& app_id) { … }
Browser* WebAppBrowserTestBase::LaunchWebAppBrowserAndWait(
const webapps::AppId& app_id) { … }
Browser*
WebAppBrowserTestBase::LaunchWebAppBrowserAndAwaitInstallabilityCheck(
const webapps::AppId& app_id) { … }
Browser* WebAppBrowserTestBase::LaunchBrowserForWebAppInTab(
const webapps::AppId& app_id) { … }
content::WebContents* WebAppBrowserTestBase::OpenWindow(
content::WebContents* contents,
const GURL& url) { … }
bool WebAppBrowserTestBase::NavigateInRenderer(
content::WebContents* contents,
const GURL& url) { … }
bool WebAppBrowserTestBase::NavigateAndAwaitInstallabilityCheck(
Browser* browser,
const GURL& url) { … }
Browser*
WebAppBrowserTestBase::NavigateInNewWindowAndAwaitInstallabilityCheck(
const GURL& url) { … }
std::optional<webapps::AppId>
WebAppBrowserTestBase::FindAppWithUrlInScope(const GURL& url) { … }
Browser* WebAppBrowserTestBase::OpenPopupAndWait(
Browser* browser,
const GURL& url,
const gfx::Size& popup_size) { … }
OsIntegrationTestOverrideImpl&
WebAppBrowserTestBase::os_integration_override() { … }
content::WebContents* WebAppBrowserTestBase::OpenApplication(
const webapps::AppId& app_id) { … }
GURL WebAppBrowserTestBase::GetInstallableAppURL() { … }
const char* WebAppBrowserTestBase::GetInstallableAppName() { … }
void WebAppBrowserTestBase::SetUp() { … }
void WebAppBrowserTestBase::TearDown() { … }
void WebAppBrowserTestBase::SetUpInProcessBrowserTestFixture() { … }
void WebAppBrowserTestBase::TearDownInProcessBrowserTestFixture() { … }
void WebAppBrowserTestBase::TearDownOnMainThread() { … }
void WebAppBrowserTestBase::SetUpCommandLine(
base::CommandLine* command_line) { … }
void WebAppBrowserTestBase::SetUpOnMainThread() { … }
}