#include "third_party/blink/renderer/core/loader/cookie_jar.h"
#include <cstdint>
#include "base/debug/dump_without_crashing.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/strcat.h"
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/web_feature.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
#include "third_party/blink/renderer/platform/weborigin/kurl_hash.h"
#include "third_party/blink/renderer/platform/wtf/hash_functions.h"
#include "third_party/blink/renderer/platform/wtf/text/string_hash.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
namespace blink {
namespace {
enum class CookieCacheLookupResult { … };
constexpr char kFirstCookieRequestHistogram[] = …;
bool ContainsTruncatingChar(UChar c) { … }
}
CookieJar::CookieJar(blink::Document* document)
: … { … }
CookieJar::~CookieJar() = default;
void CookieJar::Trace(Visitor* visitor) const { … }
void CookieJar::SetCookie(const String& value) { … }
void CookieJar::OnBackendDisconnect() { … }
String CookieJar::Cookies() { … }
bool CookieJar::CookiesEnabled() { … }
void CookieJar::SetCookieManager(
mojo::PendingRemote<network::mojom::blink::RestrictedCookieManager>
cookie_manager) { … }
void CookieJar::InvalidateCache() { … }
bool CookieJar::IPCNeeded() { … }
void CookieJar::RequestRestrictedCookieManagerIfNeeded() { … }
void CookieJar::UpdateCacheAfterGetRequest(const KURL& cookie_url,
const String& cookie_string,
uint64_t new_version) { … }
void CookieJar::LogFirstCookieRequest(FirstCookieRequest first_cookie_request) { … }
}