| 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;
|
|
|