Commit 45fe1feb authored by John Lee's avatar John Lee Committed by Commit Bot

WebUI Tab Strip: Show the default tab context menu

Now that we are adding support for tab groups in the WebUI tab strip,
there isn't a need to have 2 separate models for the tab context menu.

Bug: 1027373
Change-Id: I41ede1f315c5fc7bbe70addc0f3d36e0db83f04f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2013652Reviewed-by: default avatarCollin Baker <collinbaker@chromium.org>
Commit-Queue: John Lee <johntlee@chromium.org>
Cr-Commit-Position: refs/heads/master@{#735596}
parent f8d2caa8
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include "chrome/browser/ui/browser_commands.h" #include "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/tabs/tab_group.h" #include "chrome/browser/ui/tabs/tab_group.h"
#include "chrome/browser/ui/tabs/tab_group_model.h" #include "chrome/browser/ui/tabs/tab_group_model.h"
#include "chrome/browser/ui/tabs/tab_menu_model.h"
#include "chrome/browser/ui/tabs/tab_renderer_data.h" #include "chrome/browser/ui/tabs/tab_renderer_data.h"
#include "chrome/browser/ui/tabs/tab_utils.h" #include "chrome/browser/ui/tabs/tab_utils.h"
#include "chrome/browser/ui/webui/tab_strip/tab_strip_ui_embedder.h" #include "chrome/browser/ui/webui/tab_strip/tab_strip_ui_embedder.h"
...@@ -113,41 +114,13 @@ class WebUIBackgroundContextMenu : public ui::SimpleMenuModel::Delegate, ...@@ -113,41 +114,13 @@ class WebUIBackgroundContextMenu : public ui::SimpleMenuModel::Delegate,
const ui::AcceleratorProvider* const accelerator_provider_; const ui::AcceleratorProvider* const accelerator_provider_;
}; };
class WebUITabMenuModel : public ui::SimpleMenuModel {
public:
WebUITabMenuModel(ui::SimpleMenuModel::Delegate* delegate,
TabStripModel* tab_strip_model,
int tab_index)
: ui::SimpleMenuModel(delegate) {
AddItemWithStringId(IDC_NEW_TAB, IDS_NEW_TAB);
AddSeparator(ui::NORMAL_SEPARATOR);
AddItemWithStringId(TabStripModel::CommandReload, IDS_TAB_CXMENU_RELOAD);
AddItemWithStringId(TabStripModel::CommandDuplicate,
IDS_TAB_CXMENU_DUPLICATE);
const int pin_str = tab_strip_model->WillContextMenuPin(tab_index)
? IDS_TAB_CXMENU_PIN_TAB
: IDS_TAB_CXMENU_UNPIN_TAB;
AddItemWithStringId(TabStripModel::CommandTogglePinned, pin_str);
const int mute_str = chrome::IsSiteMuted(*tab_strip_model, tab_index)
? IDS_TAB_CXMENU_SOUND_UNMUTE_SITE
: IDS_TAB_CXMENU_SOUND_MUTE_SITE;
AddItem(TabStripModel::CommandToggleSiteMuted,
l10n_util::GetPluralStringFUTF16(mute_str, 1));
AddSeparator(ui::NORMAL_SEPARATOR);
AddItemWithStringId(TabStripModel::CommandCloseTab,
IDS_TAB_CXMENU_CLOSETAB);
AddItemWithStringId(TabStripModel::CommandCloseTabsToRight,
IDS_TAB_CXMENU_CLOSETABSTORIGHT);
}
};
class WebUITabContextMenu : public ui::SimpleMenuModel::Delegate, class WebUITabContextMenu : public ui::SimpleMenuModel::Delegate,
public WebUITabMenuModel { public TabMenuModel {
public: public:
WebUITabContextMenu(Browser* browser, WebUITabContextMenu(Browser* browser,
const ui::AcceleratorProvider* accelerator_provider, const ui::AcceleratorProvider* accelerator_provider,
int tab_index) int tab_index)
: WebUITabMenuModel(this, browser->tab_strip_model(), tab_index), : TabMenuModel(this, browser->tab_strip_model(), tab_index),
browser_(browser), browser_(browser),
accelerator_provider_(accelerator_provider), accelerator_provider_(accelerator_provider),
tab_index_(tab_index) {} tab_index_(tab_index) {}
...@@ -155,13 +128,6 @@ class WebUITabContextMenu : public ui::SimpleMenuModel::Delegate, ...@@ -155,13 +128,6 @@ class WebUITabContextMenu : public ui::SimpleMenuModel::Delegate,
void ExecuteCommand(int command_id, int event_flags) override { void ExecuteCommand(int command_id, int event_flags) override {
DCHECK_LT(tab_index_, browser_->tab_strip_model()->count()); DCHECK_LT(tab_index_, browser_->tab_strip_model()->count());
if (command_id == IDC_NEW_TAB) {
chrome::NewTab(browser_);
UMA_HISTOGRAM_ENUMERATION("Tab.NewTab",
TabStripModel::NEW_TAB_CONTEXT_MENU,
TabStripModel::NEW_TAB_ENUM_COUNT);
return;
}
browser_->tab_strip_model()->ExecuteContextMenuCommand( browser_->tab_strip_model()->ExecuteContextMenuCommand(
tab_index_, static_cast<TabStripModel::ContextMenuCommand>(command_id)); tab_index_, static_cast<TabStripModel::ContextMenuCommand>(command_id));
} }
...@@ -169,12 +135,8 @@ class WebUITabContextMenu : public ui::SimpleMenuModel::Delegate, ...@@ -169,12 +135,8 @@ class WebUITabContextMenu : public ui::SimpleMenuModel::Delegate,
bool GetAcceleratorForCommandId(int command_id, bool GetAcceleratorForCommandId(int command_id,
ui::Accelerator* accelerator) const override { ui::Accelerator* accelerator) const override {
int real_command = -1; int real_command = -1;
if (command_id == IDC_NEW_TAB) { TabStripModel::ContextMenuCommandToBrowserCommand(command_id,
real_command = IDC_NEW_TAB; &real_command);
} else {
TabStripModel::ContextMenuCommandToBrowserCommand(command_id,
&real_command);
}
if (real_command != -1) { if (real_command != -1) {
return accelerator_provider_->GetAcceleratorForCommandId(real_command, return accelerator_provider_->GetAcceleratorForCommandId(real_command,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment