naiveproxy/net/cookies/cookie_constants.cc

59 lines
1.5 KiB
C++
Raw Normal View History

2018-01-28 21:32:06 +03:00
// 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";
} // 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;
}
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