diff options
author | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-26 20:47:21 +0000 |
---|---|---|
committer | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-26 20:47:21 +0000 |
commit | 6c76c41189e78aadd38d2830d11a9b2711a50850 (patch) | |
tree | 3f18fd78ac5c23708be35dacb5bea11f4b129ea4 | |
parent | d93587c57a36a15683e0a431f8c015e6e6ceafcf (diff) | |
download | chromium_src-6c76c41189e78aadd38d2830d11a9b2711a50850.zip chromium_src-6c76c41189e78aadd38d2830d11a9b2711a50850.tar.gz chromium_src-6c76c41189e78aadd38d2830d11a9b2711a50850.tar.bz2 |
Make MultiAnimation take time param and slow down tab highlight
BUG=157981
TEST=None
Review URL: https://codereview.chromium.org/11274063
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164399 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | ash/launcher/tabbed_launcher_button.cc | 4 | ||||
-rw-r--r-- | chrome/browser/ui/search/toolbar_search_animator.cc | 4 | ||||
-rw-r--r-- | chrome/browser/ui/views/tabs/tab.cc | 6 | ||||
-rw-r--r-- | ui/base/animation/multi_animation.cc | 12 | ||||
-rw-r--r-- | ui/base/animation/multi_animation.h | 5 | ||||
-rw-r--r-- | ui/base/animation/multi_animation_unittest.cc | 8 |
6 files changed, 28 insertions, 11 deletions
diff --git a/ash/launcher/tabbed_launcher_button.cc b/ash/launcher/tabbed_launcher_button.cc index 9ab491f..7bd5682 100644 --- a/ash/launcher/tabbed_launcher_button.cc +++ b/ash/launcher/tabbed_launcher_button.cc @@ -68,7 +68,9 @@ void TabbedLauncherButton::IconView::SetTabImage(const gfx::ImageSkia& image) { animation_parts.push_back(ui::MultiAnimation::Part(500, ui::Tween::ZERO)); animation_parts.push_back( ui::MultiAnimation::Part(200, ui::Tween::EASE_OUT)); - animation_.reset(new ui::MultiAnimation(animation_parts)); + animation_.reset(new ui::MultiAnimation( + animation_parts, + ui::MultiAnimation::GetDefaultTimerInterval())); animation_->set_continuous(false); animation_->set_delegate(this); animation_->Start(); diff --git a/chrome/browser/ui/search/toolbar_search_animator.cc b/chrome/browser/ui/search/toolbar_search_animator.cc index b33bb14..b534bed 100644 --- a/chrome/browser/ui/search/toolbar_search_animator.cc +++ b/chrome/browser/ui/search/toolbar_search_animator.cc @@ -136,7 +136,9 @@ void ToolbarSearchAnimator::InitBackgroundAnimation() { parts.push_back(ui::MultiAnimation::Part( background_change_duration_ms_ * InstantUI::GetSlowAnimationScaleFactor(), ui::Tween::LINEAR)); - background_animation_.reset(new ui::MultiAnimation(parts)); + background_animation_.reset(new ui::MultiAnimation( + parts, + ui::MultiAnimation::GetDefaultTimerInterval())); background_animation_->set_continuous(false); background_animation_->set_delegate(this); } diff --git a/chrome/browser/ui/views/tabs/tab.cc b/chrome/browser/ui/views/tabs/tab.cc index 07a00ee..ed3ee77 100644 --- a/chrome/browser/ui/views/tabs/tab.cc +++ b/chrome/browser/ui/views/tabs/tab.cc @@ -197,6 +197,7 @@ static const int kMiniTitleChangeAnimationDuration2MS = 0; static const int kMiniTitleChangeAnimationDuration3MS = 550; static const int kMiniTitleChangeAnimationStart3MS = 150; static const int kMiniTitleChangeAnimationEnd3MS = 800; +static const int kMiniTitleChangeAnimationIntervalMS = 40; // Offset from the right edge for the start of the mini title change animation. static const int kMiniTitleChangeInitialXOffset = 6; @@ -261,7 +262,10 @@ void Tab::StartMiniTabTitleAnimation() { parts[0].end_time_ms = kMiniTitleChangeAnimationEnd1MS; parts[2].start_time_ms = kMiniTitleChangeAnimationStart3MS; parts[2].end_time_ms = kMiniTitleChangeAnimationEnd3MS; - mini_title_animation_.reset(new ui::MultiAnimation(parts)); + mini_title_animation_.reset(new ui::MultiAnimation( + parts, + base::TimeDelta::FromMilliseconds( + kMiniTitleChangeAnimationIntervalMS))); mini_title_animation_->SetContainer(animation_container()); mini_title_animation_->set_delegate(this); } diff --git a/ui/base/animation/multi_animation.cc b/ui/base/animation/multi_animation.cc index 5a0c1e1..2e9e477 100644 --- a/ui/base/animation/multi_animation.cc +++ b/ui/base/animation/multi_animation.cc @@ -10,7 +10,7 @@ namespace ui { // Default interval, in ms. -static const int kDefaultInterval = 20; +static const int kDefaultTimerInterval = 20; static int TotalTime(const MultiAnimation::Parts& parts) { int time_ms = 0; @@ -21,8 +21,9 @@ static int TotalTime(const MultiAnimation::Parts& parts) { return time_ms; } -MultiAnimation::MultiAnimation(const Parts& parts) - : Animation(base::TimeDelta::FromMilliseconds(kDefaultInterval)), +MultiAnimation::MultiAnimation(const Parts& parts, + base::TimeDelta timer_interval) + : Animation(timer_interval), parts_(parts), cycle_time_ms_(TotalTime(parts)), current_value_(0), @@ -33,6 +34,11 @@ MultiAnimation::MultiAnimation(const Parts& parts) MultiAnimation::~MultiAnimation() {} +// static. +base::TimeDelta MultiAnimation::GetDefaultTimerInterval() { + return base::TimeDelta::FromMilliseconds(kDefaultTimerInterval); +} + double MultiAnimation::GetCurrentValue() const { return current_value_; } diff --git a/ui/base/animation/multi_animation.h b/ui/base/animation/multi_animation.h index 37f04b0..cbe36c4 100644 --- a/ui/base/animation/multi_animation.h +++ b/ui/base/animation/multi_animation.h @@ -45,9 +45,12 @@ class UI_EXPORT MultiAnimation : public Animation { typedef std::vector<Part> Parts; - explicit MultiAnimation(const Parts& parts); + MultiAnimation(const Parts& parts, base::TimeDelta timer_interval); virtual ~MultiAnimation(); + // Default interval. + static base::TimeDelta GetDefaultTimerInterval(); + // Sets whether the animation continues after it reaches the end. If true, the // animation runs until explicitly stopped. The default is true. void set_continuous(bool continuous) { continuous_ = continuous; } diff --git a/ui/base/animation/multi_animation_unittest.cc b/ui/base/animation/multi_animation_unittest.cc index 2c77ed7..0c21939 100644 --- a/ui/base/animation/multi_animation_unittest.cc +++ b/ui/base/animation/multi_animation_unittest.cc @@ -14,7 +14,7 @@ TEST(MultiAnimationTest, Basic) { parts.push_back(MultiAnimation::Part(100, Tween::LINEAR)); parts.push_back(MultiAnimation::Part(100, Tween::EASE_OUT)); - MultiAnimation animation(parts); + MultiAnimation animation(parts, MultiAnimation::GetDefaultTimerInterval()); AnimationContainerElement* as_element = static_cast<AnimationContainerElement*>(&animation); as_element->SetStartTime(base::TimeTicks()); @@ -43,7 +43,7 @@ TEST(MultiAnimationTest, DifferingStartAndEnd) { parts[0].start_time_ms = 100; parts[0].end_time_ms = 400; - MultiAnimation animation(parts); + MultiAnimation animation(parts, MultiAnimation::GetDefaultTimerInterval()); AnimationContainerElement* as_element = static_cast<AnimationContainerElement*>(&animation); as_element->SetStartTime(base::TimeTicks()); @@ -62,7 +62,7 @@ TEST(MultiAnimationTest, DifferingStartAndEnd) { TEST(MultiAnimationTest, DontCycle) { MultiAnimation::Parts parts; parts.push_back(MultiAnimation::Part(200, Tween::LINEAR)); - MultiAnimation animation(parts); + MultiAnimation animation(parts, MultiAnimation::GetDefaultTimerInterval()); AnimationContainerElement* as_element = static_cast<AnimationContainerElement*>(&animation); as_element->SetStartTime(base::TimeTicks()); @@ -78,7 +78,7 @@ TEST(MultiAnimationTest, DontCycle) { TEST(MultiAnimationTest, Cycle) { MultiAnimation::Parts parts; parts.push_back(MultiAnimation::Part(200, Tween::LINEAR)); - MultiAnimation animation(parts); + MultiAnimation animation(parts, MultiAnimation::GetDefaultTimerInterval()); AnimationContainerElement* as_element = static_cast<AnimationContainerElement*>(&animation); as_element->SetStartTime(base::TimeTicks()); |