diff options
author | rogerta@chromium.org <rogerta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-31 01:46:20 +0000 |
---|---|---|
committer | rogerta@chromium.org <rogerta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-31 01:46:20 +0000 |
commit | 20360589b4db51a52468b282032ab9b83e84fa73 (patch) | |
tree | cf7d21b5625c85397bd5113fb900b876d34403b5 /google_apis | |
parent | 6b490c6fd81af60c1e5962054205c417f1bb27e7 (diff) | |
download | chromium_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.cc | 3 | ||||
-rw-r--r-- | google_apis/gaia/gaia_auth_util_unittest.cc | 19 |
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 |