summaryrefslogtreecommitdiffstats
path: root/ui/compositor/layer_animation_sequence.h
diff options
context:
space:
mode:
authorvollick@google.com <vollick@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-19 18:03:40 +0000
committervollick@google.com <vollick@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-19 18:03:40 +0000
commit501bcb011820d64974f76d34ece697495e1ea73e (patch)
tree5f90caddf48a19ea462d5ec85344285639839535 /ui/compositor/layer_animation_sequence.h
parentc0718fe48955d9bbf51752e97f7d384822d98906 (diff)
downloadchromium_src-501bcb011820d64974f76d34ece697495e1ea73e.zip
chromium_src-501bcb011820d64974f76d34ece697495e1ea73e.tar.gz
chromium_src-501bcb011820d64974f76d34ece697495e1ea73e.tar.bz2
Revert 156318 - I had originally tried to build upon http://codereview.chromium.org/10869066/, but the number of functions that needed to return (or needed to cope with) DestroyedType's was spiralling out of control and it seemed likely that a mistake would be made and bugs introduced. pkotwicz suggested I make the layer animator ref counted, and this seemed to be a much simpler and safer approach. This way, whenever we're in a LayerAnimator function that may notify observers, we create a scoped_refptr<LayerAnimator> for |this|. If the animator's owning layer gets deleted by an observer, then |this| will be safely destroyed when the function exits and the scoped_refptr falls out of scope.
BUG=147435 TEST=LayerAnimatorTest.ObserverDeletesAnimatorAfter[FinishingAnimation|StoppingAnimation|Scheduling|Aborted] Review URL: https://chromiumcodereview.appspot.com/10919195 TBR=sky@chromium.org Review URL: https://codereview.chromium.org/10942034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157567 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/compositor/layer_animation_sequence.h')
-rw-r--r--ui/compositor/layer_animation_sequence.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/ui/compositor/layer_animation_sequence.h b/ui/compositor/layer_animation_sequence.h
index abd3694..998dd9f 100644
--- a/ui/compositor/layer_animation_sequence.h
+++ b/ui/compositor/layer_animation_sequence.h
@@ -36,9 +36,9 @@ class COMPOSITOR_EXPORT LayerAnimationSequence {
// Updates the delegate to the appropriate value for |elapsed|, which is in
// the range [0, Duration()]. If the animation is not aborted, it is
- // guaranteed that Animate will be called with elapsed = Duration(). Requests
- // a redraw if it is required.
- void Progress(base::TimeDelta elapsed, LayerAnimationDelegate* delegate);
+ // guaranteed that Animate will be called with elapsed = Duration().
+ // Returns true if a redraw is required.
+ bool Progress(base::TimeDelta elapsed, LayerAnimationDelegate* delegate);
// Sets the target value to the value that would have been set had
// the sequence completed. Does nothing if the sequence is cyclic.