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

Issue 8247009: Explicit animation support (Closed)

Created:
9 years, 2 months ago by Ian Vollick
Modified:
9 years, 2 months ago
Reviewers:
sky
CC:
chromium-reviews, tfarina, dhollowa, jonathan.backer
Visibility:
Public.

Description

Explicit animation support High level description: - LayerPropertySetter is now LayerAnimator since it manages implicit/explicit animations and the animation queue. - LayerAnimationElement represents an animation curve. - LayerAnimationSequence owns a collection of elements. - The animator works as follows: o Has a queue of sequences and a collection of running sequences. o It knows the start time of each running sequence. o While there are running sequences, LayerAnimator::Step(base::TimeTicks now) is called periodically, and each of the running sequences are updated. BUG=None TEST=compositor_unittests, base_unittests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=106768 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=106915

Patch Set 1 #

Patch Set 2 : Updated views desktop demo. #

Total comments: 19

Patch Set 3 : Address reviewer comments. #

Patch Set 4 : Added unittests for animation elements and sequences. TODO: animator tests #

Patch Set 5 : Added layer animator tests #

Patch Set 6 : Fix chrome build and screen rotation. #

Patch Set 7 : Added new preemption strategy: replace queued animations. #

Total comments: 47

Patch Set 8 : Address reviewer comments. #

Patch Set 9 : . #

Patch Set 10 : . #

Total comments: 10

Patch Set 11 : Address reviewer comments #

Patch Set 12 : Don't use ScopedVector or ScopedDeque. Use linked_ptr instead. #

Patch Set 13 : Update tween.h/cc to fix the mac build. #

Patch Set 14 : Fix VS2010 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2221 lines, -243 lines) Patch
M ui/base/animation/tween.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +9 lines, -3 lines 0 comments Download
M ui/base/animation/tween.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +42 lines, -1 line 0 comments Download
M ui/gfx/compositor/compositor.gyp View 1 2 3 4 5 6 7 8 3 chunks +14 lines, -1 line 0 comments Download
M ui/gfx/compositor/layer.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +4 lines, -3 lines 0 comments Download
M ui/gfx/compositor/layer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 6 chunks +12 lines, -12 lines 0 comments Download
A ui/gfx/compositor/layer_animation_delegate.h View 1 2 3 4 5 6 7 9 1 chunk +32 lines, -0 lines 0 comments Download
A ui/gfx/compositor/layer_animation_element.h View 1 2 3 4 5 6 7 1 chunk +97 lines, -0 lines 0 comments Download
A ui/gfx/compositor/layer_animation_element.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +190 lines, -0 lines 0 comments Download
A ui/gfx/compositor/layer_animation_element_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +131 lines, -0 lines 0 comments Download
A + ui/gfx/compositor/layer_animation_manager.h View 1 2 3 4 5 6 7 8 4 chunks +10 lines, -9 lines 0 comments Download
A + ui/gfx/compositor/layer_animation_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 8 chunks +17 lines, -18 lines 0 comments Download
A ui/gfx/compositor/layer_animation_sequence.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +90 lines, -0 lines 0 comments Download
A ui/gfx/compositor/layer_animation_sequence.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +101 lines, -0 lines 0 comments Download
A ui/gfx/compositor/layer_animation_sequence_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +158 lines, -0 lines 0 comments Download
M ui/gfx/compositor/layer_animator.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +155 lines, -74 lines 0 comments Download
M ui/gfx/compositor/layer_animator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +377 lines, -122 lines 0 comments Download
A ui/gfx/compositor/layer_animator_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +648 lines, -0 lines 0 comments Download
A ui/gfx/compositor/test_layer_animation_delegate.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +40 lines, -0 lines 0 comments Download
A ui/gfx/compositor/test_layer_animation_delegate.cc View 1 2 3 4 5 6 7 1 chunk +44 lines, -0 lines 0 comments Download
A ui/gfx/compositor/test_utils.h View 1 2 3 4 5 6 7 1 chunk +22 lines, -0 lines 0 comments Download
A ui/gfx/compositor/test_utils.cc View 1 2 3 4 5 6 7 1 chunk +28 lines, -0 lines 0 comments Download

Messages

Total messages: 14 (0 generated)
sky
Much improved. The only thing I would like to see changed are using ref counted ...
9 years, 2 months ago (2011-10-14 16:39:51 UTC) #1
Ian Vollick
High level changes: - elements and sequences are no longer ref counted. - Scrapped LayerAnimationPreemptionStrategy ...
9 years, 2 months ago (2011-10-17 20:29:27 UTC) #2
Ian Vollick
Have added unit tests for LayerAnimationSequence and LayerAnimationElement. LayerAnimator still requires tests.
9 years, 2 months ago (2011-10-17 22:00:34 UTC) #3
Ian Vollick
Added LayerAnimator unit tests. On 2011/10/17 22:00:34, vollick wrote: > Have added unit tests for ...
9 years, 2 months ago (2011-10-18 18:39:19 UTC) #4
sky
> http://codereview.chromium.org/8247009/diff/2001/ui/gfx/compositor/layer_animation_element.h#newcode49 >> >> ui/gfx/compositor/layer_animation_element.h:49: virtual void >> Progress(double > > t, >> >> LayerAnimationDelegate* ...
9 years, 2 months ago (2011-10-18 23:04:23 UTC) #5
sky
I didn't finish LayerAnimator. I'll take a look tomorrow. In hopes of landing this, could ...
9 years, 2 months ago (2011-10-19 00:06:33 UTC) #6
sky
http://codereview.chromium.org/8247009/diff/26001/ui/gfx/compositor/layer_animator.cc File ui/gfx/compositor/layer_animator.cc (right): http://codereview.chromium.org/8247009/diff/26001/ui/gfx/compositor/layer_animator.cc#newcode85 ui/gfx/compositor/layer_animator.cc:85: if (!delegate_) { remove {} Why does no delegate ...
9 years, 2 months ago (2011-10-19 15:43:25 UTC) #7
Ian Vollick
> In hopes of landing this, could you push the non-compositor changes over to a ...
9 years, 2 months ago (2011-10-19 22:36:31 UTC) #8
Ian Vollick
> http://codereview.chromium.org/8247009/diff/26001/ui/gfx/compositor/layer_animator.cc#newcode85 > ui/gfx/compositor/layer_animator.cc:85: if (!delegate_) { > remove {} Why does no delegate imply ...
9 years, 2 months ago (2011-10-19 22:59:17 UTC) #9
sky
I'm not an OWNER of base, so you'll need to land that separately. -Scott http://codereview.chromium.org/8247009/diff/31042/base/base.gypi ...
9 years, 2 months ago (2011-10-20 16:33:03 UTC) #10
Ian Vollick
On 2011/10/20 16:33:03, sky wrote: > I'm not an OWNER of base, so you'll need ...
9 years, 2 months ago (2011-10-20 17:38:12 UTC) #11
sky
LGTM
9 years, 2 months ago (2011-10-20 18:25:01 UTC) #12
Ian Vollick
On 2011/10/20 18:25:01, sky wrote: > LGTM On brettw's recommendation, I got rid of ScopedDeque ...
9 years, 2 months ago (2011-10-20 18:58:10 UTC) #13
sky
9 years, 2 months ago (2011-10-20 19:05:56 UTC) #14
On Thu, Oct 20, 2011 at 11:58 AM,  <vollick@chromium.org> wrote:
> On 2011/10/20 18:25:01, sky wrote:
>>
>> LGTM
>
> On brettw's recommendation, I got rid of ScopedDeque and stopped using
> ScopedVector, too. Used standard containers with linked_ptr's instead. Still
> LGTY?

SLGTM

  -Scott

Powered by Google App Engine
This is Rietveld 408576698