Home | History | Annotate | Download | only in cookies
      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
     47