Index: chrome/browser/ui/webui/sync_promo/sync_promo_ui.cc |
diff --git a/chrome/browser/ui/webui/sync_promo/sync_promo_ui.cc b/chrome/browser/ui/webui/sync_promo/sync_promo_ui.cc |
index 6e00ca14e4f8e10bd1531731f77db45273d6b4fd..0ac2fac22f2ee8680b89d32e432de96c3dcff016 100644 |
--- a/chrome/browser/ui/webui/sync_promo/sync_promo_ui.cc |
+++ b/chrome/browser/ui/webui/sync_promo/sync_promo_ui.cc |
@@ -16,6 +16,8 @@ |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/profiles/profile_info_cache.h" |
#include "chrome/browser/profiles/profile_manager.h" |
+#include "chrome/browser/signin/signin_manager.h" |
+#include "chrome/browser/signin/signin_manager_factory.h" |
#include "chrome/browser/sync/profile_sync_service.h" |
#include "chrome/browser/sync/profile_sync_service_factory.h" |
#include "chrome/browser/ui/webui/options/core_options_handler.h" |
@@ -126,8 +128,13 @@ bool SyncPromoUI::ShouldShowSyncPromo(Profile* profile) { |
return false; |
// Honor the sync policies. |
- if (!profile->GetOriginalProfile()->IsSyncAccessible()) |
- return false; |
+ profile = profile->GetOriginalProfile(); |
sail
2013/01/29 19:17:16
Changing passed in parameters is really confusing.
Andrew T Wilson (Slow)
2013/01/30 13:55:50
Done.
|
+ if (!profile->IsSyncAccessible()) { |
+ // Sync is disabled by policy - display the promo if the user is not signed |
sail
2013/01/29 19:17:16
I don't understand this. This implies that if sync
Andrew T Wilson (Slow)
2013/01/30 07:43:41
If sync is accessible (meaning not disabled by pol
Andrew T Wilson (Slow)
2013/01/30 13:55:50
Actually, after re-reading your comment, I've chan
sail
2013/01/30 17:51:01
Awesome!
|
+ // in. |
+ SigninManager* signin = SigninManagerFactory::GetForProfile(profile); |
+ return signin->GetAuthenticatedUsername().empty(); |
+ } |
// If the user is already signed into sync then don't show the promo. |
ProfileSyncService* service = |