main_menu_item.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2011 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_COCOA_MAIN_MENU_ITEM_H_ 6#define CHROME_BROWSER_UI_COCOA_MAIN_MENU_ITEM_H_ 7 8// This interface is implemented by top-level main menubar items that need to 9// be dynamically updated based on the profile. The C++ bridge should implement 10// this interface so that the AppController can appropriately manage the 11// bridge's lifetime and profile information. 12class MainMenuItem { 13 public: 14 // Resets the menu to its initial state. This is called before the Item is 15 // destructed and recreated. 16 virtual void ResetMenu() = 0; 17 18 // Forces a rebuild of the menu as if the model had changed. 19 virtual void BuildMenu() = 0; 20 21 protected: 22 virtual ~MainMenuItem() {} 23}; 24 25#endif // CHROME_BROWSER_UI_COCOA_MAIN_MENU_ITEM_H_ 26