| Index: chrome/browser/chromeos/login/authenticator.cc
|
| ===================================================================
|
| --- chrome/browser/chromeos/login/authenticator.cc (revision 70397)
|
| +++ chrome/browser/chromeos/login/authenticator.cc (working copy)
|
| @@ -14,6 +14,9 @@
|
| namespace chromeos {
|
| class LoginStatusConsumer;
|
|
|
| +// static
|
| +const char Authenticator::kSpecialCaseDomain[] = "gmail.com";
|
| +
|
| Authenticator::Authenticator(LoginStatusConsumer* consumer)
|
| : consumer_(consumer) {
|
| }
|
| @@ -26,7 +29,11 @@
|
| char at = '@';
|
| base::SplitString(email_address, at, &parts);
|
| DCHECK_EQ(parts.size(), 2U) << "email_address should have only one @";
|
| - RemoveChars(parts[0], ".", &parts[0]);
|
| + if (parts[1] == kSpecialCaseDomain) // only strip '.' for gmail accounts.
|
| + RemoveChars(parts[0], ".", &parts[0]);
|
| + // Technically the '+' handling here could be removed, as the google
|
| + // account servers do not tolerate them, so we don't need to either.
|
| + // TODO(cmasone): remove this, unless this code becomes obsolete altogether.
|
| if (parts[0].find('+') != std::string::npos)
|
| parts[0].erase(parts[0].find('+'));
|
| std::string new_email = StringToLowerASCII(JoinString(parts, at));
|
|
|