blob: c0a8c304bb093862a0020b460234a090d47998ff [file] [log] [blame]
// Copyright 2018 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_change_dispatcher.h"
namespace net {
const char* CookieChangeCauseToString(CookieChangeCause cause) {
switch (cause) {
case CookieChangeCause::INSERTED:
return "inserted";
case CookieChangeCause::EXPLICIT:
return "explicit";
case CookieChangeCause::UNKNOWN_DELETION:
return "unknown";
case CookieChangeCause::OVERWRITE:
return "overwrite";
case CookieChangeCause::EXPIRED:
return "expired";
case CookieChangeCause::EVICTED:
return "evicted";
case CookieChangeCause::EXPIRED_OVERWRITE:
return "expired_overwrite";
}
}
CookieChangeInfo::CookieChangeInfo() = default;
CookieChangeInfo::CookieChangeInfo(const CanonicalCookie& cookie,
CookieAccessResult access_result,
CookieChangeCause cause)
: cookie(cookie), access_result(access_result), cause(cause) {
DCHECK(access_result.status.IsInclude());
if (CookieChangeCauseIsDeletion(cause)) {
DCHECK_EQ(access_result.effective_same_site,
CookieEffectiveSameSite::UNDEFINED);
}
}
CookieChangeInfo::~CookieChangeInfo() = default;
bool CookieChangeCauseIsDeletion(CookieChangeCause cause) {
return cause != CookieChangeCause::INSERTED;
}
} // namespace net