New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 738644 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Proj-VR
Proj-XR
Proj-XR-VR



Sign in to add a comment

Use the cc animation machinery in VR

Project Member Reported by vollick@chromium.org, Jul 1 2017

Issue description

To migrate over to this, the animation machinery will need to be updated a bit.
1) support animating bounds,
2) support animating non-element-animations (which imply many cc-isms), and
3) transform operation animations shouldn't flatten by default, they should simply return the interpolated TransformOperations -- clients can flatten these if they chose via Apply.

An overview, mega-patch is available here: https://codereview.chromium.org/2966793002/
 
Cc: cjgrant@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, Jul 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/09d5967b99632e5674ce510d80b99f739ddf69fb

commit 09d5967b99632e5674ce510d80b99f739ddf69fb
Author: vollick <vollick@chromium.org>
Date: Tue Jul 04 16:40:10 2017

Add support for bounds animations

With this cl, we now support animating bounds (an interpolation of
gfx::SizeF).

BUG= 738644 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2966723003
Cr-Commit-Position: refs/heads/master@{#484129}

[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/cc/animation/animation_curve.cc
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/cc/animation/animation_curve.h
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/cc/animation/animation_player.cc
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/cc/animation/element_animations.cc
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/cc/animation/element_animations.h
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/cc/animation/keyframed_animation_curve.cc
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/cc/animation/keyframed_animation_curve.h
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/cc/animation/keyframed_animation_curve_unittest.cc
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/cc/trees/target_property.cc
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/cc/trees/target_property.h
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/ui/gfx/animation/tween.cc
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/ui/gfx/animation/tween.h
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/ui/gfx/animation/tween_unittest.cc
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/ui/gfx/test/gfx_util.cc
[modify] https://crrev.com/09d5967b99632e5674ce510d80b99f739ddf69fb/ui/gfx/test/gfx_util.h

Project Member

Comment 3 by bugdroid1@chromium.org, Jul 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/699fb5ef02326c0ae298c0f94b04cfd674da0668

commit 699fb5ef02326c0ae298c0f94b04cfd674da0668
Author: vollick <vollick@chromium.org>
Date: Tue Jul 04 19:02:37 2017

Transform animations should not collapse by default when interpolating

Previously, keyframed transform animation curves would produce a
gfx::Transform for a given time fraction. Some clients, however,
would wish to retain the unbaked, interpolated TransformOperations.
With this CL, we no longer bake the TransformOperations by default.
Clients that wish this behavior can call TransformOperations::Apply
themselves.

BUG= 738644 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2971503002
Cr-Commit-Position: refs/heads/master@{#484144}

[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/animation/animation_curve.h
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/animation/animation_player.cc
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/animation/element_animations.cc
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/animation/element_animations.h
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/animation/keyframed_animation_curve.cc
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/animation/keyframed_animation_curve.h
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/animation/keyframed_animation_curve_unittest.cc
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/animation/transform_operation.cc
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/animation/transform_operation.h
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/animation/transform_operations.cc
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/animation/transform_operations.h
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/animation/transform_operations_unittest.cc
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/test/animation_test_common.cc
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/test/animation_test_common.h
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/test/animation_timelines_test_common.h
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/test/geometry_test_utils.cc
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/cc/test/geometry_test_utils.h
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/ui/compositor/transform_animation_curve_adapter.cc
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/ui/compositor/transform_animation_curve_adapter.h
[modify] https://crrev.com/699fb5ef02326c0ae298c0f94b04cfd674da0668/ui/compositor/transform_animation_curve_adapter_unittest.cc

Labels: Proj-VR-Shell
Status: Started (was: Assigned)
Project Member

Comment 7 by bugdroid1@chromium.org, Jul 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3f691a1be05afaa7f97d5b262fefd37b1a47a06d

commit 3f691a1be05afaa7f97d5b262fefd37b1a47a06d
Author: Ian Vollick <vollick@chromium.org>
Date: Wed Jul 12 19:03:28 2017

Introduce AnimationTarget

Currently, the only entity that can respond to an animation driven by a
cc::AnimationPlayer is a cc::ElementAnimations, which implies many cc
concepts (eg activation). This CL creates an AnimationTarget interface
implemented by ElementAnimations and refactors the ticking logic for
easy reuse.

Bug:  738644 
Change-Id: Ie93d0d7eb792bd0b4440b571cdb81f08af2652a6
Reviewed-on: https://chromium-review.googlesource.com/563784
Commit-Queue: Ian Vollick <vollick@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486044}
[modify] https://crrev.com/3f691a1be05afaa7f97d5b262fefd37b1a47a06d/cc/animation/BUILD.gn
[modify] https://crrev.com/3f691a1be05afaa7f97d5b262fefd37b1a47a06d/cc/animation/animation_player.cc
[modify] https://crrev.com/3f691a1be05afaa7f97d5b262fefd37b1a47a06d/cc/animation/animation_player.h
[add] https://crrev.com/3f691a1be05afaa7f97d5b262fefd37b1a47a06d/cc/animation/animation_target.h
[modify] https://crrev.com/3f691a1be05afaa7f97d5b262fefd37b1a47a06d/cc/animation/element_animations.cc
[modify] https://crrev.com/3f691a1be05afaa7f97d5b262fefd37b1a47a06d/cc/animation/element_animations.h

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f946c305fcee8fb99ff0e4086d8297ff21ef8d99

commit f946c305fcee8fb99ff0e4086d8297ff21ef8d99
Author: Ian Vollick <vollick@chromium.org>
Date: Fri Jul 14 00:03:17 2017

[vr] Port to cc animation machinery

With this CL, we leverage cc's animation curves, keyframes, etc. We do
however have to write a simplified player since animation management
logic in cc::AnimationPlayer is still cc-specific. The hope is that
this will ultimately move under gfx/.

Bug:  738644 
Change-Id: I701b3035a50f356c789fc43633a4bf30d1c74354
Reviewed-on: https://chromium-review.googlesource.com/569258
Commit-Queue: Ian Vollick <vollick@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486553}
[modify] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/cc/test/geometry_test_utils.h
[modify] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/android/vr_shell/vr_shell_gl.cc
[modify] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/BUILD.gn
[add] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/DEPS
[delete] https://crrev.com/e0d014b6588cb9ed030f24ac76439e2c388dd57c/chrome/browser/vr/animation.cc
[delete] https://crrev.com/e0d014b6588cb9ed030f24ac76439e2c388dd57c/chrome/browser/vr/animation.h
[add] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/animation_player.cc
[add] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/animation_player.h
[add] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/animation_player_unittest.cc
[delete] https://crrev.com/e0d014b6588cb9ed030f24ac76439e2c388dd57c/chrome/browser/vr/easing.cc
[delete] https://crrev.com/e0d014b6588cb9ed030f24ac76439e2c388dd57c/chrome/browser/vr/easing.h
[modify] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/elements/ui_element.cc
[modify] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/elements/ui_element.h
[modify] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/elements/ui_element_unittest.cc
[add] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/test/animation_utils.cc
[add] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/test/animation_utils.h
[modify] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/ui_scene.cc
[modify] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/ui_scene.h
[modify] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/ui_scene_manager.cc
[modify] https://crrev.com/f946c305fcee8fb99ff0e4086d8297ff21ef8d99/chrome/browser/vr/ui_scene_unittest.cc

Status: Fixed (was: Started)

Sign in to add a comment