Index: ui/views/controls/button/menu_button.cc |
diff --git a/ui/views/controls/button/menu_button.cc b/ui/views/controls/button/menu_button.cc |
index 1225e67f5057482bc8db59bf65543a12a7f14603..8895e7d7a9bce1695620db3f7033f8fbbab8aebf 100644 |
--- a/ui/views/controls/button/menu_button.cc |
+++ b/ui/views/controls/button/menu_button.cc |
@@ -18,6 +18,7 @@ |
#include "ui/gfx/text_constants.h" |
#include "ui/resources/grit/ui_resources.h" |
#include "ui/strings/grit/ui_strings.h" |
+#include "ui/views/animation/ink_drop_delegate.h" |
#include "ui/views/controls/button/button.h" |
#include "ui/views/controls/button/menu_button_listener.h" |
#include "ui/views/mouse_constants.h" |
@@ -126,6 +127,9 @@ bool MenuButton::Activate() { |
// We don't set our state here. It's handled in the MenuController code or |
// by our click listener. |
+ InkDropDelegate* ink_drop_delegate = GetInkDropDelegate(); |
+ if (ink_drop_delegate) |
+ ink_drop_delegate->OnActionQuick(); |
listener_->OnMenuButtonClicked(this, menu_position); |
if (destroyed) { |
@@ -148,6 +152,9 @@ bool MenuButton::Activate() { |
void MenuButton::WillNotActivate() { |
if (listener_) { |
listener_->OnMenuButtonClickCanceled(this); |
+ InkDropDelegate* ink_drop_delegate = GetInkDropDelegate(); |
+ if (ink_drop_delegate) |
+ ink_drop_delegate->OnActionComplete(); |
} |
} |
@@ -179,13 +186,20 @@ const char* MenuButton::GetClassName() const { |
} |
bool MenuButton::OnMousePressed(const ui::MouseEvent& event) { |
+ if (event.IsOnlyLeftMouseButton()) { |
+ InkDropDelegate* ink_drop_delegate = GetInkDropDelegate(); |
+ if (ink_drop_delegate) |
+ ink_drop_delegate->OnActionPending(); |
+ } |
+ |
if (request_focus_on_press()) |
RequestFocus(); |
if (state() != STATE_DISABLED && ShouldEnterPushedState(event) && |
HitTestPoint(event.location())) { |
TimeDelta delta = TimeTicks::Now() - menu_closed_time_; |
- if (delta.InMilliseconds() > kMinimumMsBetweenButtonClicks) |
+ if (delta.InMilliseconds() > kMinimumMsBetweenButtonClicks) { |
return Activate(); |
+ } |
} |
return true; |
} |