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 ec99b60f798f6752749e6d4975d3e12754b58efd..2875b06fcf05582b9e28ea9af5c6f8f4bda53556 100644 |
--- a/ui/views/controls/button/custom_button.cc |
+++ b/ui/views/controls/button/custom_button.cc |
@@ -12,7 +12,6 @@ |
#include "ui/gfx/animation/throb_animation.h" |
#include "ui/gfx/color_palette.h" |
#include "ui/native_theme/native_theme.h" |
-#include "ui/views/animation/ink_drop_delegate.h" |
#include "ui/views/animation/ink_drop_highlight.h" |
#include "ui/views/controls/button/blue_button.h" |
#include "ui/views/controls/button/checkbox.h" |
@@ -135,8 +134,9 @@ void CustomButton::OnEnabledChanged() { |
else |
SetState(STATE_DISABLED); |
- if (ink_drop_delegate()) |
- ink_drop_delegate()->SetHovered(ShouldShowInkDropHighlight()); |
+ // TODO(bruthig): This should only be using the hover signal only and not the |
+ // focus signal as well. |
+ ink_drop()->SetHovered(ShouldShowInkDropHighlight()); |
} |
const char* CustomButton::GetClassName() const { |
@@ -149,8 +149,7 @@ bool CustomButton::OnMousePressed(const ui::MouseEvent& event) { |
if (state_ != STATE_PRESSED && ShouldEnterPushedState(event) && |
HitTestPoint(event.location())) { |
SetState(STATE_PRESSED); |
- if (ink_drop_delegate()) |
- ink_drop_delegate()->OnAction(views::InkDropState::ACTION_PENDING); |
+ AnimateInkDrop(views::InkDropState::ACTION_PENDING); |
} |
if (request_focus_on_press_) |
RequestFocus(); |
@@ -167,16 +166,17 @@ bool CustomButton::OnMouseDragged(const ui::MouseEvent& event) { |
bool should_enter_pushed = ShouldEnterPushedState(event); |
if (HitTestPoint(event.location())) { |
SetState(should_enter_pushed ? STATE_PRESSED : STATE_HOVERED); |
- if (!InDrag() && should_enter_pushed && ink_drop_delegate() && |
- ink_drop_delegate()->GetTargetInkDropState() == |
- views::InkDropState::HIDDEN) |
- ink_drop_delegate()->OnAction(views::InkDropState::ACTION_PENDING); |
+ if (!InDrag() && should_enter_pushed && |
+ ink_drop()->GetTargetInkDropState() == views::InkDropState::HIDDEN) { |
+ AnimateInkDrop(views::InkDropState::ACTION_PENDING); |
+ } |
} else { |
SetState(STATE_NORMAL); |
- if (!InDrag() && should_enter_pushed && ink_drop_delegate() && |
- ink_drop_delegate()->GetTargetInkDropState() == |
- views::InkDropState::ACTION_PENDING) |
- ink_drop_delegate()->OnAction(views::InkDropState::HIDDEN); |
+ if (!InDrag() && should_enter_pushed && |
+ ink_drop()->GetTargetInkDropState() == |
+ views::InkDropState::ACTION_PENDING) { |
+ AnimateInkDrop(views::InkDropState::HIDDEN); |
+ } |
} |
} |
return true; |
@@ -208,8 +208,7 @@ void CustomButton::OnMouseCaptureLost() { |
!InDrag() || ui::MaterialDesignController::IsModeMaterial(); |
if (state_ != STATE_DISABLED && reset_button_state) |
SetState(STATE_NORMAL); |
- if (ink_drop_delegate()) |
- ink_drop_delegate()->OnAction(views::InkDropState::HIDDEN); |
+ AnimateInkDrop(views::InkDropState::HIDDEN); |
} |
void CustomButton::OnMouseEntered(const ui::MouseEvent& event) { |
@@ -237,10 +236,10 @@ bool CustomButton::OnKeyPressed(const ui::KeyEvent& event) { |
// KeyRelease and Enter clicks the button on KeyPressed. |
if (event.key_code() == ui::VKEY_SPACE) { |
SetState(STATE_PRESSED); |
- if (ink_drop_delegate() && |
- ink_drop_delegate()->GetTargetInkDropState() != |
- views::InkDropState::ACTION_PENDING) |
- ink_drop_delegate()->OnAction(views::InkDropState::ACTION_PENDING); |
+ if (ink_drop()->GetTargetInkDropState() != |
+ views::InkDropState::ACTION_PENDING) { |
+ AnimateInkDrop(views::InkDropState::ACTION_PENDING); |
+ } |
} else if (event.key_code() == ui::VKEY_RETURN) { |
SetState(STATE_NORMAL); |
NotifyClick(event); |
@@ -314,9 +313,9 @@ void CustomButton::ShowContextMenu(const gfx::Point& p, |
// we won't get a mouse exited and reset state. Reset it now to be sure. |
if (state_ != STATE_DISABLED) |
SetState(STATE_NORMAL); |
- if (hide_ink_drop_when_showing_context_menu_ && ink_drop_delegate()) { |
- ink_drop_delegate()->SetHovered(false); |
- ink_drop_delegate()->OnAction(InkDropState::HIDDEN); |
+ if (hide_ink_drop_when_showing_context_menu_) { |
+ ink_drop()->SetHovered(false); |
+ AnimateInkDrop(InkDropState::HIDDEN); |
} |
View::ShowContextMenu(p, source_type); |
} |
@@ -326,8 +325,7 @@ void CustomButton::OnDragDone() { |
// (since disabled buttons may still be able to be dragged). |
if (state_ != STATE_DISABLED) |
SetState(STATE_NORMAL); |
- if (ink_drop_delegate()) |
- ink_drop_delegate()->OnAction(InkDropState::HIDDEN); |
+ AnimateInkDrop(InkDropState::HIDDEN); |
} |
void CustomButton::GetAccessibleState(ui::AXViewState* state) { |
@@ -384,10 +382,8 @@ void CustomButton::OnBlur() { |
Button::OnBlur(); |
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); |
+ if (ink_drop()->GetTargetInkDropState() != views::InkDropState::HIDDEN) |
+ AnimateInkDrop(views::InkDropState::HIDDEN); |
// TODO(bruthig) : Fix CustomButtons to work well when multiple input |
// methods are interacting with a button.e.g.By animating to HIDDEN here |
// it is possible for a Mouse Release to trigger an action however there |
@@ -465,14 +461,13 @@ bool CustomButton::ShouldEnterHoveredState() { |
// CustomButton, Button overrides (protected): |
void CustomButton::NotifyClick(const ui::Event& event) { |
- if (ink_drop_delegate() && has_ink_drop_action_on_click_) |
- ink_drop_delegate()->OnAction(ink_drop_action_on_click_); |
+ if (has_ink_drop_action_on_click_) |
+ AnimateInkDrop(ink_drop_action_on_click_); |
Button::NotifyClick(event); |
} |
void CustomButton::OnClickCanceled(const ui::Event& event) { |
- if (ink_drop_delegate()) |
- ink_drop_delegate()->OnAction(views::InkDropState::HIDDEN); |
+ AnimateInkDrop(views::InkDropState::HIDDEN); |
Button::OnClickCanceled(event); |
} |