// Copyright 2021 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "net/cookies/cookie_partition_key_collection.h" #include #include "base/containers/contains.h" #include "base/containers/flat_map.h" #include "base/containers/flat_set.h" #include "base/functional/bind.h" #include "base/functional/callback.h" #include "net/base/schemeful_site.h" #include "net/cookies/cookie_access_delegate.h" #include "net/cookies/cookie_partition_key.h" #include "net/first_party_sets/first_party_set_entry.h" namespace net { CookiePartitionKeyCollection::CookiePartitionKeyCollection() = default; CookiePartitionKeyCollection::CookiePartitionKeyCollection( const CookiePartitionKeyCollection& other) = default; CookiePartitionKeyCollection::CookiePartitionKeyCollection( CookiePartitionKeyCollection&& other) = default; CookiePartitionKeyCollection::CookiePartitionKeyCollection( const CookiePartitionKey& key) : CookiePartitionKeyCollection(base::flat_set({key})) {} CookiePartitionKeyCollection::CookiePartitionKeyCollection( base::flat_set keys) : keys_(std::move(keys)) {} CookiePartitionKeyCollection::CookiePartitionKeyCollection( bool contains_all_keys) : contains_all_keys_(contains_all_keys) {} CookiePartitionKeyCollection& CookiePartitionKeyCollection::operator=( const CookiePartitionKeyCollection& other) = default; CookiePartitionKeyCollection& CookiePartitionKeyCollection::operator=( CookiePartitionKeyCollection&& other) = default; CookiePartitionKeyCollection::~CookiePartitionKeyCollection() = default; bool CookiePartitionKeyCollection::Contains( const CookiePartitionKey& key) const { return contains_all_keys_ || base::Contains(keys_, key); } } // namespace net