| // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_UI_COCOA_MAIN_MENU_ITEM_H_ |
| #define CHROME_BROWSER_UI_COCOA_MAIN_MENU_ITEM_H_ |
| |
| // This interface is implemented by top-level main menubar items that need to |
| // be dynamically updated based on the profile. The C++ bridge should implement |
| // this interface so that the AppController can appropriately manage the |
| // bridge's lifetime and profile information. |
| class MainMenuItem { |
| public: |
| // Resets the menu to its initial state. This is called before the Item is |
| // destructed and recreated. |
| virtual void ResetMenu() = 0; |
| |
| // Forces a rebuild of the menu as if the model had changed. |
| virtual void BuildMenu() = 0; |
| |
| protected: |
| virtual ~MainMenuItem() {} |
| }; |
| |
| #endif // CHROME_BROWSER_UI_COCOA_MAIN_MENU_ITEM_H_ |