| 307 | } |
| 308 | |
| 309 | void CookieManager::ParseCookieList(const std::string& cookie_file_contents, |
| 310 | const bool include_secure_cookies, |
| 311 | std::map<std::string, BrowserCookie>* cookies) { |
| 312 | LOG(TRACE) << "Entering CookieManager::ParseCookieList"; |
| 313 | |
| 314 | // Each cookie in the file is a record structure separated by |
| 315 | // a line containing a single asterisk ('*'). Split the file |
| 316 | // content on this delimiter, and parse each record. |
| 317 | std::vector<std::string> persistent_cookie_strings; |
| 318 | StringUtilities::Split(cookie_file_contents, |
| 319 | "\n*\n", |
| 320 | &persistent_cookie_strings); |
| 321 | std::vector<std::string>::const_iterator cookie_string_iterator; |
| 322 | for (cookie_string_iterator = persistent_cookie_strings.begin(); |
| 323 | cookie_string_iterator != persistent_cookie_strings.end(); |
| 324 | ++cookie_string_iterator) { |
| 325 | BrowserCookie persistent_cookie = |
| 326 | this->ParseSingleCookie(*cookie_string_iterator); |
| 327 | if (include_secure_cookies || !persistent_cookie.is_secure()) { |
| 328 | // Omit the cookie if it's 'secure' flag is set and we are *not* |
| 329 | // browsing using SSL. |
| 330 | cookies->insert( |
| 331 | std::pair<std::string, BrowserCookie>(persistent_cookie.name(), |
| 332 | persistent_cookie)); |
| 333 | } |
| 334 | } |
| 335 | } |
| 336 | |
| 337 | BrowserCookie CookieManager::ParseSingleCookie(const std::string& cookie) { |
| 338 | LOG(TRACE) << "Entering CookieManager::ParsePersistentCookieInfo"; |
no test coverage detected