Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(328)

Unified Diff: views/controls/menu/menu_model_adapter.cc

Issue 7044016: Replace ButtonDropDown menu implementation (Menu2) with MenuItemView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: One last little style fix. Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « views/controls/menu/menu_model_adapter.h ('k') | views/controls/menu/menu_model_adapter_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: views/controls/menu/menu_model_adapter.cc
diff --git a/views/controls/menu/menu_model_adapter.cc b/views/controls/menu/menu_model_adapter.cc
index d2812c4502720559fb0ce9fbcfb480375a4f1c67..9da389de742efdbe4da3fcf261274fa2eb917c8c 100644
--- a/views/controls/menu/menu_model_adapter.cc
+++ b/views/controls/menu/menu_model_adapter.cc
@@ -94,7 +94,7 @@ const gfx::Font& MenuModelAdapter::GetLabelFont(int id) const {
return font ? *font : MenuDelegate::GetLabelFont(id);
}
- NOTREACHED();
+ // This line may be reached for the empty menu item.
return MenuDelegate::GetLabelFont(id);
}
@@ -119,6 +119,10 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
}
void MenuModelAdapter::SelectionChanged(MenuItemView* menu) {
+ // Ignore selection of the root menu.
+ if (menu == menu->GetRootMenuItem())
+ return;
+
const int id = menu->GetCommand();
ui::MenuModel* model = menu_model_;
int index = 0;
@@ -142,6 +146,18 @@ void MenuModelAdapter::WillShowMenu(MenuItemView* menu) {
NOTREACHED();
}
+void MenuModelAdapter::WillHideMenu(MenuItemView* menu) {
+ // Look up the menu model for this menu.
+ const std::map<MenuItemView*, ui::MenuModel*>::const_iterator map_iterator =
+ menu_map_.find(menu);
+ if (map_iterator != menu_map_.end()) {
+ map_iterator->second->MenuClosed();
+ return;
+ }
+
+ NOTREACHED();
+}
+
// MenuModelAdapter, private:
void MenuModelAdapter::BuildMenuImpl(MenuItemView* menu, ui::MenuModel* model) {
« no previous file with comments | « views/controls/menu/menu_model_adapter.h ('k') | views/controls/menu/menu_model_adapter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698