| 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 |