#include "chrome/browser/ui/web_applications/test/isolated_web_app_test_utils.h"
#include <memory>
#include <string>
#include <string_view>
#include "base/files/file_path.h"
#include "base/test/test_future.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_navigator_params.h"
#include "chrome/browser/web_applications/isolated_web_apps/isolated_web_app_install_source.h"
#include "chrome/browser/web_applications/isolated_web_apps/isolated_web_app_url_info.h"
#include "chrome/browser/web_applications/test/web_app_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_helpers.h"
#include "chrome/browser/web_applications/web_app_install_manager.h"
#include "chrome/browser/web_applications/web_app_install_utils.h"
#include "chrome/browser/web_applications/web_app_provider.h"
#include "chrome/browser/web_applications/web_app_registrar.h"
#include "chrome/browser/web_applications/web_app_registry_update.h"
#include "chrome/browser/web_applications/web_app_sync_bridge.h"
#include "chrome/common/chrome_features.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/web_package/signed_web_bundles/signed_web_bundle_id.h"
#include "components/webapps/browser/installable/installable_metrics.h"
#include "components/webapps/common/web_app_id.h"
#include "content/public/common/content_features.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/navigation_simulator.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "third_party/blink/public/common/features_generated.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkStream.h"
#include "third_party/skia/include/encode/SkPngEncoder.h"
#include "ui/base/page_transition_types.h"
#include "ui/base/window_open_disposition.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace web_app {
namespace {
void CommitNavigation(std::unique_ptr<content::NavigationSimulator> simulator) { … }
}
IsolatedWebAppBrowserTestHarness::IsolatedWebAppBrowserTestHarness() { … }
IsolatedWebAppBrowserTestHarness::~IsolatedWebAppBrowserTestHarness() = default;
std::unique_ptr<net::EmbeddedTestServer>
IsolatedWebAppBrowserTestHarness::CreateAndStartServer(
const base::FilePath::StringPieceType& chrome_test_data_relative_root) { … }
IsolatedWebAppUrlInfo
IsolatedWebAppBrowserTestHarness::InstallDevModeProxyIsolatedWebApp(
const url::Origin& origin) { … }
Browser* IsolatedWebAppBrowserTestHarness::GetBrowserFromFrame(
content::RenderFrameHost* frame) { … }
content::RenderFrameHost* IsolatedWebAppBrowserTestHarness::OpenApp(
const webapps::AppId& app_id,
std::string_view path) { … }
content::RenderFrameHost*
IsolatedWebAppBrowserTestHarness::NavigateToURLInNewTab(
Browser* window,
const GURL& url,
WindowOpenDisposition disposition) { … }
std::unique_ptr<net::EmbeddedTestServer> CreateAndStartDevServer(
const base::FilePath::StringPieceType& chrome_test_data_relative_root) { … }
IsolatedWebAppUrlInfo InstallDevModeProxyIsolatedWebApp(
Profile* profile,
const url::Origin& proxy_origin) { … }
content::RenderFrameHost* OpenIsolatedWebApp(Profile* profile,
const webapps::AppId& app_id,
std::string_view path) { … }
void CreateIframe(content::RenderFrameHost* parent_frame,
const std::string& iframe_id,
const GURL& url,
const std::string& permissions_policy) { … }
webapps::AppId AddDummyIsolatedAppToRegistry(
Profile* profile,
const GURL& start_url,
const std::string& name,
const WebApp::IsolationData& isolation_data,
webapps::WebappInstallSource install_source) { … }
void SimulateIsolatedWebAppNavigation(content::WebContents* web_contents,
const GURL& url) { … }
void CommitPendingIsolatedWebAppNavigation(content::WebContents* web_contents) { … }
}