| 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();
|
| +}
|
|
|