cookie_change_dispatcher.cc 1.6 KB

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