summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorrsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-17 19:50:59 +0000
committerrsimha@chromium.org <rsimha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-17 19:50:59 +0000
commit95fd5facaff32caa53dd58dc9139e07140d8834c (patch)
tree3a1255516b7a24af643ed674231403404846d444 /chrome
parentcc82864b32ed75d814d02abe343c23910e3fc5d3 (diff)
downloadchromium_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.cc7
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();
}
}