Index: chrome/browser/ui/webui/options/sync_setup_handler.cc |
diff --git a/chrome/browser/ui/webui/options/sync_setup_handler.cc b/chrome/browser/ui/webui/options/sync_setup_handler.cc |
index d4c0352233c9e8df78f7865dc2c17a72c2f75be7..b0e0b6c9030f34f6b92932e0d0855b1fac68d952 100644 |
--- a/chrome/browser/ui/webui/options/sync_setup_handler.cc |
+++ b/chrome/browser/ui/webui/options/sync_setup_handler.cc |
@@ -468,10 +468,15 @@ void SyncSetupHandler::HandleShowSetupUI(const ListValue* args) { |
// The user is trying to manually load a syncSetup URL. We should bring up |
// either a login or a configure flow based on the state of sync. |
- if (service->HasSyncSetupCompleted()) |
- service->get_wizard().Step(SyncSetupWizard::CONFIGURE); |
- else |
+ if (service->HasSyncSetupCompleted()) { |
+ if (service->IsPassphraseRequiredForDecryption()) { |
+ service->get_wizard().Step(SyncSetupWizard::ENTER_PASSPHRASE); |
+ } else { |
+ service->get_wizard().Step(SyncSetupWizard::CONFIGURE); |
+ } |
+ } else { |
service->get_wizard().Step(SyncSetupWizard::GAIA_LOGIN); |
+ } |
// Show the Sync Setup page. |
scoped_ptr<Value> page(Value::CreateStringValue("syncSetup")); |