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 4d649f04bdd2eed08ee4b1e67686368dc255d020..823e951b52f421856857d8c477f4f2eaf78a195c 100644 |
| --- a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc |
| +++ b/chrome/browser/ui/toolbar/media_router_contextual_menu.cc |
| @@ -5,13 +5,17 @@ |
| #include "base/logging.h" |
| #include "base/metrics/user_metrics.h" |
| #include "chrome/app/chrome_command_ids.h" |
| +#include "chrome/browser/extensions/component_migration_helper.h" |
| #include "chrome/browser/media/router/media_router_factory.h" |
| #include "chrome/browser/media/router/media_router_mojo_impl.h" |
| #include "chrome/browser/profiles/profile.h" |
| #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_contextual_menu.h" |
| +#include "chrome/browser/ui/toolbar/toolbar_actions_model.h" |
| #include "chrome/grit/generated_resources.h" |
| +#include "chrome/grit/google_chrome_strings.h" |
| #include "extensions/common/constants.h" |
| #include "ui/base/l10n/l10n_util.h" |
| #include "ui/base/models/menu_model_delegate.h" |
| @@ -26,6 +30,8 @@ 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_FROM_CHROME, |
| + IDS_EXTENSIONS_UNINSTALL); |
|
apacible
2016/01/22 16:53:55
Does this fall back to Chromium's IDS_EXTENSIONS_U
mark a. foltz
2016/01/22 18:01:55
I changed the #include to chromium_strings.h which
apacible
2016/01/22 18:30:46
Acknowledged.
|
| menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
| menu_model_.AddItemWithStringId(IDC_MEDIA_ROUTER_REPORT_ISSUE, |
| IDS_MEDIA_ROUTER_REPORT_ISSUE); |
| @@ -58,6 +64,9 @@ base::string16 MediaRouterContextualMenu::GetLabelForCommandId( |
| case IDC_MEDIA_ROUTER_HELP: |
| string_id = IDS_MEDIA_ROUTER_HELP; |
| break; |
| + case IDC_MEDIA_ROUTER_REMOVE_FROM_CHROME: |
| + string_id = IDS_EXTENSIONS_UNINSTALL; |
| + break; |
| case IDC_MEDIA_ROUTER_LEARN_MORE: |
| string_id = IDS_MEDIA_ROUTER_LEARN_MORE; |
| break; |
| @@ -93,6 +102,9 @@ void MediaRouterContextualMenu::ExecuteCommand(int command_id, |
| case IDC_MEDIA_ROUTER_LEARN_MORE: |
| chrome::ShowSingletonTab(browser_, GURL(kCastLearnMorePageUrl)); |
| break; |
| + case IDC_MEDIA_ROUTER_REMOVE_FROM_CHROME: |
| + RemoveMediaRouterComponentAction(); |
| + break; |
| case IDC_MEDIA_ROUTER_REPORT_ISSUE: |
| ReportIssue(); |
| break; |
| @@ -116,3 +128,11 @@ void MediaRouterContextualMenu::ReportIssue() { |
| "/feedback.html"); |
| chrome::ShowSingletonTab(browser_, GURL(feedback_url)); |
| } |
| + |
| +void MediaRouterContextualMenu::RemoveMediaRouterComponentAction() { |
| + extensions::ComponentMigrationHelper* const component_migration_helper = |
| + ToolbarActionsModel::Get(browser_->profile()) |
| + ->component_migration_helper(); |
| + component_migration_helper->OnActionRemoved( |
| + ComponentToolbarActionsFactory::kMediaRouterActionId); |
| +} |