#include "chrome/browser/web_applications/web_app_install_finalizer.h"
#include <initializer_list>
#include <memory>
#include <optional>
#include <tuple>
#include <utility>
#include "base/feature_list.h"
#include "base/scoped_observation.h"
#include "base/test/bind.h"
#include "base/test/test_future.h"
#include "base/traits_bag.h"
#include "build/build_config.h"
#include "build/buildflag.h"
#include "chrome/browser/web_applications/isolated_web_apps/isolated_web_app_integrity_block_data.h"
#include "chrome/browser/web_applications/isolated_web_apps/isolated_web_app_storage_location.h"
#include "chrome/browser/web_applications/proto/web_app_install_state.pb.h"
#include "chrome/browser/web_applications/scope_extension_info.h"
#include "chrome/browser/web_applications/test/fake_os_integration_manager.h"
#include "chrome/browser/web_applications/test/fake_web_app_origin_association_manager.h"
#include "chrome/browser/web_applications/test/fake_web_app_provider.h"
#include "chrome/browser/web_applications/test/web_app_install_test_utils.h"
#include "chrome/browser/web_applications/test/web_app_test.h"
#include "chrome/browser/web_applications/test/web_app_test_utils.h"
#include "chrome/browser/web_applications/web_app_constants.h"
#include "chrome/browser/web_applications/web_app_helpers.h"
#include "chrome/browser/web_applications/web_app_install_info.h"
#include "chrome/browser/web_applications/web_app_install_manager.h"
#include "chrome/browser/web_applications/web_app_install_manager_observer.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/common/chrome_features.h"
#include "chrome/test/base/testing_profile.h"
#include "components/services/app_service/public/cpp/file_handler.h"
#include "components/webapps/browser/install_result_code.h"
#include "mojo/public/cpp/bindings/struct_ptr.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/mojom/manifest/manifest.mojom-forward.h"
#include "third_party/blink/public/mojom/manifest/manifest.mojom.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace web_app {
namespace {
struct FinalizeInstallResult { … };
}
class TestInstallManagerObserver : public WebAppInstallManagerObserver { … };
class WebAppInstallFinalizerUnitTest : public WebAppTest { … };
TEST_F(WebAppInstallFinalizerUnitTest, BasicInstallSucceeds) { … }
TEST_F(WebAppInstallFinalizerUnitTest, ConcurrentInstallSucceeds) { … }
TEST_F(WebAppInstallFinalizerUnitTest, InstallStoresLatestWebAppInstallSource) { … }
TEST_F(WebAppInstallFinalizerUnitTest, OnWebAppManifestUpdatedTriggered) { … }
TEST_F(WebAppInstallFinalizerUnitTest,
NonLocalThenLocalInstallSetsBothInstallTime) { … }
TEST_F(WebAppInstallFinalizerUnitTest,
LatestInstallTimeAlwaysUpdatedIfReinstalled) { … }
TEST_F(WebAppInstallFinalizerUnitTest, InstallNoDesktopShortcut) { … }
TEST_F(WebAppInstallFinalizerUnitTest, InstallNoQuickLaunchBarShortcut) { … }
TEST_F(WebAppInstallFinalizerUnitTest,
InstallNoDesktopShortcutAndNoQuickLaunchBarShortcut) { … }
TEST_F(WebAppInstallFinalizerUnitTest, InstallNoCreateOsShorcuts) { … }
TEST_F(WebAppInstallFinalizerUnitTest,
InstallOsHooksEnabledForUserInstalledApps) { … }
TEST_F(WebAppInstallFinalizerUnitTest, InstallOsHooksDisabledForDefaultApps) { … }
TEST_F(WebAppInstallFinalizerUnitTest, InstallUrlSetInWebAppDB) { … }
TEST_F(WebAppInstallFinalizerUnitTest, IsolationDataSetInWebAppDB) { … }
TEST_F(WebAppInstallFinalizerUnitTest, ValidateOriginAssociationsApproved) { … }
TEST_F(WebAppInstallFinalizerUnitTest, ValidateOriginAssociationsDenied) { … }
}