#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "content/browser/browsing_data/browsing_data_filter_builder_impl.h"
#include <algorithm>
#include <memory>
#include <optional>
#include <string>
#include <vector>
#include "base/functional/callback.h"
#include "base/strings/stringprintf.h"
#include "base/test/scoped_feature_list.h"
#include "content/public/browser/storage_partition_config.h"
#include "content/public/test/browser_task_environment.h"
#include "content/public/test/test_browser_context.h"
#include "net/cookies/canonical_cookie.h"
#include "net/cookies/cookie_deletion_info.h"
#include "services/network/cookie_manager.h"
#include "services/network/public/mojom/clear_data_filter.mojom.h"
#include "services/network/public/mojom/network_context.mojom.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/storage_key/storage_key.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace content {
namespace {
CookieDeletionInfo;
IsEmpty;
UnorderedElementsAre;
const char kGoogleDomain[] = …;
const char kLongETLDDomain[] = …;
const char kInternalHostname[] = …;
const char kUnknownRegistryDomain[] = …;
const char kIPAddress[] = …;
struct TestCase { … };
void RunTestCase(TestCase test_case,
const base::RepeatingCallback<bool(const GURL&)>& filter) { … }
void RunTestCase(TestCase test_case,
network::mojom::CookieDeletionFilterPtr deletion_filter) { … }
void RunTestCase(
TestCase test_case,
const base::RepeatingCallback<bool(const std::string&)>& filter) { … }
struct StorageKeyTestCase { … };
void RunTestCase(
StorageKeyTestCase test_case,
const content::StoragePartition::StorageKeyMatcherFunction& filter) { … }
}
TEST(BrowsingDataFilterBuilderImplTest, Noop) { … }
TEST(BrowsingDataFilterBuilderImplTest, EmptyDelete) { … }
TEST(BrowsingDataFilterBuilderImplTest, MatchesNothing) { … }
TEST(BrowsingDataFilterBuilderImplTest, RegistrableDomainGURLDeleteList) { … }
TEST(BrowsingDataFilterBuilderImplTest, RegistrableDomainGURLPreserveList) { … }
TEST(BrowsingDataFilterBuilderImplTest,
RegistrableDomainMatchesCookiesDeleteList) { … }
TEST(BrowsingDataFilterBuilderImplTest, EmptyCookieDeletionFilter) { … }
TEST(BrowsingDataFilterBuilderImplTest,
RegistrableDomainMatchesCookiesPreserveList) { … }
TEST(BrowsingDataFilterBuilderImplTest, PartitionedCookies) { … }
TEST(BrowsingDataFilterBuilderImplTest, StorageKey_PreserveNoOrigins) { … }
TEST(BrowsingDataFilterBuilderImplTest, StorageKey) { … }
TEST(BrowsingDataFilterBuilderImplTest,
StorageKey_Domain_kThirdPartiesIncluded) { … }
TEST(BrowsingDataFilterBuilderImplTest,
StorageKey_Domain_kThirdPartiesIncluded_Domainless) { … }
TEST(BrowsingDataFilterBuilderImplTest,
StorageKey_Domain_kOriginInAllContexts) { … }
TEST(BrowsingDataFilterBuilderImplTest,
StorageKey_Domain_kOriginInAllContexts_Domainless) { … }
TEST(BrowsingDataFilterBuilderImplTest, NetworkServiceFilterDeleteList) { … }
TEST(BrowsingDataFilterBuilderImplTest, NetworkServiceFilterPreserveList) { … }
TEST(BrowsingDataFilterBuilderImplTest,
RegistrableDomainMatchesPluginSitesDeleteList) { … }
TEST(BrowsingDataFilterBuilderImplTest,
RegistrableDomainMatchesPluginSitesPreserveList) { … }
TEST(BrowsingDataFilterBuilderImplTest, OriginDeleteList) { … }
TEST(BrowsingDataFilterBuilderImplTest, OriginPreserveList) { … }
TEST(BrowsingDataFilterBuilderImplTest, CombinedDeleteList) { … }
TEST(BrowsingDataFilterBuilderImplTest, CombinedPreserveList) { … }
TEST(BrowsingDataFilterBuilderImplTest, PartitionedDeleteList) { … }
TEST(BrowsingDataFilterBuilderImplTest, PartitionedPreserveList) { … }
TEST(BrowsingDataFilterBuilderImplTest, GetOrigins) { … }
TEST(BrowsingDataFilterBuilderImplTest, GetRegisterableDomains) { … }
TEST(BrowsingDataFilterBuilderImplTest, ExcludeUnpartitionedCookies) { … }
TEST(BrowsingDataFilterBuilderImplTest, CopyAndEquality) { … }
TEST(BrowsingDataFilterBuilderImplTest, DeleteModeDoesntMatchMost) { … }
TEST(BrowsingDataFilterBuilderImplTest, PreserveModeMatchesAll) { … }
TEST(BrowsingDataFilterBuilderImplTest,
PreserveModeWithOriginsOrDomainsMatchesMost) { … }
TEST(BrowsingDataFilterBuilderImplTest,
PreserveModeWithCookiePartitionKeysMatchesMost) { … }
TEST(BrowsingDataFilterBuilderImplTest,
PreserveModeWithStorageKeyDoesntMatchMost) { … }
TEST(BrowsingDataFilterBuilderImplTest,
PreserveModePartitionedCookiesOnlyDoesntMatchMost) { … }
}