| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Portions of this code based on Mozilla: | 5 // Portions of this code based on Mozilla: |
| 6 // (netwerk/cookie/src/nsCookieService.cpp) | 6 // (netwerk/cookie/src/nsCookieService.cpp) |
| 7 /* ***** BEGIN LICENSE BLOCK ***** | 7 /* ***** BEGIN LICENSE BLOCK ***** |
| 8 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 8 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| 9 * | 9 * |
| 10 * The contents of this file are subject to the Mozilla Public License Version | 10 * The contents of this file are subject to the Mozilla Public License Version |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 SetupAttributes(); | 175 SetupAttributes(); |
| 176 } | 176 } |
| 177 | 177 |
| 178 ParsedCookie::~ParsedCookie() { | 178 ParsedCookie::~ParsedCookie() { |
| 179 } | 179 } |
| 180 | 180 |
| 181 bool ParsedCookie::IsValid() const { | 181 bool ParsedCookie::IsValid() const { |
| 182 return !pairs_.empty(); | 182 return !pairs_.empty(); |
| 183 } | 183 } |
| 184 | 184 |
| 185 CookieSameSite ParsedCookie::SameSite() const { |
| 186 return (same_site_index_ == 0) |
| 187 ? CookieSameSite::DEFAULT_MODE |
| 188 : StringToCookieSameSite(pairs_[same_site_index_].second); |
| 189 } |
| 190 |
| 185 CookiePriority ParsedCookie::Priority() const { | 191 CookiePriority ParsedCookie::Priority() const { |
| 186 return (priority_index_ == 0) | 192 return (priority_index_ == 0) |
| 187 ? COOKIE_PRIORITY_DEFAULT | 193 ? COOKIE_PRIORITY_DEFAULT |
| 188 : StringToCookiePriority(pairs_[priority_index_].second); | 194 : StringToCookiePriority(pairs_[priority_index_].second); |
| 189 } | 195 } |
| 190 | 196 |
| 191 bool ParsedCookie::SetName(const std::string& name) { | 197 bool ParsedCookie::SetName(const std::string& name) { |
| 192 if (!IsValidToken(name)) | 198 if (!IsValidToken(name)) |
| 193 return false; | 199 return false; |
| 194 if (pairs_.empty()) | 200 if (pairs_.empty()) |
| (...skipping 28 matching lines...) Expand all Loading... |
| 223 } | 229 } |
| 224 | 230 |
| 225 bool ParsedCookie::SetIsSecure(bool is_secure) { | 231 bool ParsedCookie::SetIsSecure(bool is_secure) { |
| 226 return SetBool(&secure_index_, kSecureTokenName, is_secure); | 232 return SetBool(&secure_index_, kSecureTokenName, is_secure); |
| 227 } | 233 } |
| 228 | 234 |
| 229 bool ParsedCookie::SetIsHttpOnly(bool is_http_only) { | 235 bool ParsedCookie::SetIsHttpOnly(bool is_http_only) { |
| 230 return SetBool(&httponly_index_, kHttpOnlyTokenName, is_http_only); | 236 return SetBool(&httponly_index_, kHttpOnlyTokenName, is_http_only); |
| 231 } | 237 } |
| 232 | 238 |
| 233 bool ParsedCookie::SetIsSameSite(bool is_same_site) { | 239 bool ParsedCookie::SetSameSite(const std::string& is_same_site) { |
| 234 return SetBool(&same_site_index_, kSameSiteTokenName, is_same_site); | 240 return SetString(&same_site_index_, kSameSiteTokenName, is_same_site); |
| 235 } | 241 } |
| 236 | 242 |
| 237 bool ParsedCookie::SetPriority(const std::string& priority) { | 243 bool ParsedCookie::SetPriority(const std::string& priority) { |
| 238 return SetString(&priority_index_, kPriorityTokenName, priority); | 244 return SetString(&priority_index_, kPriorityTokenName, priority); |
| 239 } | 245 } |
| 240 | 246 |
| 241 std::string ParsedCookie::ToCookieLine() const { | 247 std::string ParsedCookie::ToCookieLine() const { |
| 242 std::string out; | 248 std::string out; |
| 243 for (PairList::const_iterator it = pairs_.begin(); it != pairs_.end(); ++it) { | 249 for (PairList::const_iterator it = pairs_.begin(); it != pairs_.end(); ++it) { |
| 244 if (!out.empty()) | 250 if (!out.empty()) |
| 245 out.append("; "); | 251 out.append("; "); |
| 246 out.append(it->first); | 252 out.append(it->first); |
| 247 if (it->first != kSecureTokenName && it->first != kHttpOnlyTokenName && | 253 if (it->first != kSecureTokenName && it->first != kHttpOnlyTokenName) { |
| 248 it->first != kSameSiteTokenName) { | |
| 249 out.append("="); | 254 out.append("="); |
| 250 out.append(it->second); | 255 out.append(it->second); |
| 251 } | 256 } |
| 252 } | 257 } |
| 253 return out; | 258 return out; |
| 254 } | 259 } |
| 255 | 260 |
| 256 std::string::const_iterator ParsedCookie::FindFirstTerminator( | 261 std::string::const_iterator ParsedCookie::FindFirstTerminator( |
| 257 const std::string& s) { | 262 const std::string& s) { |
| 258 std::string::const_iterator end = s.end(); | 263 std::string::const_iterator end = s.end(); |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 495 for (size_t i = 0; i < arraysize(indexes); ++i) { | 500 for (size_t i = 0; i < arraysize(indexes); ++i) { |
| 496 if (*indexes[i] == index) | 501 if (*indexes[i] == index) |
| 497 *indexes[i] = 0; | 502 *indexes[i] = 0; |
| 498 else if (*indexes[i] > index) | 503 else if (*indexes[i] > index) |
| 499 --*indexes[i]; | 504 --*indexes[i]; |
| 500 } | 505 } |
| 501 pairs_.erase(pairs_.begin() + index); | 506 pairs_.erase(pairs_.begin() + index); |
| 502 } | 507 } |
| 503 | 508 |
| 504 } // namespace | 509 } // namespace |
| OLD | NEW |