 Chromium Code Reviews
 Chromium Code Reviews Issue 2001843002:
  Use ink drop hover for focus states on toolbar buttons and location  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 2001843002:
  Use ink drop hover for focus states on toolbar buttons and location  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: ui/views/animation/ink_drop_impl.cc | 
| diff --git a/ui/views/animation/ink_drop_impl.cc b/ui/views/animation/ink_drop_impl.cc | 
| index cce475b58b571bd75a16da0ed910792193c339bb..f9c53c607e63412e32cb4a5fd7ceff5e72b5b2ee 100644 | 
| --- a/ui/views/animation/ink_drop_impl.cc | 
| +++ b/ui/views/animation/ink_drop_impl.cc | 
| @@ -55,6 +55,7 @@ InkDropImpl::InkDropImpl(InkDropHost* ink_drop_host) | 
| root_layer_(new ui::Layer(ui::LAYER_NOT_DRAWN)), | 
| root_layer_added_to_host_(false), | 
| is_hovered_(false), | 
| + is_focused_(false), | 
| hover_after_ripple_timer_(nullptr) { | 
| root_layer_->set_name("InkDropImpl:RootLayer"); | 
| } | 
| @@ -82,9 +83,9 @@ void InkDropImpl::AnimateToState(InkDropState ink_drop_state) { | 
| CreateInkDropRipple(); | 
| if (ink_drop_state != views::InkDropState::HIDDEN) { | 
| - SetHoveredInternal(false, base::TimeDelta::FromMilliseconds( | 
| - kHoverFadeOutBeforeRippleDurationInMs), | 
| - true); | 
| + SetHighlight(false, base::TimeDelta::FromMilliseconds( | 
| + kHoverFadeOutBeforeRippleDurationInMs), | 
| + true); | 
| } | 
| ink_drop_ripple_->AnimateToState(ink_drop_state); | 
| @@ -95,19 +96,25 @@ void InkDropImpl::SnapToActivated() { | 
| if (!ink_drop_ripple_) | 
| CreateInkDropRipple(); | 
| - SetHoveredInternal(false, base::TimeDelta(), false); | 
| + SetHighlight(false, base::TimeDelta(), false); | 
| ink_drop_ripple_->SnapToActivated(); | 
| } | 
| void InkDropImpl::SetHovered(bool is_hovered) { | 
| is_hovered_ = is_hovered; | 
| - SetHoveredInternal(is_hovered, | 
| - is_hovered ? base::TimeDelta::FromMilliseconds( | 
| - kHoverFadeInFromUserInputDurationInMs) | 
| - : base::TimeDelta::FromMilliseconds( | 
| - kHoverFadeOutFromUserInputDurationInMs), | 
| - false); | 
| + SetHighlight(ShouldHighlight(), | 
| + ShouldHighlight() ? base::TimeDelta::FromMilliseconds( | 
| + kHoverFadeInFromUserInputDurationInMs) | 
| + : base::TimeDelta::FromMilliseconds( | 
| + kHoverFadeOutFromUserInputDurationInMs), | 
| + false); | 
| +} | 
| + | 
| +void InkDropImpl::SetFocused(bool is_focused) { | 
| +NOTIMPLEMENTED() << " DAS BLUNT"; | 
| 
bruthig
2016/05/26 19:04:36
is this wanted?
 
Evan Stade
2016/05/26 19:06:55
must have been a stray cosmic ray
 | 
| + is_focused_ = is_focused; | 
| + SetHighlight(ShouldHighlight(), base::TimeDelta(), false); | 
| } | 
| void InkDropImpl::DestroyHiddenTargetedAnimations() { | 
| @@ -208,15 +215,15 @@ void InkDropImpl::AnimationEnded(InkDropHover::AnimationType animation_type, | 
| } | 
| } | 
| -void InkDropImpl::SetHoveredInternal(bool is_hovered, | 
| - base::TimeDelta animation_duration, | 
| - bool explode) { | 
| +void InkDropImpl::SetHighlight(bool should_highlight, | 
| + base::TimeDelta animation_duration, | 
| + bool explode) { | 
| StopHoverAfterRippleTimer(); | 
| - if (IsHoverFadingInOrVisible() == is_hovered) | 
| + if (IsHoverFadingInOrVisible() == should_highlight) | 
| return; | 
| - if (is_hovered) { | 
| + if (should_highlight) { | 
| CreateInkDropHover(); | 
| if (hover_ && !IsVisible()) | 
| hover_->FadeIn(animation_duration); | 
| @@ -225,6 +232,10 @@ void InkDropImpl::SetHoveredInternal(bool is_hovered, | 
| } | 
| } | 
| +bool InkDropImpl::ShouldHighlight() const { | 
| + return is_focused_ || is_hovered_; | 
| +} | 
| + | 
| void InkDropImpl::StartHoverAfterRippleTimer() { | 
| StopHoverAfterRippleTimer(); | 
| @@ -244,9 +255,9 @@ void InkDropImpl::StopHoverAfterRippleTimer() { | 
| } | 
| void InkDropImpl::HoverAfterRippleTimerFired() { | 
| - SetHoveredInternal(true, base::TimeDelta::FromMilliseconds( | 
| - kHoverFadeInAfterRippleDurationInMs), | 
| - true); | 
| + SetHighlight(true, base::TimeDelta::FromMilliseconds( | 
| + kHoverFadeInAfterRippleDurationInMs), | 
| + true); | 
| hover_after_ripple_timer_.reset(); | 
| } |