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

Side by Side Diff: chrome/browser/sync/sync_ui_util.cc

Issue 8383036: Adding parameter to GetStatusLabels to indicate if links are acceptable. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Further test fixes. Created 9 years, 1 month 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
« no previous file with comments | « chrome/browser/sync/sync_ui_util.h ('k') | chrome/browser/sync/sync_ui_util_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/sync/sync_ui_util.h" 5 #include "chrome/browser/sync/sync_ui_util.h"
6 6
7 #include "base/i18n/number_formatting.h" 7 #include "base/i18n/number_formatting.h"
8 #include "base/i18n/time_formatting.h" 8 #include "base/i18n/time_formatting.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 global_error_bubble_accept_label->assign(l10n_util::GetStringUTF16( 125 global_error_bubble_accept_label->assign(l10n_util::GetStringUTF16(
126 IDS_SYNC_SIGN_IN_ERROR_BUBBLE_VIEW_ACCEPT)); 126 IDS_SYNC_SIGN_IN_ERROR_BUBBLE_VIEW_ACCEPT));
127 } 127 }
128 break; 128 break;
129 } 129 }
130 } 130 }
131 131
132 // Returns the message that should be displayed when the user is authenticated 132 // Returns the message that should be displayed when the user is authenticated
133 // and can connect to the sync server. If the user hasn't yet authenticated, an 133 // and can connect to the sync server. If the user hasn't yet authenticated, an
134 // empty string is returned. 134 // empty string is returned.
135 string16 GetSyncedStateStatusLabel(ProfileSyncService* service) { 135 string16 GetSyncedStateStatusLabel(ProfileSyncService* service,
136 StatusLabelStyle style) {
136 string16 label; 137 string16 label;
137 string16 user_name(service->GetAuthenticatedUsername()); 138 string16 user_name(service->GetAuthenticatedUsername());
138 if (user_name.empty()) 139 if (user_name.empty())
139 return label; 140 return label;
140 141
141 return l10n_util::GetStringFUTF16( 142 // Message may also carry additional advice with an HTML link, if acceptable.
142 IDS_SYNC_ACCOUNT_SYNCING_TO_USER, 143 switch (style) {
143 user_name, 144 case PLAIN_TEXT:
144 ASCIIToUTF16(chrome::kSyncGoogleDashboardURL)); 145 return l10n_util::GetStringFUTF16(
146 IDS_SYNC_ACCOUNT_SYNCING_TO_USER,
147 user_name);
148 case WITH_HTML:
149 return l10n_util::GetStringFUTF16(
150 IDS_SYNC_ACCOUNT_SYNCING_TO_USER_WITH_MANAGE_LINK,
151 user_name,
152 ASCIIToUTF16(chrome::kSyncGoogleDashboardURL));
153 default:
154 NOTREACHED();
155 return NULL;
156 }
145 } 157 }
146 158
147 void GetStatusForActionableError( 159 void GetStatusForActionableError(
148 const browser_sync::SyncProtocolError& error, 160 const browser_sync::SyncProtocolError& error,
149 string16* status_label) { 161 string16* status_label) {
150 DCHECK(status_label); 162 DCHECK(status_label);
151 switch (error.action) { 163 switch (error.action) {
152 case browser_sync::STOP_AND_RESTART_SYNC: 164 case browser_sync::STOP_AND_RESTART_SYNC:
153 status_label->assign( 165 status_label->assign(
154 l10n_util::GetStringUTF16(IDS_SYNC_STOP_AND_RESTART_SYNC)); 166 l10n_util::GetStringUTF16(IDS_SYNC_STOP_AND_RESTART_SYNC));
(...skipping 13 matching lines...) Expand all
168 break; 180 break;
169 default: 181 default:
170 NOTREACHED(); 182 NOTREACHED();
171 } 183 }
172 } 184 }
173 185
174 // TODO(akalin): Write unit tests for these three functions below. 186 // TODO(akalin): Write unit tests for these three functions below.
175 187
176 // status_label and link_label must either be both NULL or both non-NULL. 188 // status_label and link_label must either be both NULL or both non-NULL.
177 MessageType GetStatusInfo(ProfileSyncService* service, 189 MessageType GetStatusInfo(ProfileSyncService* service,
190 StatusLabelStyle style,
178 string16* status_label, 191 string16* status_label,
179 string16* link_label) { 192 string16* link_label) {
180 DCHECK_EQ(status_label == NULL, link_label == NULL); 193 DCHECK_EQ(status_label == NULL, link_label == NULL);
181 194
182 MessageType result_type(SYNCED); 195 MessageType result_type(SYNCED);
183 196
184 if (!service) { 197 if (!service) {
185 return PRE_SYNCED; 198 return PRE_SYNCED;
186 } 199 }
187 200
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 243
231 // Now finally passphrase error. 244 // Now finally passphrase error.
232 if (service->IsPassphraseRequired()) { 245 if (service->IsPassphraseRequired()) {
233 if (service->IsPassphraseRequiredForDecryption()) { 246 if (service->IsPassphraseRequiredForDecryption()) {
234 // TODO(lipalani) : Ask tim if this is still needed. 247 // TODO(lipalani) : Ask tim if this is still needed.
235 // NOT first machine. 248 // NOT first machine.
236 // Show a link ("needs attention"), but still indicate the 249 // Show a link ("needs attention"), but still indicate the
237 // current synced status. Return SYNC_PROMO so that 250 // current synced status. Return SYNC_PROMO so that
238 // the configure link will still be shown. 251 // the configure link will still be shown.
239 if (status_label && link_label) { 252 if (status_label && link_label) {
240 status_label->assign(GetSyncedStateStatusLabel(service)); 253 status_label->assign(GetSyncedStateStatusLabel(service, style));
241 link_label->assign( 254 link_label->assign(
242 l10n_util::GetStringUTF16(IDS_SYNC_PASSWORD_SYNC_ATTENTION)); 255 l10n_util::GetStringUTF16(IDS_SYNC_PASSWORD_SYNC_ATTENTION));
243 } 256 }
244 return SYNC_PROMO; 257 return SYNC_PROMO;
245 } 258 }
246 } 259 }
247 260
248 // There is no error. Display "Last synced..." message. 261 // There is no error. Display "Last synced..." message.
249 if (status_label) 262 if (status_label)
250 status_label->assign(GetSyncedStateStatusLabel(service)); 263 status_label->assign(GetSyncedStateStatusLabel(service, style));
251 return SYNCED; 264 return SYNCED;
252 } else { 265 } else {
253 // Either show auth error information with a link to re-login, auth in prog, 266 // Either show auth error information with a link to re-login, auth in prog,
254 // or provide a link to continue with setup. 267 // or provide a link to continue with setup.
255 result_type = PRE_SYNCED; 268 result_type = PRE_SYNCED;
256 if (service->SetupInProgress()) { 269 if (service->SetupInProgress()) {
257 ProfileSyncService::Status status(service->QueryDetailedSyncStatus()); 270 ProfileSyncService::Status status(service->QueryDetailedSyncStatus());
258 const AuthError& auth_error = service->GetAuthError(); 271 const AuthError& auth_error = service->GetAuthError();
259 if (status_label) { 272 if (status_label) {
260 status_label->assign( 273 status_label->assign(
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 if (status_label && link_label) { 335 if (status_label && link_label) {
323 status_label->assign(string16()); 336 status_label->assign(string16());
324 link_label->assign( 337 link_label->assign(
325 l10n_util::GetStringUTF16(IDS_SYNC_CONFIGURE_ENCRYPTION)); 338 l10n_util::GetStringUTF16(IDS_SYNC_CONFIGURE_ENCRYPTION));
326 } 339 }
327 return SYNC_ERROR; 340 return SYNC_ERROR;
328 } 341 }
329 } 342 }
330 343
331 // Fallback to default. 344 // Fallback to default.
332 return GetStatusInfo(service, status_label, link_label); 345 return GetStatusInfo(service, WITH_HTML, status_label, link_label);
333 } 346 }
334 347
335 } // namespace 348 } // namespace
336 349
337 MessageType GetStatusLabels(ProfileSyncService* service, 350 MessageType GetStatusLabels(ProfileSyncService* service,
351 StatusLabelStyle style,
338 string16* status_label, 352 string16* status_label,
339 string16* link_label) { 353 string16* link_label) {
340 DCHECK(status_label); 354 DCHECK(status_label);
341 DCHECK(link_label); 355 DCHECK(link_label);
342 return sync_ui_util::GetStatusInfo(service, status_label, link_label); 356 return sync_ui_util::GetStatusInfo(service, style, status_label, link_label);
343 } 357 }
344 358
345 MessageType GetStatusLabelsForNewTabPage(ProfileSyncService* service, 359 MessageType GetStatusLabelsForNewTabPage(ProfileSyncService* service,
346 string16* status_label, 360 string16* status_label,
347 string16* link_label) { 361 string16* link_label) {
348 DCHECK(status_label); 362 DCHECK(status_label);
349 DCHECK(link_label); 363 DCHECK(link_label);
350 return sync_ui_util::GetStatusInfoForNewTabPage( 364 return sync_ui_util::GetStatusInfoForNewTabPage(
351 service, status_label, link_label); 365 service, status_label, link_label);
352 } 366 }
(...skipping 30 matching lines...) Expand all
383 return; 397 return;
384 398
385 const AuthError& auth_error = service->GetAuthError(); 399 const AuthError& auth_error = service->GetAuthError();
386 if (auth_error.state() != AuthError::NONE) { 400 if (auth_error.state() != AuthError::NONE) {
387 GetStatusLabelsForAuthError(auth_error, *service, NULL, NULL, 401 GetStatusLabelsForAuthError(auth_error, *service, NULL, NULL,
388 menu_label, bubble_message, bubble_accept_label); 402 menu_label, bubble_message, bubble_accept_label);
389 } 403 }
390 } 404 }
391 405
392 MessageType GetStatus(ProfileSyncService* service) { 406 MessageType GetStatus(ProfileSyncService* service) {
393 return sync_ui_util::GetStatusInfo(service, NULL, NULL); 407 return sync_ui_util::GetStatusInfo(service, WITH_HTML, NULL, NULL);
394 } 408 }
395 409
396 string16 GetSyncMenuLabel(ProfileSyncService* service) { 410 string16 GetSyncMenuLabel(ProfileSyncService* service) {
397 MessageType type = GetStatus(service); 411 MessageType type = GetStatus(service);
398 412
399 if (type == sync_ui_util::SYNCED) 413 if (type == sync_ui_util::SYNCED)
400 return l10n_util::GetStringUTF16(IDS_SYNC_MENU_SYNCED_LABEL); 414 return l10n_util::GetStringUTF16(IDS_SYNC_MENU_SYNCED_LABEL);
401 else if (type == sync_ui_util::SYNC_ERROR) 415 else if (type == sync_ui_util::SYNC_ERROR)
402 return l10n_util::GetStringUTF16(IDS_SYNC_MENU_SYNC_ERROR_LABEL); 416 return l10n_util::GetStringUTF16(IDS_SYNC_MENU_SYNC_ERROR_LABEL);
403 else 417 else
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 } 701 }
688 } else { 702 } else {
689 version_modifier = " " + version_modifier; 703 version_modifier = " " + version_modifier;
690 } 704 }
691 return chrome_version.Name() + " " + chrome_version.OSType() + " " + 705 return chrome_version.Name() + " " + chrome_version.OSType() + " " +
692 chrome_version.Version() + " (" + chrome_version.LastChange() + ")" + 706 chrome_version.Version() + " (" + chrome_version.LastChange() + ")" +
693 version_modifier; 707 version_modifier;
694 } 708 }
695 709
696 } // namespace sync_ui_util 710 } // namespace sync_ui_util
OLDNEW
« no previous file with comments | « chrome/browser/sync/sync_ui_util.h ('k') | chrome/browser/sync/sync_ui_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698