tab_menu_model.h revision 72a454cd3513ac24fbdd0e0cb9ad70b86a99b801
1// Copyright (c) 2010 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. 4 5#ifndef CHROME_BROWSER_UI_TABS_TAB_MENU_MODEL_H_ 6#define CHROME_BROWSER_UI_TABS_TAB_MENU_MODEL_H_ 7#pragma once 8 9#include "ui/base/models/simple_menu_model.h" 10 11// A menu model that builds the contents of the tab context menu. This menu has 12// only one level (no submenus). TabMenuModel caches local state from the 13// tab (such as the pinned state). To make sure the menu reflects the real state 14// of the tab a new TabMenuModel should be created each time the menu is shown. 15class TabMenuModel : public ui::SimpleMenuModel { 16 public: 17 TabMenuModel(ui::SimpleMenuModel::Delegate* delegate, bool is_pinned); 18 virtual ~TabMenuModel() {} 19 20 // Returns true if vertical tabs are enabled. 21 static bool AreVerticalTabsEnabled(); 22 23 private: 24 void Build(bool is_pinned); 25 26 DISALLOW_COPY_AND_ASSIGN(TabMenuModel); 27}; 28 29#endif // CHROME_BROWSER_UI_TABS_TAB_MENU_MODEL_H_ 30