Index: chrome/browser/ui/toolbar/media_router_contextual_menu.cc |
diff --git a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc b/chrome/browser/ui/toolbar/media_router_contextual_menu.cc |
index 369cbf4a092c8f9bd6571ab3de9582027afed8cf..d0990e20b8568b7028064e75d5a44c9abf2a2855 100644 |
--- a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc |
+++ b/chrome/browser/ui/toolbar/media_router_contextual_menu.cc |
@@ -22,7 +22,9 @@ |
#if defined(GOOGLE_CHROME_BUILD) |
#include "chrome/browser/signin/signin_manager_factory.h" |
+#include "chrome/browser/sync/profile_sync_service_factory.h" |
#include "chrome/common/pref_names.h" |
+#include "components/browser_sync/browser/profile_sync_service.h" |
#include "components/prefs/pref_service.h" |
#include "components/signin/core/browser/signin_manager.h" |
#endif // defined(GOOGLE_CHROME_BUILD) |
@@ -69,10 +71,15 @@ |
#if defined(GOOGLE_CHROME_BUILD) |
if (command_id == IDC_MEDIA_ROUTER_CLOUD_SERVICES_TOGGLE) { |
// Cloud services preference is not set or used if the user is not signed |
- // in. |
- SigninManagerBase* signin_manager = |
- SigninManagerFactory::GetForProfile(browser_->profile()); |
- return signin_manager && signin_manager->IsAuthenticated(); |
+ // in or has disabled sync. |
+ if (browser_->profile()->IsSyncAllowed()) { |
+ SigninManagerBase* signin_manager = |
+ SigninManagerFactory::GetForProfile(browser_->profile()); |
+ return signin_manager && signin_manager->IsAuthenticated() && |
+ ProfileSyncServiceFactory::GetForProfile( |
+ browser_->profile())->IsSyncActive(); |
+ } |
+ return false; |
} |
#endif // defined(GOOGLE_CHROME_BUILD) |
return true; |