Chromium Code Reviews| 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 599e06a72ff06d91f657d5747a94636da70c4c87..3e5039ec522f35a115e535c7fe6b9d646b832d4b 100644 |
| --- a/ui/views/controls/button/menu_button.cc |
| +++ b/ui/views/controls/button/menu_button.cc |
| @@ -48,7 +48,13 @@ const int MenuButton::kMenuMarkerPaddingRight = -1; |
| MenuButton::PressedLock::PressedLock(MenuButton* menu_button) |
| : menu_button_(menu_button->weak_factory_.GetWeakPtr()) { |
| - menu_button_->IncrementPressedLocked(); |
| + menu_button_->IncrementPressedLocked(true); |
|
sky
2016/03/11 20:41:32
use delegating constructor.
bruthig
2016/03/11 21:58:20
Done.
|
| +} |
| + |
| +MenuButton::PressedLock::PressedLock(MenuButton* menu_button, |
| + bool first_menu_show) |
| + : menu_button_(menu_button->weak_factory_.GetWeakPtr()) { |
| + menu_button_->IncrementPressedLocked(first_menu_show); |
| } |
| MenuButton::PressedLock::~PressedLock() { |
| @@ -368,13 +374,17 @@ void MenuButton::NotifyClick(const ui::Event& event) { |
| Activate(&event); |
| } |
| -void MenuButton::IncrementPressedLocked() { |
| +void MenuButton::IncrementPressedLocked(bool animate_ink_drop) { |
| ++pressed_lock_count_; |
| if (increment_pressed_lock_called_) |
| *increment_pressed_lock_called_ = true; |
| should_disable_after_press_ = state() == STATE_DISABLED; |
| - if (state() != STATE_PRESSED && ink_drop_delegate()) |
| - ink_drop_delegate()->OnAction(InkDropState::ACTIVATED); |
| + if (state() != STATE_PRESSED && ink_drop_delegate()) { |
| + if (animate_ink_drop) |
| + ink_drop_delegate()->OnAction(InkDropState::ACTIVATED); |
| + else |
| + ink_drop_delegate()->SnapToActivated(); |
| + } |
| SetState(STATE_PRESSED); |
| } |