blob: 755a4128d190e0f18191cf137d5a792263c9493f [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// 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) {
const char* cause_string = "INVALID";
switch (cause) {
case CookieChangeCause::INSERTED:
cause_string = "inserted";
break;
case CookieChangeCause::EXPLICIT:
cause_string = "explicit";
break;
case CookieChangeCause::UNKNOWN_DELETION:
cause_string = "unknown";
break;
case CookieChangeCause::OVERWRITE:
cause_string = "overwrite";
break;
case CookieChangeCause::EXPIRED:
cause_string = "expired";
break;
case CookieChangeCause::EVICTED:
cause_string = "evicted";
break;
case CookieChangeCause::EXPIRED_OVERWRITE:
cause_string = "expired_overwrite";
break;
}
return cause_string;
}
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