Chromium Code Reviews| 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 e22a3e04bbbc6021c08d11c47c399944e2d14113..b40ae60d863173a82922df7ac3acfdca19762c62 100644 |
| --- a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc |
| +++ b/chrome/browser/ui/toolbar/media_router_contextual_menu.cc |
| @@ -12,19 +12,20 @@ |
| #include "chrome/browser/ui/browser.h" |
| #include "chrome/browser/ui/singleton_tabs.h" |
| #include "chrome/browser/ui/toolbar/component_toolbar_actions_factory.h" |
| +#include "chrome/browser/ui/toolbar/media_router_action.h" |
| #include "chrome/browser/ui/toolbar/media_router_contextual_menu.h" |
| #include "chrome/browser/ui/toolbar/toolbar_actions_model.h" |
| +#include "chrome/common/pref_names.h" |
| #include "chrome/common/url_constants.h" |
| #include "chrome/grit/chromium_strings.h" |
| #include "chrome/grit/generated_resources.h" |
| +#include "components/prefs/pref_service.h" |
| #include "extensions/common/constants.h" |
| #include "ui/base/l10n/l10n_util.h" |
| #include "ui/base/models/menu_model_delegate.h" |
| #if defined(GOOGLE_CHROME_BUILD) |
| #include "chrome/browser/signin/signin_manager_factory.h" |
| -#include "chrome/common/pref_names.h" |
| -#include "components/prefs/pref_service.h" |
| #include "components/signin/core/browser/signin_manager.h" |
| #endif // defined(GOOGLE_CHROME_BUILD) |
| @@ -38,8 +39,9 @@ MediaRouterContextualMenu::MediaRouterContextualMenu(Browser* browser) |
| IDS_MEDIA_ROUTER_LEARN_MORE); |
| menu_model_.AddItemWithStringId(IDC_MEDIA_ROUTER_HELP, |
| IDS_MEDIA_ROUTER_HELP); |
| - menu_model_.AddItemWithStringId(IDC_MEDIA_ROUTER_REMOVE_TOOLBAR_ACTION, |
| - IDS_MEDIA_ROUTER_REMOVE_TOOLBAR_ACTION); |
| + menu_model_.AddCheckItemWithStringId( |
| + IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION, |
| + IDS_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION); |
| menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
| #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS) |
| menu_model_.AddItemWithStringId(IDC_MEDIA_ROUTER_MANAGE_DEVICES, |
| @@ -63,6 +65,10 @@ bool MediaRouterContextualMenu::IsCommandIdChecked(int command_id) const { |
| prefs::kMediaRouterEnableCloudServices); |
| } |
| #endif // defined(GOOGLE_CHROME_BUILD) |
| + if (command_id == IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION) { |
| + return browser_->profile()->GetPrefs()->GetBoolean( |
| + prefs::kMediaRouterAlwaysShowActionIcon); |
| + } |
| return false; |
| } |
| @@ -93,15 +99,18 @@ void MediaRouterContextualMenu::ExecuteCommand(int command_id, |
| "https://support.google.com/chromecast/answer/2998338"; |
| #if defined(GOOGLE_CHROME_BUILD) |
| - PrefService* pref_service; |
| + PrefService* pref_service = browser_->profile()->GetPrefs(); |
|
msw
2016/07/26 19:59:31
optional nit: move to IDC_MEDIA_ROUTER_CLOUD_SERVI
takumif
2016/07/28 20:04:11
Undid this change (not sure what you meant with cu
|
| #endif // defined(GOOGLE_CHROME_BUILD) |
| switch (command_id) { |
| case IDC_MEDIA_ROUTER_ABOUT: |
| chrome::ShowSingletonTab(browser_, GURL(kAboutPageUrl)); |
| break; |
| + case IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION: |
| + if (action_) |
|
msw
2016/07/26 19:59:31
Should this DCHECK? Is it possible to toggle on wh
takumif
2016/07/28 20:04:11
The action owns the contextual menu, so no it shou
|
| + action_->ToggleVisibilityPreference(); |
| + break; |
| #if defined(GOOGLE_CHROME_BUILD) |
| case IDC_MEDIA_ROUTER_CLOUD_SERVICES_TOGGLE: |
| - pref_service = browser_->profile()->GetPrefs(); |
| pref_service->SetBoolean(prefs::kMediaRouterEnableCloudServices, |
| !pref_service->GetBoolean(prefs::kMediaRouterEnableCloudServices)); |
| @@ -123,9 +132,6 @@ void MediaRouterContextualMenu::ExecuteCommand(int command_id, |
| chrome::ShowSingletonTab(browser_, GURL(chrome::kChromeUICastURL)); |
| break; |
| #endif |
| - case IDC_MEDIA_ROUTER_REMOVE_TOOLBAR_ACTION: |
| - RemoveMediaRouterComponentAction(); |
| - break; |
| case IDC_MEDIA_ROUTER_REPORT_ISSUE: |
| ReportIssue(); |
| break; |
| @@ -134,6 +140,11 @@ void MediaRouterContextualMenu::ExecuteCommand(int command_id, |
| } |
| } |
| +void MediaRouterContextualMenu::SetMediaRouterAction( |
| + const base::WeakPtr<MediaRouterAction>& action) { |
| + action_ = action; |
| +} |
| + |
| void MediaRouterContextualMenu::ReportIssue() { |
| // Opens feedback page loaded from the media router extension. |
| // This is temporary until feedback UI is redesigned. |
| @@ -150,8 +161,3 @@ void MediaRouterContextualMenu::ReportIssue() { |
| "/feedback.html"); |
| chrome::ShowSingletonTab(browser_, GURL(feedback_url)); |
| } |
| - |
| -void MediaRouterContextualMenu::RemoveMediaRouterComponentAction() { |
| - ToolbarActionsModel::Get(browser_->profile())->component_migration_helper() |
| - ->OnActionRemoved(ComponentToolbarActionsFactory::kMediaRouterActionId); |
| -} |