summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoratwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-07 03:17:47 +0000
committeratwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-07 03:17:47 +0000
commitc8d4f606b39ba14e5329355d655c3e80b1bde8ec (patch)
tree204c04482719a44e509537c5805f3811695b21f0
parentd06c3972a290e5ff94daf9d7bd75a0e0b66ff7dd (diff)
downloadchromium_src-c8d4f606b39ba14e5329355d655c3e80b1bde8ec.zip
chromium_src-c8d4f606b39ba14e5329355d655c3e80b1bde8ec.tar.gz
chromium_src-c8d4f606b39ba14e5329355d655c3e80b1bde8ec.tar.bz2
Fix signin issue.
Now notify SyncSetupFlow that signin is complete before checking the HasSyncSetupCompleted() flag. This keeps us from mistakenly cancelling the signin process. BUG=117018 TEST=sign in, make sure it works. Review URL: http://codereview.chromium.org/9605035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125313 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/webui/sync_setup_handler.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/chrome/browser/ui/webui/sync_setup_handler.cc b/chrome/browser/ui/webui/sync_setup_handler.cc
index da497f3..93627ef 100644
--- a/chrome/browser/ui/webui/sync_setup_handler.cc
+++ b/chrome/browser/ui/webui/sync_setup_handler.cc
@@ -694,6 +694,12 @@ void SyncSetupHandler::HandleShowSetupUI(const ListValue* args) {
}
void SyncSetupHandler::CloseSyncSetup() {
+ // Shutdown the SyncSetupFlow first so we mark sync setup as complete.
+ if (flow_) {
+ flow_->OnDialogClosed(std::string());
+ flow_ = NULL;
+ }
+
// TODO(atwilson): Move UMA tracking of signin events out of sync module.
if (IsActiveLogin()) {
if (signin_tracker_.get()) {
@@ -712,15 +718,12 @@ void SyncSetupHandler::CloseSyncSetup() {
// and shut down sync.
ProfileSyncService* sync_service = GetSyncService();
if (sync_service && !sync_service->HasSyncSetupCompleted()) {
+ DVLOG(1) << "Signin aborted by user action";
sync_service->DisableForUser();
GetSignin()->SignOut();
}
}
- if (flow_) {
- flow_->OnDialogClosed(std::string());
- flow_ = NULL;
- }
signin_tracker_.reset();
}