Chromium Code Reviews| Index: ui/views/controls/button/custom_button.cc |
| diff --git a/ui/views/controls/button/custom_button.cc b/ui/views/controls/button/custom_button.cc |
| index 7664f615332918ad415186babc7dc628cbfe803c..5f7cd4f9fd671e9ba9c9c43dab1fc7f1ee0e4b35 100644 |
| --- a/ui/views/controls/button/custom_button.cc |
| +++ b/ui/views/controls/button/custom_button.cc |
| @@ -241,12 +241,12 @@ bool CustomButton::OnKeyPressed(const ui::KeyEvent& event) { |
| } |
| bool CustomButton::OnKeyReleased(const ui::KeyEvent& event) { |
| - if ((state_ == STATE_DISABLED) || (event.key_code() != ui::VKEY_SPACE)) |
| - return false; |
| - |
| - SetState(STATE_NORMAL); |
| - NotifyClick(event); |
| - return true; |
| + if ((state_ == STATE_PRESSED) && (event.key_code() == ui::VKEY_SPACE)) { |
| + SetState(STATE_NORMAL); |
| + NotifyClick(event); |
| + return true; |
| + } |
| + return false; |
| } |
| void CustomButton::OnGestureEvent(ui::GestureEvent* event) { |
| @@ -371,8 +371,17 @@ void CustomButton::ViewHierarchyChanged( |
| void CustomButton::OnBlur() { |
| Button::OnBlur(); |
| - if (IsHotTracked()) |
| + if (IsHotTracked() || state_ == STATE_PRESSED) { |
| SetState(STATE_NORMAL); |
| + if (ink_drop_delegate() && |
| + ink_drop_delegate()->GetTargetInkDropState() != |
| + views::InkDropState::HIDDEN) |
| + ink_drop_delegate()->OnAction(views::InkDropState::HIDDEN); |
| +//TODO(bruthig) : Fix CustomButtons to work well when multiple input methods are |
|
bruthig
2016/06/02 16:49:54
nit: formatting/indent. I find running 'git cl fo
|
| +//interacting with a button.e.g.By animating to HIDDEN here it is possible for |
| +//a Mouse Release to trigger an action however there would be no visual cue to |
| +//the user that this will occur. |
| + } |
| } |
| bool CustomButton::ShouldShowInkDropForFocus() const { |