Index: chrome/browser/ui/webui/ntp/new_tab_sync_setup_handler.cc |
diff --git a/chrome/browser/ui/webui/ntp/new_tab_sync_setup_handler.cc b/chrome/browser/ui/webui/ntp/new_tab_sync_setup_handler.cc |
index 10362418a29c7ca4f1bfd8676cb58f9d8338781d..ba21e557757e60b5547e49234f4a00e720d334c9 100644 |
--- a/chrome/browser/ui/webui/ntp/new_tab_sync_setup_handler.cc |
+++ b/chrome/browser/ui/webui/ntp/new_tab_sync_setup_handler.cc |
@@ -82,17 +82,23 @@ void NewTabSyncSetupHandler::HandleInitializeSyncPromo(const ListValue* args) { |
// If the user has not signed into sync then expand the sync promo. |
// TODO(sail): Need to throttle this behind a server side flag. |
- if (!service->HasSyncSetupCompleted()) |
+ if (!service->HasSyncSetupCompleted() && |
+ web_ui_->GetProfile()->GetPrefs()->GetBoolean( |
+ prefs::kSyncPromoExpanded)) { |
OpenSyncSetup(); |
+ SaveExpandedPreference(true); |
+ } |
} |
void NewTabSyncSetupHandler::HandleCollapseSyncPromo(const ListValue* args) { |
CloseSyncSetup(); |
+ SaveExpandedPreference(false); |
} |
void NewTabSyncSetupHandler::HandleExpandSyncPromo(const ListValue* args) { |
OpenSyncSetup(); |
+ SaveExpandedPreference(true); |
} |
void NewTabSyncSetupHandler::UpdateLogin() { |
@@ -102,3 +108,9 @@ void NewTabSyncSetupHandler::UpdateLogin() { |
web_ui_->CallJavascriptFunction("new_tab.NewTabSyncPromo.updateLogin", |
string_value); |
} |
+ |
+void NewTabSyncSetupHandler::SaveExpandedPreference(bool is_expanded) { |
+ web_ui_->GetProfile()->GetPrefs()->SetBoolean(prefs::kSyncPromoExpanded, |
+ is_expanded); |
+ web_ui_->GetProfile()->GetPrefs()->ScheduleSavePersistentPrefs(); |
+} |