summaryrefslogtreecommitdiffstats
path: root/google_apis
diff options
context:
space:
mode:
authorrogerta@chromium.org <rogerta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-31 01:46:20 +0000
committerrogerta@chromium.org <rogerta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-31 01:46:20 +0000
commit20360589b4db51a52468b282032ab9b83e84fa73 (patch)
treecf7d21b5625c85397bd5113fb900b876d34403b5 /google_apis
parent6b490c6fd81af60c1e5962054205c417f1bb27e7 (diff)
downloadchromium_src-20360589b4db51a52468b282032ab9b83e84fa73.zip
chromium_src-20360589b4db51a52468b282032ab9b83e84fa73.tar.gz
chromium_src-20360589b4db51a52468b282032ab9b83e84fa73.tar.bz2
Watch cookie jar so that reconcilor reacts more quickly.
Also fix handling of /ListAccounts since it returns display email. BUG=305249 Review URL: https://codereview.chromium.org/133073013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248105 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'google_apis')
-rw-r--r--google_apis/gaia/gaia_auth_util.cc3
-rw-r--r--google_apis/gaia/gaia_auth_util_unittest.cc19
2 files changed, 15 insertions, 7 deletions
diff --git a/google_apis/gaia/gaia_auth_util.cc b/google_apis/gaia/gaia_auth_util.cc
index f8f95c1..3aabd07 100644
--- a/google_apis/gaia/gaia_auth_util.cc
+++ b/google_apis/gaia/gaia_auth_util.cc
@@ -96,8 +96,9 @@ std::vector<std::string> ParseListAccountsData(const std::string& data) {
base::ListValue* account;
if (accounts->GetList(i, &account) && account != NULL) {
std::string email;
+ // Canonicalize the email since ListAccounts returns "display email".
if (account->GetString(3, &email) && !email.empty())
- account_ids.push_back(email);
+ account_ids.push_back(CanonicalizeEmail(email));
}
}
diff --git a/google_apis/gaia/gaia_auth_util_unittest.cc b/google_apis/gaia/gaia_auth_util_unittest.cc
index ebe8f87..2dd194d 100644
--- a/google_apis/gaia/gaia_auth_util_unittest.cc
+++ b/google_apis/gaia/gaia_auth_util_unittest.cc
@@ -130,16 +130,23 @@ TEST(GaiaAuthUtilTest, ParseListAccountsData) {
ASSERT_EQ(0u, accounts.size());
accounts = ParseListAccountsData(
- "[\"foo\", [[\"bar\", 0, \"name\", \"email\", \"photo\", 0, 0, 0]]]");
+ "[\"foo\", [[\"bar\", 0, \"name\", \"u@g.c\", \"photo\", 0, 0, 0]]]");
ASSERT_EQ(1u, accounts.size());
- ASSERT_EQ("email", accounts[0]);
+ ASSERT_EQ("u@g.c", accounts[0]);
accounts = ParseListAccountsData(
- "[\"foo\", [[\"bar1\", 0, \"name1\", \"email1\", \"photo1\", 0, 0, 0], "
- "[\"bar2\", 0, \"name2\", \"email2\", \"photo2\", 0, 0, 0]]]");
+ "[\"foo\", [[\"bar1\", 0, \"name1\", \"u1@g.c\", \"photo1\", 0, 0, 0], "
+ "[\"bar2\", 0, \"name2\", \"u2@g.c\", \"photo2\", 0, 0, 0]]]");
ASSERT_EQ(2u, accounts.size());
- ASSERT_EQ("email1", accounts[0]);
- ASSERT_EQ("email2", accounts[1]);
+ ASSERT_EQ("u1@g.c", accounts[0]);
+ ASSERT_EQ("u2@g.c", accounts[1]);
+
+ accounts = ParseListAccountsData(
+ "[\"foo\", [[\"b1\", 0, \"name1\", \"U1@g.c\", \"photo1\", 0, 0, 0], "
+ "[\"b2\", 0, \"name2\", \"u.2@g.c\", \"photo2\", 0, 0, 0]]]");
+ ASSERT_EQ(2u, accounts.size());
+ ASSERT_EQ(CanonicalizeEmail("U1@g.c"), accounts[0]);
+ ASSERT_EQ(CanonicalizeEmail("u.2@g.c"), accounts[1]);
}
} // namespace gaia