#include <utility>
#include "base/run_loop.h"
#include "base/strings/utf_string_conversions.h"
#include "base/test/bind.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
#include "base/test/test_future.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/sync/test/integration/apps_helper.h"
#include "chrome/browser/sync/test/integration/fake_server_match_status_checker.h"
#include "chrome/browser/sync/test/integration/single_client_status_change_checker.h"
#include "chrome/browser/sync/test/integration/web_apps_sync_test_base.h"
#include "chrome/browser/web_applications/commands/set_user_display_mode_command.h"
#include "chrome/browser/web_applications/mojom/user_display_mode.mojom-shared.h"
#include "chrome/browser/web_applications/os_integration/web_app_shortcut.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.h"
#include "chrome/browser/web_applications/web_app_command_manager.h"
#include "chrome/browser/web_applications/web_app_helpers.h"
#include "chrome/browser/web_applications/web_app_proto_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_sync_bridge.h"
#include "components/services/app_service/public/cpp/icon_info.h"
#include "components/sync/base/data_type.h"
#include "components/sync/base/features.h"
#include "components/sync/base/user_selectable_type.h"
#include "components/sync/protocol/app_specifics.pb.h"
#include "components/sync/protocol/entity_specifics.pb.h"
#include "components/sync/protocol/proto_value_conversions.h"
#include "components/sync/service/sync_service_impl.h"
#include "components/sync/service/sync_user_settings.h"
#include "components/sync/test/fake_server_verifier.h"
#include "components/webapps/common/web_app_id.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/skia/include/core/SkColor.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/constants/ash_features.h"
#endif
UserSelectableType;
UserSelectableTypeSet;
#if BUILDFLAG(IS_CHROMEOS_ASH)
using syncer::UserSelectableOsType;
using syncer::UserSelectableOsTypeSet;
#endif
namespace web_app {
namespace {
const int64_t kDefaultTime = …;
class SingleClientWebAppsSyncTest : public WebAppsSyncTestBase { … };
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest,
DisablingSelectedTypeDisablesDataType) { … }
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest,
AppWithValidIdSyncInstalled) { … }
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest,
SyncInstalledAppDoesNotChangeResponseToSync) { … }
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest, InstalledAppUpdatesSync) { … }
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest,
SyncUpdateWithDifferentStartUrl_UpdatesSyncNotApp) { … }
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest,
AppWithMalformedIdNotSyncInstalled) { … }
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest,
AppWithIdSpecifiedSyncInstalled) { … }
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest,
AppWithIdSpecifiedAsEmptyStringSyncInstalled) { … }
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest,
AppWithFragmentInManifestIdSyncInstalled) { … }
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest,
NoDisplayModeMeansStandalone) { … }
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest, InvalidStartUrl) { … }
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest, NoStartUrl) { … }
IN_PROC_BROWSER_TEST_F(SingleClientWebAppsSyncTest, InvalidManifestId) { … }
}
}