Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(757)

Side by Side Diff: chrome/browser/ui/webui/ntp/new_tab_page_sync_handler.cc

Issue 7481023: Adding notifications for new sync types. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Now stores acknowledged types in a ListValue, not a StringValue. Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/webui/ntp/new_tab_page_sync_handler.h" 5 #include "chrome/browser/ui/webui/ntp/new_tab_page_sync_handler.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/string_split.h" 10 #include "base/string_split.h"
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 DCHECK(!sync_service_->IsManaged()); // And neither if sync is managed. 103 DCHECK(!sync_service_->IsManaged()); // And neither if sync is managed.
104 sync_service_->AddObserver(this); 104 sync_service_->AddObserver(this);
105 return WebUIMessageHandler::Attach(web_ui); 105 return WebUIMessageHandler::Attach(web_ui);
106 } 106 }
107 107
108 void NewTabPageSyncHandler::RegisterMessages() { 108 void NewTabPageSyncHandler::RegisterMessages() {
109 web_ui_->RegisterMessageCallback("GetSyncMessage", 109 web_ui_->RegisterMessageCallback("GetSyncMessage",
110 NewCallback(this, &NewTabPageSyncHandler::HandleGetSyncMessage)); 110 NewCallback(this, &NewTabPageSyncHandler::HandleGetSyncMessage));
111 web_ui_->RegisterMessageCallback("SyncLinkClicked", 111 web_ui_->RegisterMessageCallback("SyncLinkClicked",
112 NewCallback(this, &NewTabPageSyncHandler::HandleSyncLinkClicked)); 112 NewCallback(this, &NewTabPageSyncHandler::HandleSyncLinkClicked));
113 web_ui_->RegisterMessageCallback("SyncTypeLinkClicked",
114 NewCallback(this, &NewTabPageSyncHandler::HandleSyncTypeLinkClicked));
113 } 115 }
114 116
115 void NewTabPageSyncHandler::HandleGetSyncMessage(const ListValue* args) { 117 void NewTabPageSyncHandler::HandleGetSyncMessage(const ListValue* args) {
116 waiting_for_initial_page_load_ = false; 118 waiting_for_initial_page_load_ = false;
117 BuildAndSendSyncStatus(); 119 BuildAndSendSyncStatus();
118 } 120 }
119 121
120 void NewTabPageSyncHandler::HideSyncStatusSection() { 122 void NewTabPageSyncHandler::HideSyncStatusSection() {
121 SendSyncMessageToPage(HIDE, std::string(), std::string()); 123 SendSyncMessageToPage(HIDE, std::string(), std::string());
122 } 124 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 l10n_util::GetStringFUTF16(IDS_SYNC_NTP_SYNCED_TO, 165 l10n_util::GetStringFUTF16(IDS_SYNC_NTP_SYNCED_TO,
164 sync_service_->GetAuthenticatedUsername())); 166 sync_service_->GetAuthenticatedUsername()));
165 web_ui_->CallJavascriptFunction("syncAlreadyEnabled", value); 167 web_ui_->CallJavascriptFunction("syncAlreadyEnabled", value);
166 } else { 168 } else {
167 // User clicked the 'Start now' link to begin syncing. 169 // User clicked the 'Start now' link to begin syncing.
168 ProfileSyncService::SyncEvent(ProfileSyncService::START_FROM_NTP); 170 ProfileSyncService::SyncEvent(ProfileSyncService::START_FROM_NTP);
169 sync_service_->ShowLoginDialog(); 171 sync_service_->ShowLoginDialog();
170 } 172 }
171 } 173 }
172 174
175 void NewTabPageSyncHandler::HandleSyncTypeLinkClicked(const ListValue* args) {
176 if (sync_service_->HasSyncSetupCompleted()) {
177 sync_service_->AcknowledgeSyncedTypes();
178 sync_service_->ShowConfigure(false);
179 } else {
180 sync_service_->ShowLoginDialog();
181 }
182 }
183
173 void NewTabPageSyncHandler::OnStateChanged() { 184 void NewTabPageSyncHandler::OnStateChanged() {
174 // Don't do anything if the page has not yet loaded. 185 // Don't do anything if the page has not yet loaded.
175 if (waiting_for_initial_page_load_) 186 if (waiting_for_initial_page_load_)
176 return; 187 return;
177 BuildAndSendSyncStatus(); 188 BuildAndSendSyncStatus();
178 } 189 }
179 190
180 void NewTabPageSyncHandler::SendSyncMessageToPage( 191 void NewTabPageSyncHandler::SendSyncMessageToPage(
181 MessageType type, std::string msg, 192 MessageType type, std::string msg,
182 std::string linktext) { 193 std::string linktext) {
(...skipping 29 matching lines...) Expand all
212 if (linkurl.empty()) { 223 if (linkurl.empty()) {
213 value.SetBoolean("linkurlisset", false); 224 value.SetBoolean("linkurlisset", false);
214 } else { 225 } else {
215 value.SetBoolean("linkurlisset", true); 226 value.SetBoolean("linkurlisset", true);
216 value.SetString("linkurl", linkurl); 227 value.SetString("linkurl", linkurl);
217 } 228 }
218 } 229 }
219 } 230 }
220 web_ui_->CallJavascriptFunction("syncMessageChanged", value); 231 web_ui_->CallJavascriptFunction("syncMessageChanged", value);
221 } 232 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698