blob: c751e0a85d6843ebe4aad38ae26e0b8317ac44a5 [file] [log] [blame]
// Copyright (c) 2011 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 "chrome/browser/importer/toolbar_importer_utils.h"
#include <string>
#include <vector>
#include "base/string_split.h"
#include "chrome/browser/profiles/profile.h"
#include "googleurl/src/gurl.h"
#include "net/base/cookie_store.h"
#include "net/url_request/url_request_context_getter.h"
namespace {
const char kGoogleDomainUrl[] = "http://.google.com/";
const char kGoogleDomainSecureCookieId[] = "SID=";
const char kSplitStringToken = ';';
}
namespace toolbar_importer_utils {
bool IsGoogleGAIACookieInstalled() {
net::CookieStore* store =
Profile::GetDefaultRequestContext()->DONTUSEME_GetCookieStore();
GURL url(kGoogleDomainUrl);
net::CookieOptions options;
options.set_include_httponly(); // The SID cookie might be httponly.
std::string cookies = store->GetCookiesWithOptions(url, options);
std::vector<std::string> cookie_list;
base::SplitString(cookies, kSplitStringToken, &cookie_list);
for (std::vector<std::string>::iterator current = cookie_list.begin();
current != cookie_list.end();
++current) {
size_t position = (*current).find(kGoogleDomainSecureCookieId);
if (0 == position)
return true;
}
return false;
}
} // namespace toolbar_importer_utils