#include "chrome/browser/ui/web_applications/test/web_app_navigation_browsertest.h"
#include <vector>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/run_loop.h"
#include "base/strings/escape.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "base/test/bind.h"
#include "build/build_config.h"
#include "chrome/browser/apps/app_service/app_registry_cache_waiter.h"
#include "chrome/browser/profiles/profile_io_data.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.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/test/web_app_install_test_utils.h"
#include "chrome/browser/web_applications/web_app.h"
#include "chrome/browser/web_applications/web_app_command_scheduler.h"
#include "chrome/browser/web_applications/web_app_install_finalizer.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_registrar.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/services/app_service/public/cpp/app_types.h"
#include "components/webapps/browser/installable/installable_metrics.h"
#include "components/webapps/browser/uninstall_result_code.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/test_navigation_observer.h"
#include "net/dns/mock_host_resolver.h"
#include "net/test/embedded_test_server/http_request.h"
#include "net/test/embedded_test_server/http_response.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/switches.h"
namespace {
const char kLaunchingPageHost[] = …;
const char kLaunchingPagePath[] = …;
const char kAppUrlHost[] = …;
const char kOtherAppUrlHost[] = …;
const char kAppScopePath[] = …;
const char kAppUrlPath[] = …;
const char kInScopeUrlPath[] = …;
const char kOutOfScopeUrlPath[] = …;
const char kAppName[] = …;
}
namespace web_app {
const char* WebAppNavigationBrowserTest::GetLaunchingPageHost() { … }
const char* WebAppNavigationBrowserTest::GetLaunchingPagePath() { … }
const char* WebAppNavigationBrowserTest::GetAppUrlHost() { … }
const char* WebAppNavigationBrowserTest::GetOtherAppUrlHost() { … }
const char* WebAppNavigationBrowserTest::GetAppScopePath() { … }
const char* WebAppNavigationBrowserTest::GetAppUrlPath() { … }
const char* WebAppNavigationBrowserTest::GetInScopeUrlPath() { … }
const char* WebAppNavigationBrowserTest::GetOutOfScopeUrlPath() { … }
const char* WebAppNavigationBrowserTest::GetAppName() { … }
std::string WebAppNavigationBrowserTest::CreateServerRedirect(
const GURL& target_url) { … }
std::unique_ptr<content::TestNavigationObserver>
WebAppNavigationBrowserTest::GetTestNavigationObserver(const GURL& target_url) { … }
void WebAppNavigationBrowserTest::ClickLink(
content::WebContents* web_contents,
const GURL& link_url,
WebAppNavigationBrowserTest::LinkTarget target,
const std::string& rel,
int modifiers,
blink::WebMouseEvent::Button button) { … }
void WebAppNavigationBrowserTest::ClickLinkWithModifiersAndWaitForURL(
content::WebContents* web_contents,
const GURL& link_url,
const GURL& target_url,
WebAppNavigationBrowserTest::LinkTarget target,
const std::string& rel,
int modifiers,
blink::WebMouseEvent::Button button) { … }
void WebAppNavigationBrowserTest::ClickLinkAndWaitForURL(
content::WebContents* web_contents,
const GURL& link_url,
const GURL& target_url,
WebAppNavigationBrowserTest::LinkTarget target,
const std::string& rel) { … }
void WebAppNavigationBrowserTest::ClickLinkAndWait(
content::WebContents* web_contents,
const GURL& link_url,
WebAppNavigationBrowserTest::LinkTarget target,
const std::string& rel) { … }
WebAppNavigationBrowserTest::WebAppNavigationBrowserTest()
: … { … }
WebAppNavigationBrowserTest::~WebAppNavigationBrowserTest() = default;
void WebAppNavigationBrowserTest::SetUp() { … }
void WebAppNavigationBrowserTest::SetUpInProcessBrowserTestFixture() { … }
void WebAppNavigationBrowserTest::TearDownInProcessBrowserTestFixture() { … }
void WebAppNavigationBrowserTest::SetUpCommandLine(
base::CommandLine* command_line) { … }
void WebAppNavigationBrowserTest::SetUpOnMainThread() { … }
void WebAppNavigationBrowserTest::TearDownOnMainThread() { … }
Profile* WebAppNavigationBrowserTest::profile() { … }
void WebAppNavigationBrowserTest::InstallTestWebApp() { … }
webapps::AppId WebAppNavigationBrowserTest::InstallTestWebApp(
const std::string& app_host,
const std::string& app_scope) { … }
Browser* WebAppNavigationBrowserTest::OpenTestWebApp() { … }
void WebAppNavigationBrowserTest::NavigateToLaunchingPage(Browser* browser) { … }
bool WebAppNavigationBrowserTest::ExpectLinkClickNotCapturedIntoAppBrowser(
Browser* browser,
const GURL& target_url,
const std::string& rel) { … }
const GURL& WebAppNavigationBrowserTest::test_web_app_start_url() { … }
}