diff options
author | rsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-17 19:50:59 +0000 |
---|---|---|
committer | rsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-17 19:50:59 +0000 |
commit | 95fd5facaff32caa53dd58dc9139e07140d8834c (patch) | |
tree | 3a1255516b7a24af643ed674231403404846d444 /chrome | |
parent | cc82864b32ed75d814d02abe343c23910e3fc5d3 (diff) | |
download | chromium_src-95fd5facaff32caa53dd58dc9139e07140d8834c.zip chromium_src-95fd5facaff32caa53dd58dc9139e07140d8834c.tar.gz chromium_src-95fd5facaff32caa53dd58dc9139e07140d8834c.tar.bz2 |
Handling empty ScopedDirLookup username in HandleDirectoryManagerEvent().
The constructor of syncable::ScopedDirLookup takes the username of the
account being synced. There are times when the username is blank,
resulting in a DCHECK being fired for the value of good() within the method
SyncManager::SyncInternal::InitialSyncEndedForAllEnabledTypes().
This patch makes sure that a ScopedDirLookup with a blank username is
never created by adding a check in the method
SyncManager::SyncInternal::HandleDirectoryManagerEvent().
BUG=51820
TEST=sync_integration_tests
Review URL: http://codereview.chromium.org/3184009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56403 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/sync/engine/syncapi.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/browser/sync/engine/syncapi.cc b/chrome/browser/sync/engine/syncapi.cc index e53db9c..82ecfaa 100644 --- a/chrome/browser/sync/engine/syncapi.cc +++ b/chrome/browser/sync/engine/syncapi.cc @@ -1687,6 +1687,13 @@ void SyncManager::SyncInternal::HandleDirectoryManagerEvent( LOG(INFO) << "Sync internal handling a directory manager event"; if (syncable::DirectoryManagerEvent::OPENED == event.what_happened) { DCHECK(!initialized()) << "Should only happen once"; + if (username_for_share().empty()) { + share_.authenticated_name = event.dirname; + } + DCHECK(LowerCaseEqualsASCII(username_for_share(), + StringToLowerASCII(event.dirname).c_str())) + << "username_for_share= " << username_for_share() + << ", event.dirname= " << event.dirname; MarkAndNotifyInitializationComplete(); } } |