#include "chrome/browser/dips/dips_utils.h"
#include <algorithm>
#include <string_view>
#include "base/feature_list.h"
#include "base/time/time.h"
#include "chrome/browser/profiles/profile_selections.h"
#include "chrome/browser/tpcd/heuristics/opener_heuristic_tab_helper.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/cookie_access_details.h"
#include "content/public/browser/web_contents.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "services/network/public/cpp/features.h"
#include "url/gurl.h"
base::FilePath GetDIPSFilePath(content::BrowserContext* context) { … }
bool UpdateTimestampRange(TimestampRange& range, base::Time time) { … }
bool IsNullOrWithin(const TimestampRange& inner, const TimestampRange& outer) { … }
std::ostream& operator<<(std::ostream& os, TimestampRange range) { … }
std::string_view SiteDataAccessTypeToString(SiteDataAccessType type) { … }
std::ostream& operator<<(std::ostream& os, SiteDataAccessType access_type) { … }
DIPSCookieMode GetDIPSCookieMode(bool is_otr) { … }
std::string_view GetHistogramSuffix(DIPSCookieMode mode) { … }
const char* DIPSCookieModeToString(DIPSCookieMode mode) { … }
std::ostream& operator<<(std::ostream& os, DIPSCookieMode mode) { … }
std::string_view GetHistogramPiece(DIPSRedirectType type) { … }
const char* DIPSRedirectTypeToString(DIPSRedirectType type) { … }
std::ostream& operator<<(std::ostream& os, DIPSRedirectType type) { … }
int64_t BucketizeBounceDelay(base::TimeDelta delta) { … }
std::string GetSiteForDIPS(const GURL& url) { … }
bool HasSameSiteIframe(content::WebContents* web_contents, const GURL& url) { … }
const base::TimeDelta kDIPSTimestampUpdateInterval = …;
bool UpdateTimestamp(std::optional<base::Time>& last_time, base::Time now) { … }
OptionalBool IsAdTaggedCookieForHeuristics(
const content::CookieAccessDetails& details) { … }
bool HasCHIPS(const net::CookieAccessResultList& cookie_access_result_list) { … }