summaryrefslogtreecommitdiffstats
path: root/views/controls/menu/menu_controller.cc
diff options
context:
space:
mode:
Diffstat (limited to 'views/controls/menu/menu_controller.cc')
-rw-r--r--views/controls/menu/menu_controller.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/views/controls/menu/menu_controller.cc b/views/controls/menu/menu_controller.cc
index df88db14..a59caac 100644
--- a/views/controls/menu/menu_controller.cc
+++ b/views/controls/menu/menu_controller.cc
@@ -544,7 +544,7 @@ void MenuController::OnMouseReleased(SubmenuView* source,
SendMouseReleaseToActiveView(source, event);
return;
}
- if (part.menu->GetDelegate()->IsTriggerableEvent(event)) {
+ if (part.menu->GetDelegate()->IsTriggerableEvent(part.menu, event)) {
Accept(part.menu, event.flags());
return;
}
@@ -1325,6 +1325,8 @@ void MenuController::OpenMenu(MenuItemView* item) {
}
void MenuController::OpenMenuImpl(MenuItemView* item, bool show) {
+ if (show)
+ item->GetDelegate()->WillShowMenu(item);
bool prefer_leading =
state_.open_leading.empty() ? true : state_.open_leading.back();
bool resulting_direction;
@@ -1421,7 +1423,7 @@ gfx::Rect MenuController::CalculateMenuBounds(MenuItemView* item,
// Don't let the menu go to wide.
pref.set_width(std::min(pref.width(),
- item->GetDelegate()->GetMaxWidthForMenu()));
+ item->GetDelegate()->GetMaxWidthForMenu(item)));
if (!state_.monitor_bounds.IsEmpty())
pref.set_width(std::min(pref.width(), state_.monitor_bounds.width()));