OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. Use of this |
2 // source code is governed by a BSD-style license that can be found in the | 2 // source code is governed by a BSD-style license that can be found in the |
3 // LICENSE file. | 3 // LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_TAB_MENU_MODEL_H_ | 5 #ifndef CHROME_BROWSER_TAB_MENU_MODEL_H_ |
6 #define CHROME_BROWSER_TAB_MENU_MODEL_H_ | 6 #define CHROME_BROWSER_TAB_MENU_MODEL_H_ |
7 | 7 |
8 #include "app/menus/simple_menu_model.h" | 8 #include "app/menus/simple_menu_model.h" |
9 | 9 |
10 class Browser; | 10 class Browser; |
11 | 11 |
12 // A menu model that builds the contents of the tab context menu. This menu has | 12 // A menu model that builds the contents of the tab context menu. This menu has |
13 // only one level (no submenus). | 13 // only one level (no submenus). TabMenuModel caches local state from the |
| 14 // tab (such as the pinned state). To make sure the menu reflects the real state |
| 15 // of the tab a new TabMenuModel should be created each time the menu is shown. |
14 class TabMenuModel : public menus::SimpleMenuModel { | 16 class TabMenuModel : public menus::SimpleMenuModel { |
15 public: | 17 public: |
16 explicit TabMenuModel(menus::SimpleMenuModel::Delegate* delegate); | 18 TabMenuModel(menus::SimpleMenuModel::Delegate* delegate, bool is_pinned); |
17 virtual ~TabMenuModel() {} | 19 virtual ~TabMenuModel() {} |
18 | 20 |
19 private: | 21 private: |
20 void Build(); | 22 void Build(bool is_pinned); |
21 | 23 |
22 DISALLOW_COPY_AND_ASSIGN(TabMenuModel); | 24 DISALLOW_COPY_AND_ASSIGN(TabMenuModel); |
23 }; | 25 }; |
24 | 26 |
25 #endif // CHROME_BROWSER_TAB_MENU_MODEL_H_ | 27 #endif // CHROME_BROWSER_TAB_MENU_MODEL_H_ |
OLD | NEW |