app_shell: Add version number in user agent
[chromium-blink-merge.git] / chrome / browser / ui / tabs / tab_menu_model.cc
blob4e7f569c65548c940241fc98a67e30440c135ab7
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/ui/tabs/tab_menu_model.h"
7 #include "base/command_line.h"
8 #include "chrome/browser/ui/tabs/tab_strip_model.h"
9 #include "chrome/browser/ui/tabs/tab_strip_model_delegate.h"
10 #include "grit/generated_resources.h"
12 TabMenuModel::TabMenuModel(ui::SimpleMenuModel::Delegate* delegate,
13 TabStripModel* tab_strip,
14 int index)
15 : ui::SimpleMenuModel(delegate) {
16 Build(tab_strip, index);
19 void TabMenuModel::Build(TabStripModel* tab_strip, int index) {
20 bool affects_multiple_tabs =
21 (tab_strip->IsTabSelected(index) &&
22 tab_strip->selection_model().selected_indices().size() > 1);
23 AddItemWithStringId(TabStripModel::CommandNewTab, IDS_TAB_CXMENU_NEWTAB);
24 AddSeparator(ui::NORMAL_SEPARATOR);
25 AddItemWithStringId(TabStripModel::CommandReload, IDS_TAB_CXMENU_RELOAD);
26 AddItemWithStringId(TabStripModel::CommandDuplicate,
27 IDS_TAB_CXMENU_DUPLICATE);
28 bool will_pin = tab_strip->WillContextMenuPin(index);
29 if (affects_multiple_tabs) {
30 AddItemWithStringId(
31 TabStripModel::CommandTogglePinned,
32 will_pin ? IDS_TAB_CXMENU_PIN_TABS : IDS_TAB_CXMENU_UNPIN_TABS);
33 } else {
34 AddItemWithStringId(
35 TabStripModel::CommandTogglePinned,
36 will_pin ? IDS_TAB_CXMENU_PIN_TAB : IDS_TAB_CXMENU_UNPIN_TAB);
38 AddSeparator(ui::NORMAL_SEPARATOR);
39 if (affects_multiple_tabs) {
40 AddItemWithStringId(TabStripModel::CommandCloseTab,
41 IDS_TAB_CXMENU_CLOSETABS);
42 } else {
43 AddItemWithStringId(TabStripModel::CommandCloseTab,
44 IDS_TAB_CXMENU_CLOSETAB);
46 AddItemWithStringId(TabStripModel::CommandCloseOtherTabs,
47 IDS_TAB_CXMENU_CLOSEOTHERTABS);
48 AddItemWithStringId(TabStripModel::CommandCloseTabsToRight,
49 IDS_TAB_CXMENU_CLOSETABSTORIGHT);
50 AddSeparator(ui::NORMAL_SEPARATOR);
51 const bool is_window = tab_strip->delegate()->GetRestoreTabType() ==
52 TabStripModelDelegate::RESTORE_WINDOW;
53 AddItemWithStringId(TabStripModel::CommandRestoreTab,
54 is_window ? IDS_RESTORE_WINDOW : IDS_RESTORE_TAB);
55 AddItemWithStringId(TabStripModel::CommandBookmarkAllTabs,
56 IDS_TAB_CXMENU_BOOKMARK_ALL_TABS);