Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Side by Side Diff: ui/views/animation/bounds_animator.cc

Issue 1868363002: Replace scoped_ptr with std::unique_ptr in //ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scopedptrcc
Patch Set: scopedptrui: rebase-make_scoped_ptr Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/views/animation/bounds_animator.h ('k') | ui/views/animation/bounds_animator_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/views/animation/bounds_animator.h" 5 #include "ui/views/animation/bounds_animator.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include <memory>
8
8 #include "ui/gfx/animation/animation_container.h" 9 #include "ui/gfx/animation/animation_container.h"
9 #include "ui/gfx/animation/slide_animation.h" 10 #include "ui/gfx/animation/slide_animation.h"
10 #include "ui/views/animation/bounds_animator_observer.h" 11 #include "ui/views/animation/bounds_animator_observer.h"
11 #include "ui/views/view.h" 12 #include "ui/views/view.h"
12 13
13 // Duration in milliseconds for animations. 14 // Duration in milliseconds for animations.
14 static const int kDefaultAnimationDuration = 200; 15 static const int kDefaultAnimationDuration = 200;
15 16
16 using gfx::Animation; 17 using gfx::Animation;
17 using gfx::AnimationContainer; 18 using gfx::AnimationContainer;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 gfx::Rect BoundsAnimator::GetTargetBounds(View* view) { 83 gfx::Rect BoundsAnimator::GetTargetBounds(View* view) {
83 if (!IsAnimating(view)) 84 if (!IsAnimating(view))
84 return view->bounds(); 85 return view->bounds();
85 return data_[view].target_bounds; 86 return data_[view].target_bounds;
86 } 87 }
87 88
88 void BoundsAnimator::SetAnimationForView(View* view, 89 void BoundsAnimator::SetAnimationForView(View* view,
89 SlideAnimation* animation) { 90 SlideAnimation* animation) {
90 DCHECK(animation); 91 DCHECK(animation);
91 92
92 scoped_ptr<SlideAnimation> animation_wrapper(animation); 93 std::unique_ptr<SlideAnimation> animation_wrapper(animation);
93 94
94 if (!IsAnimating(view)) 95 if (!IsAnimating(view))
95 return; 96 return;
96 97
97 // We delay deleting the animation until the end so that we don't prematurely 98 // We delay deleting the animation until the end so that we don't prematurely
98 // send out notification that we're done. 99 // send out notification that we're done.
99 scoped_ptr<Animation> old_animation(ResetAnimationForView(view)); 100 std::unique_ptr<Animation> old_animation(ResetAnimationForView(view));
100 101
101 data_[view].animation = animation_wrapper.release(); 102 data_[view].animation = animation_wrapper.release();
102 animation_to_view_[animation] = view; 103 animation_to_view_[animation] = view;
103 104
104 animation->set_delegate(this); 105 animation->set_delegate(this);
105 animation->SetContainer(container_.get()); 106 animation->SetContainer(container_.get());
106 animation->Show(); 107 animation->Show();
107 } 108 }
108 109
109 const SlideAnimation* BoundsAnimator::GetAnimationForView(View* view) { 110 const SlideAnimation* BoundsAnimator::GetAnimationForView(View* view) {
110 return !IsAnimating(view) ? NULL : data_[view].animation; 111 return !IsAnimating(view) ? NULL : data_[view].animation;
111 } 112 }
112 113
113 void BoundsAnimator::SetAnimationDelegate( 114 void BoundsAnimator::SetAnimationDelegate(
114 View* view, 115 View* view,
115 scoped_ptr<AnimationDelegate> delegate) { 116 std::unique_ptr<AnimationDelegate> delegate) {
116 DCHECK(IsAnimating(view)); 117 DCHECK(IsAnimating(view));
117 118
118 data_[view].delegate = delegate.release(); 119 data_[view].delegate = delegate.release();
119 } 120 }
120 121
121 void BoundsAnimator::StopAnimatingView(View* view) { 122 void BoundsAnimator::StopAnimatingView(View* view) {
122 if (!IsAnimating(view)) 123 if (!IsAnimating(view))
123 return; 124 return;
124 125
125 data_[view].animation->Stop(); 126 data_[view].animation->Stop();
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 FOR_EACH_OBSERVER(BoundsAnimatorObserver, 274 FOR_EACH_OBSERVER(BoundsAnimatorObserver,
274 observers_, 275 observers_,
275 OnBoundsAnimatorDone(this)); 276 OnBoundsAnimatorDone(this));
276 } 277 }
277 } 278 }
278 279
279 void BoundsAnimator::AnimationContainerEmpty(AnimationContainer* container) { 280 void BoundsAnimator::AnimationContainerEmpty(AnimationContainer* container) {
280 } 281 }
281 282
282 } // namespace views 283 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/animation/bounds_animator.h ('k') | ui/views/animation/bounds_animator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698