Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / net / cookies / cookie_constants.cc
1 // Copyright 2013 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
5 #include "net/cookies/cookie_constants.h"
6
7 #include "base/logging.h"
8 #include "base/strings/string_util.h"
9
10 namespace net {
11
12 namespace {
13 const char kPriorityLow[] = "low";
14 const char kPriorityMedium[] = "medium";
15 const char kPriorityHigh[] = "high";
16 }  // namespace
17
18 NET_EXPORT const std::string CookiePriorityToString(CookiePriority priority) {
19   switch(priority) {
20     case COOKIE_PRIORITY_HIGH:
21       return kPriorityHigh;
22     case COOKIE_PRIORITY_MEDIUM:
23       return kPriorityMedium;
24     case COOKIE_PRIORITY_LOW:
25       return kPriorityLow;
26     default:
27       NOTREACHED();
28   }
29   return std::string();
30 }
31
32 NET_EXPORT CookiePriority StringToCookiePriority(const std::string& priority) {
33   std::string priority_comp(priority);
34   base::StringToLowerASCII(&priority_comp);
35
36   if (priority_comp == kPriorityHigh)
37     return COOKIE_PRIORITY_HIGH;
38   if (priority_comp == kPriorityMedium)
39     return COOKIE_PRIORITY_MEDIUM;
40   if (priority_comp == kPriorityLow)
41     return COOKIE_PRIORITY_LOW;
42
43   return COOKIE_PRIORITY_DEFAULT;
44 }
45
46 }  // namespace net