xref: /aosp_15_r20/external/cronet/net/cookies/cookie_change_dispatcher.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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)9 const 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)30 CookieChangeInfo::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)43 bool CookieChangeCauseIsDeletion(CookieChangeCause cause) {
44   return cause != CookieChangeCause::INSERTED;
45 }
46 
47 }  // namespace net
48