1 // Copyright 2018 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "net/cookies/cookie_change_dispatcher.h" 6 7 namespace net { 8 CookieChangeCauseToString(CookieChangeCause cause)9const char* CookieChangeCauseToString(CookieChangeCause cause) { 10 switch (cause) { 11 case CookieChangeCause::INSERTED: 12 return "inserted"; 13 case CookieChangeCause::EXPLICIT: 14 return "explicit"; 15 case CookieChangeCause::UNKNOWN_DELETION: 16 return "unknown"; 17 case CookieChangeCause::OVERWRITE: 18 return "overwrite"; 19 case CookieChangeCause::EXPIRED: 20 return "expired"; 21 case CookieChangeCause::EVICTED: 22 return "evicted"; 23 case CookieChangeCause::EXPIRED_OVERWRITE: 24 return "expired_overwrite"; 25 } 26 } 27 28 CookieChangeInfo::CookieChangeInfo() = default; 29 CookieChangeInfo(const CanonicalCookie & cookie,CookieAccessResult access_result,CookieChangeCause cause)30CookieChangeInfo::CookieChangeInfo(const CanonicalCookie& cookie, 31 CookieAccessResult access_result, 32 CookieChangeCause cause) 33 : cookie(cookie), access_result(access_result), cause(cause) { 34 DCHECK(access_result.status.IsInclude()); 35 if (CookieChangeCauseIsDeletion(cause)) { 36 DCHECK_EQ(access_result.effective_same_site, 37 CookieEffectiveSameSite::UNDEFINED); 38 } 39 } 40 41 CookieChangeInfo::~CookieChangeInfo() = default; 42 CookieChangeCauseIsDeletion(CookieChangeCause cause)43bool CookieChangeCauseIsDeletion(CookieChangeCause cause) { 44 return cause != CookieChangeCause::INSERTED; 45 } 46 47 } // namespace net 48