| 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();
|
| + if (!profile->IsSyncAccessible()) {
|
| + // Sync is disabled by policy - display the promo if the user is not signed
|
| + // 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 =
|
|
|