// Copyright 2013 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_constants.h" #include "base/logging.h" #include "base/strings/string_util.h" namespace net { namespace { const char kPriorityLow[] = "low"; const char kPriorityMedium[] = "medium"; const char kPriorityHigh[] = "high"; const char kSameSiteLax[] = "lax"; const char kSameSiteStrict[] = "strict"; const char kSameSiteDefault[] = "default"; } // namespace std::string CookiePriorityToString(CookiePriority priority) { switch(priority) { case COOKIE_PRIORITY_HIGH: return kPriorityHigh; case COOKIE_PRIORITY_MEDIUM: return kPriorityMedium; case COOKIE_PRIORITY_LOW: return kPriorityLow; default: NOTREACHED(); } return std::string(); } CookiePriority StringToCookiePriority(const std::string& priority) { std::string priority_comp = base::ToLowerASCII(priority); if (priority_comp == kPriorityHigh) return COOKIE_PRIORITY_HIGH; if (priority_comp == kPriorityMedium) return COOKIE_PRIORITY_MEDIUM; if (priority_comp == kPriorityLow) return COOKIE_PRIORITY_LOW; return COOKIE_PRIORITY_DEFAULT; } std::string CookieSameSiteToString(CookieSameSite same_site) { switch (same_site) { case CookieSameSite::LAX_MODE: return kSameSiteLax; case CookieSameSite::STRICT_MODE: return kSameSiteStrict; case CookieSameSite::DEFAULT_MODE: return kSameSiteDefault; } return "INVALID"; } CookieSameSite StringToCookieSameSite(const std::string& same_site) { if (base::EqualsCaseInsensitiveASCII(same_site, kSameSiteLax)) return CookieSameSite::LAX_MODE; if (base::EqualsCaseInsensitiveASCII(same_site, kSameSiteStrict)) return CookieSameSite::STRICT_MODE; return CookieSameSite::DEFAULT_MODE; } } // namespace net