#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include "base/check_deref.h"
#include "base/functional/callback_helpers.h"
#include "base/run_loop.h"
#include "base/strings/strcat.h"
#include "base/test/bind.h"
#include "base/test/test_future.h"
#include "base/time/time.h"
#include "base/values.h"
#include "build/build_config.h"
#include "chrome/browser/browsing_data/chrome_browsing_data_remover_constants.h"
#include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h"
#include "chrome/browser/content_settings/cookie_settings_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/web_applications/test/isolated_web_app_test_utils.h"
#include "chrome/browser/ui/web_applications/web_app_browsertest_base.h"
#include "chrome/browser/web_applications/commands/web_app_uninstall_command.h"
#include "chrome/browser/web_applications/isolated_web_apps/isolated_web_app_url_info.h"
#include "chrome/browser/web_applications/isolated_web_apps/remove_isolated_web_app_data.h"
#include "chrome/browser/web_applications/jobs/uninstall/remove_web_app_job.h"
#include "chrome/browser/web_applications/web_app_command_manager.h"
#include "chrome/browser/web_applications/web_app_command_scheduler.h"
#include "chrome/browser/web_applications/web_app_provider.h"
#include "chrome/browser/web_applications/web_app_registry_update.h"
#include "chrome/browser/web_applications/web_app_sync_bridge.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/browsing_data/core/browsing_data_utils.h"
#include "components/browsing_data/core/pref_names.h"
#include "components/content_settings/core/browser/cookie_settings.h"
#include "components/content_settings/core/common/content_settings.h"
#include "components/services/storage/public/mojom/local_storage_control.mojom.h"
#include "components/webapps/common/web_app_id.h"
#include "content/public/browser/browsing_data_filter_builder.h"
#include "content/public/browser/browsing_data_remover.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/storage_partition_config.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
#include "content/public/browser/web_ui_message_handler.h"
#include "content/public/common/content_features.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "mojo/public/cpp/bindings/callback_helpers.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "net/cookies/canonical_cookie.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "services/network/public/mojom/cookie_manager.mojom.h"
#include "services/network/test/test_network_context.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/features.h"
#include "url/gurl.h"
#include "url/origin.h"
Eq;
namespace web_app {
namespace {
struct TestCookie { … };
}
MATCHER_P(IsApproximately, approximate_value, "") { … }
class IsolatedWebAppBrowsingDataTest : public IsolatedWebAppBrowserTestHarness { … };
IN_PROC_BROWSER_TEST_F(IsolatedWebAppBrowsingDataTest,
ControlledFrameUsageIsCounted) { … }
class IsolatedWebAppBrowsingDataClearingTest
: public IsolatedWebAppBrowsingDataTest { … };
IN_PROC_BROWSER_TEST_F(IsolatedWebAppBrowsingDataClearingTest,
LocalStorageCleared) { … }
IN_PROC_BROWSER_TEST_F(IsolatedWebAppBrowsingDataClearingTest, CacheCleared) { … }
IN_PROC_BROWSER_TEST_F(IsolatedWebAppBrowsingDataClearingTest, CookieCleared) { … }
IN_PROC_BROWSER_TEST_F(IsolatedWebAppBrowsingDataClearingTest,
DataClearedOnUninstall) { … }
#if BUILDFLAG(IS_LINUX) && !defined(NDEBUG)
#define MAYBE_ClearBrowserDataAllTime …
#else
#define MAYBE_ClearBrowserDataAllTime …
#endif
IN_PROC_BROWSER_TEST_F(IsolatedWebAppBrowsingDataClearingTest,
MAYBE_ClearBrowserDataAllTime) { … }
IN_PROC_BROWSER_TEST_F(IsolatedWebAppBrowsingDataClearingTest,
ClearBrowserDataTimeRanged) { … }
IN_PROC_BROWSER_TEST_F(IsolatedWebAppBrowsingDataClearingTest,
CrossOriginIframeClearSiteDataHeader) { … }
IN_PROC_BROWSER_TEST_F(IsolatedWebAppBrowsingDataClearingTest,
ControlledFrameClearSiteDataHeader) { … }
}