Group effects support in cc::AnimationPlayer [chromium/src : master]

4 views
Skip to first unread message

Yi Gu (Gerrit)

unread,
Nov 28, 2017, 8:51:13 PM11/28/17
to Stephen McGruer, Robert Flack, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Majid Valipour

Yi Gu would like Stephen McGruer and Robert Flack to review this change.

View Change

Group effects support in cc::AnimationPlayer

The current cc/animations logic assumes a single animation has a single
keyframe effect and can only affect a single layer. To enable animations
with multiple keyframe effects, cc::AnimationPlayer need to support
multiple AnimationTickers which owns the keyframe effects.

Currently there is a 1:1 relationship between AnimationPlayer and
AnimationTicker. This patch is to extend it to 1:n. Here is a summary of
changes:
- Introduce a sub-class of AnimationPlayer, a.k.a SingleAnimationPlayer,
to handle the existing logic (single effect). SingleAnimationPlayer owns
only one AnimationTicker as the AnimationPlayer does today.
- Currently a AnimationTicker is created upon creating AnimationPlayer.
In this patch, tickers are created separately and added to the player
afterwards. Tickers that the player owns may belong to different targets
therefore the player needs to coordinate with AnimationHost regarding
this situation.
- Adjust existing unit tests to according to the changes above.

Bug:
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
---
M cc/animation/BUILD.gn
M cc/animation/animation_host.cc
M cc/animation/animation_host.h
M cc/animation/animation_host_perftest.cc
M cc/animation/animation_id_provider.cc
M cc/animation/animation_id_provider.h
M cc/animation/animation_player.cc
M cc/animation/animation_player.h
M cc/animation/animation_player_unittest.cc
M cc/animation/animation_ticker.cc
M cc/animation/animation_ticker.h
M cc/animation/animation_timeline.cc
M cc/animation/animation_timeline_unittest.cc
M cc/animation/element_animations_unittest.cc
M cc/animation/scroll_offset_animations_impl.cc
M cc/animation/scroll_offset_animations_impl.h
A cc/animation/single_animation_player.cc
A cc/animation/single_animation_player.h
M cc/animation/worklet_animation_player.cc
M cc/animation/worklet_animation_player.h
M cc/test/animation_test_common.cc
M cc/test/animation_test_common.h
M cc/test/animation_timelines_test_common.cc
M cc/test/animation_timelines_test_common.h
M cc/test/layer_tree_test.cc
M cc/trees/layer_tree_host_common_unittest.cc
M cc/trees/layer_tree_host_unittest_animation.cc
M third_party/WebKit/Source/platform/animation/CompositorAnimationPlayer.cpp
M third_party/WebKit/Source/platform/animation/CompositorAnimationPlayer.h
M third_party/WebKit/Source/platform/animation/CompositorAnimationPlayerTest.cpp
M ui/compositor/layer_animator.cc
M ui/compositor/layer_animator.h
M ui/compositor/layer_owner_unittest.cc
M ui/compositor/layer_unittest.cc
34 files changed, 1,766 insertions(+), 863 deletions(-)


To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
Gerrit-Change-Number: 742162
Gerrit-PatchSet: 12
Gerrit-Owner: Yi Gu <yi...@chromium.org>
Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
Gerrit-CC: Alexis Menard <alexis...@intel.com>
Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
Gerrit-CC: Ian Vollick <vol...@chromium.org>
Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
Gerrit-CC: Renée Wright <rjwr...@chromium.org>
Gerrit-CC: Shane Stephens <sh...@chromium.org>

Yi Gu (Gerrit)

unread,
Nov 28, 2017, 8:51:14 PM11/28/17
to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Stephen McGruer, Majid Valipour, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens, Ian Vollick

Thanks Majid for the review! Add Rob && Stephen for more feedback.
PTAL at the updated patch.

View Change

17 comments:

To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
Gerrit-Change-Number: 742162
Gerrit-PatchSet: 12
Gerrit-Owner: Yi Gu <yi...@chromium.org>
Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
Gerrit-CC: Alexis Menard <alexis...@intel.com>
Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
Gerrit-CC: Ian Vollick <vol...@chromium.org>
Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
Gerrit-CC: Renée Wright <rjwr...@chromium.org>
Gerrit-CC: Shane Stephens <sh...@chromium.org>
Gerrit-Comment-Date: Wed, 29 Nov 2017 01:51:09 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No

Majid Valipour (Gerrit)

unread,
Dec 7, 2017, 4:30:06 PM12/7/17
to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens, Ian Vollick

View Change

8 comments:

    • As discussed, player_ now has type SingleAnimationPlayer instead of AnimationPlayer.

      I agree that it makes sense to use SingleAnimationPlayer in other tests in this
      patch to avoid unnecessary churn in unrelated test code. But in this particular
      instance, I don't think it is the right decision.


      This unit test is meant to test the AnimationPlayer logic. Most of existing tests
      here assume a single ticker instance. This is why on surface it is tempting to use "SingleAnimationPlayer" and not change the tests. But this makes the tests more
      indirect. I feel in this unit test we should opt for directly testing animation player
      at the cost of updating the tests to use its new API.


      Having said that, operationally I think the pattern of:
      - create a ticker
      - add ticker to player
      - test as before but use local ticker instance instead of player_->animation_ticker()

      should pretty much cover most of the changes you need to do. It is a bit of
      work but I think it is reasonable.

  • File cc/animation/animation_ticker.cc:

  • File cc/animation/single_animation_player.h:

    • Patch Set #12, Line 59: GetUniqueTicker

      nit: I don't think "Unique" is accurate and meaningful here.
      SingleAnimationPlayer has one ticker by definition. So why not just say
      "GetTicker" which obviously refers to the expected ticker.

  • File cc/animation/single_animation_player.cc:

    • Patch Set #12, Line 37: DCHECK(!id_to_ticker_map_.empty());

      should actually verify that we have exactly "1" ticker.

    • Patch Set #12, Line 43:

        scoped_refptr<SingleAnimationPlayer> player =
      SingleAnimationPlayer::Create(id());

      This creates a player with a single ticker but that ticker id is different.
      Don't we need to make sure that the impl side ticker has the same id?

To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
Gerrit-Change-Number: 742162
Gerrit-PatchSet: 12
Gerrit-Owner: Yi Gu <yi...@chromium.org>
Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
Gerrit-CC: Alexis Menard <alexis...@intel.com>
Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
Gerrit-CC: Ian Vollick <vol...@chromium.org>
Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
Gerrit-CC: Renée Wright <rjwr...@chromium.org>
Gerrit-CC: Shane Stephens <sh...@chromium.org>
Gerrit-Comment-Date: Thu, 07 Dec 2017 21:30:02 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No

Yi Gu (Gerrit)

unread,
Dec 8, 2017, 11:54:10 AM12/8/17
to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Majid Valipour, Robert Flack, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens, Ian Vollick

Thanks Majid for the review! PTAL at the updated patch.
I'm working on animation_player_unittest right now as we discussed yesterday. It may take some time to rewrite those tests of SingleAnimationPlayer so I just want to upload this version first so you could review.
Thanks.

View Change

7 comments:


    • // A ticker is added/removed to the id_to_ticker_map_ when
      // AddTicker/RemoveTicker is cal

      I think it will be useful to add some documentation on when a ticker is added to either map. […]

      That is exactly how it works. Added documentation as suggested.

  • File cc/animation/animation_player.cc:

    • nit: please use a more readable name than x, y.

    • should actually verify that we have exactly "1" ticker.

    • Done

    •   DCHECK_EQ(id_to_ticker_map_.size(), 1u);
      return id_to_ticker_map_.begin()->second

      This creates a player with a single ticker but that ticker id is different. […]

      My mistake. I added an overloaded constructor that takes ticker_id as an extra parameter to address this problem.

To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
Gerrit-Change-Number: 742162
Gerrit-PatchSet: 13
Gerrit-Owner: Yi Gu <yi...@chromium.org>
Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
Gerrit-CC: Alexis Menard <alexis...@intel.com>
Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
Gerrit-CC: Ian Vollick <vol...@chromium.org>
Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
Gerrit-CC: Renée Wright <rjwr...@chromium.org>
Gerrit-CC: Shane Stephens <sh...@chromium.org>
Gerrit-Comment-Date: Fri, 08 Dec 2017 16:54:03 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No

Yi Gu (Gerrit)

unread,
Dec 8, 2017, 3:17:48 PM12/8/17
to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Majid Valipour, Robert Flack, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens, Ian Vollick

Patch Set 13:

(7 comments)

Thanks Majid for the review! PTAL at the updated patch.
I'm working on animation_player_unittest right now as we discussed yesterday. It may take some time to rewrite those tests of SingleAnimationPlayer so I just want to upload this version first so you could review.
Thanks.

The unit test file has been updated. PTAL. Thanks!

View Change

    To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: comment
    Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
    Gerrit-Change-Number: 742162
    Gerrit-PatchSet: 14
    Gerrit-Owner: Yi Gu <yi...@chromium.org>
    Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
    Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
    Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
    Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
    Gerrit-CC: Alexis Menard <alexis...@intel.com>
    Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
    Gerrit-CC: Ian Vollick <vol...@chromium.org>
    Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
    Gerrit-CC: Renée Wright <rjwr...@chromium.org>
    Gerrit-CC: Shane Stephens <sh...@chromium.org>
    Gerrit-Comment-Date: Fri, 08 Dec 2017 20:17:45 +0000
    Gerrit-HasComments: No
    Gerrit-HasLabels: No

    Majid Valipour (Gerrit)

    unread,
    Dec 11, 2017, 11:39:36 AM12/11/17
    to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens, Ian Vollick

    This is very close! Thanks for sticking with it.
    Some final comments but mostly nits.

    View Change

    17 comments:

    To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: comment
    Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
    Gerrit-Change-Number: 742162
    Gerrit-PatchSet: 14
    Gerrit-Owner: Yi Gu <yi...@chromium.org>
    Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
    Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
    Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
    Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
    Gerrit-CC: Alexis Menard <alexis...@intel.com>
    Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
    Gerrit-CC: Ian Vollick <vol...@chromium.org>
    Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
    Gerrit-CC: Renée Wright <rjwr...@chromium.org>
    Gerrit-CC: Shane Stephens <sh...@chromium.org>
    Gerrit-Comment-Date: Mon, 11 Dec 2017 16:39:30 +0000
    Gerrit-HasComments: Yes
    Gerrit-HasLabels: No

    Yi Gu (Gerrit)

    unread,
    Dec 11, 2017, 5:25:27 PM12/11/17
    to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Majid Valipour, Robert Flack, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens, Ian Vollick

    Hi Majid. Patch has been updated. PTAL. Thanks!

    In addition to the changes based on your comments, I also made the following change:
    Previously I didn't call SetNeedsPushProperties upon adding/removing tickers. But I think it's necessary. The current logic of setting needs_push_properties from AnimationPlayer requires animation_timeline_ which makes sense. However, animation_timeline_ may not be set for the player when adding/removing tickers. So I changed "DCHECK(animation_timeline_)" to "if (animation_timeline_)" so that we only SetNeedsPushProperties upon adding/removing tickers if the player is attached to timeline. WDYT?

    View Change

    17 comments:

      • Instead of calling it 3 times we should call once and hold onto the result.

      • ditto. call once and hold onto the result.

      • nit: This is used 4 times. I think it helps to give it a name and type to improve readability.

      • Done

      • Patch Set #14, Line 190: const AnimationTicker* ticker

        Do we actually need to care for this? Why don't we just call DetachElementFromTicker and RemoveTicke […]

        DetachElementForTicker requires the ticker being "attached". However, we do not need this condition check for RemoveTicker.

      • why is this needed? Doesn't the DetachElementForTicker remove the map entry?

        You're right. It's erased in RemoveTicker. In addition, to avoid modifying the iterator on the fly, it's better to keep a list of tickers to be removed and remove them afterwards.
        Added a test for this.

      • Patch Set #14, Line 261: :UpdateSt

        nit: this name is a bit confusing. I suggest perhaps renaming to |id_ticker_pair| […]

        Done

    • File cc/animation/animation_player_unittest.cc:

      • nit: I think this needs to be a static cast.

      • (it.get()->TickingAnimationsCount()) {
        has_unfinished_animation = true;
        break;

        I think we should be able to replace this with checking […]

        Done

      • Patch Set #14, Line 835: HECK(main_task_

      • Should this instead take in SingleAnimationPlayer?

      • Done

    To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: comment
    Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
    Gerrit-Change-Number: 742162
    Gerrit-PatchSet: 15
    Gerrit-Owner: Yi Gu <yi...@chromium.org>
    Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
    Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
    Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
    Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
    Gerrit-CC: Alexis Menard <alexis...@intel.com>
    Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
    Gerrit-CC: Ian Vollick <vol...@chromium.org>
    Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
    Gerrit-CC: Renée Wright <rjwr...@chromium.org>
    Gerrit-CC: Shane Stephens <sh...@chromium.org>
    Gerrit-Comment-Date: Mon, 11 Dec 2017 22:25:21 +0000
    Gerrit-HasComments: Yes
    Gerrit-HasLabels: No

    Majid Valipour (Gerrit)

    unread,
    Dec 12, 2017, 11:57:00 AM12/12/17
    to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens, Ian Vollick

    lgtm with nits.

    View Change

    11 comments:

    • File cc/animation/animation_player.cc:

      • Patch Set #15, Line 161: for_each(ticker_ids.begin(), ticker_ids.end(), [&](auto& ticker_id) {

        nit: may be better to use a for range loop here instead of for_each.

      • Patch Set #15, Line 199:

        for_each(tickers_to_remove.begin(), tickers_to_remove.end(),
        [&](auto& ticker_id) {

        nit: since we are looping between being() and end(), I don't really see an advantage on
        using lambda and for_each. IMHO a normal for range loop is simpler, and more readable
        in this case.

        for (auto& ticker_id : tickers_to_remove)
        player_impl->RemoveTicker(ticker_id);


        VS.

        for_each(tickers_to_remove.begin(), tickers_to_remove.end(),
        [&](auto& ticker_id) { player_impl->RemoveTicker(ticker_id); });
      • Patch Set #15, Line 254:

          for_each(id_to_ticker_map_.begin(), id_to_ticker_map_.end(),
        [&](auto& id_ticker) {

        nit: may be better to use a for range loop here instead of for_each + lambda.

      • Patch Set #15, Line 263:

         for_each(id_to_ticker_map_.begin(), id_to_ticker_map_.end(),
        [&](auto& id_ticker_pair) {

        nit: same concern on using a simple for range loop.

      • Patch Set #15, Line 343:

          for_each(id_to_ticker_map_.begin(), id_to_ticker_map_.end(),
        [&](auto& id_ticker) {

        nit: ditto.

      • Patch Set #15, Line 388: id_to_ticker_map_.find(ticker_id)

        nit: we should avoid doing this lookup twice. e.g.,

        auto it = id_to_ticker_map_.find(ticker_id);
        return it != id_to_ticker_map_.end() ? it->second.get() : nullptr;

    • File cc/animation/animation_player_unittest.cc:

    To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: comment
    Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
    Gerrit-Change-Number: 742162
    Gerrit-PatchSet: 15
    Gerrit-Owner: Yi Gu <yi...@chromium.org>
    Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
    Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
    Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
    Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
    Gerrit-CC: Alexis Menard <alexis...@intel.com>
    Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
    Gerrit-CC: Ian Vollick <vol...@chromium.org>
    Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
    Gerrit-CC: Renée Wright <rjwr...@chromium.org>
    Gerrit-CC: Shane Stephens <sh...@chromium.org>
    Gerrit-Comment-Date: Tue, 12 Dec 2017 16:56:56 +0000
    Gerrit-HasComments: Yes
    Gerrit-HasLabels: No

    Majid Valipour (Gerrit)

    unread,
    Dec 12, 2017, 12:00:06 PM12/12/17
    to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens, Ian Vollick

    View Change

    1 comment:

    • Commit Message:

      • Patch Set #15, Line 12: which owns the keyframe effects

        nit: this is a bit vague and incorrect as ticker so own keyframe effects. Maybe
        rewrite as "each corresponding to one keyframe effect"

    To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: comment
    Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
    Gerrit-Change-Number: 742162
    Gerrit-PatchSet: 15
    Gerrit-Owner: Yi Gu <yi...@chromium.org>
    Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
    Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
    Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
    Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
    Gerrit-CC: Alexis Menard <alexis...@intel.com>
    Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
    Gerrit-CC: Ian Vollick <vol...@chromium.org>
    Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
    Gerrit-CC: Renée Wright <rjwr...@chromium.org>
    Gerrit-CC: Shane Stephens <sh...@chromium.org>
    Gerrit-Comment-Date: Tue, 12 Dec 2017 17:00:00 +0000
    Gerrit-HasComments: Yes
    Gerrit-HasLabels: No

    Yi Gu (Gerrit)

    unread,
    Dec 12, 2017, 1:12:10 PM12/12/17
    to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Ian Vollick, Majid Valipour, Robert Flack, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

    Thanks Majid!
    Ian, could you please take a look at this patch especially the ui/compositor part? Need owner's approval. Thanks:)

    View Change

    12 comments:

      • nit: may be better to use a for range loop here instead of for_each.

        Done

      •           player_impl->GetTickerById(ticker->id())) {
        ticker->PushPropertiesTo(ti

        nit: since we are looping between being() and end(), I don't really see an advantage on […]

        Done

      • nit: may be better to use a for range loop here instead of for_each + lambda.

      • Done


      • void AnimationPlayer::AddToTicking() {

      • nit: same concern on using a simple for range loop.

      • Done

      •       "AnimationPlayer{id=%d, element_id=%s, animations=[%s]}", id_,
        GetTickerById(ticker_id)->e

        nit: ditto.

        Done

      • no need to DCHECK in unit tests.

      • Done

      • ed_refptr<AnimationPlayer> player_impl_;
        int group_id_;

      • nit: why not just use EXPECT_EQ(ticker->needs_push_properties(), needs_push_properties)?

      • nit: See my comment above. No need to DCHECK here.

      • Done

    To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: comment
    Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
    Gerrit-Change-Number: 742162
    Gerrit-PatchSet: 17
    Gerrit-Owner: Yi Gu <yi...@chromium.org>
    Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
    Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
    Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
    Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
    Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
    Gerrit-CC: Alexis Menard <alexis...@intel.com>
    Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
    Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
    Gerrit-CC: Renée Wright <rjwr...@chromium.org>
    Gerrit-CC: Shane Stephens <sh...@chromium.org>
    Gerrit-Comment-Date: Tue, 12 Dec 2017 18:11:16 +0000
    Gerrit-HasComments: Yes
    Gerrit-HasLabels: No

    Yi Gu (Gerrit)

    unread,
    Dec 12, 2017, 1:12:25 PM12/12/17
    to Robert Flack, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org

    Yi Gu has assigned a change to Robert Flack.

    View Change

    Group effects support in cc::AnimationPlayer

    The current cc/animations logic assumes a single animation has a single
    keyframe effect and can only affect a single layer. To enable animations
    with multiple keyframe effects, cc::AnimationPlayer need to support
    multiple AnimationTickers each corresponding to one keyframe effect.
    M cc/test/layer_tree_test.h

    M cc/trees/layer_tree_host_common_unittest.cc
    M cc/trees/layer_tree_host_unittest_animation.cc
    M third_party/WebKit/Source/platform/animation/CompositorAnimationPlayer.cpp
    M third_party/WebKit/Source/platform/animation/CompositorAnimationPlayer.h
    M third_party/WebKit/Source/platform/animation/CompositorAnimationPlayerTest.cpp
    M ui/compositor/layer_animator.cc
    M ui/compositor/layer_animator.h
    M ui/compositor/layer_owner_unittest.cc
    M ui/compositor/layer_unittest.cc
    35 files changed, 1,937 insertions(+), 935 deletions(-)


    To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: setassignee
    Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
    Gerrit-Change-Number: 742162
    Gerrit-PatchSet: 17
    Gerrit-Owner: Yi Gu <yi...@chromium.org>
    Gerrit-Assignee: Robert Flack <fla...@chromium.org>

    Yi Gu (Gerrit)

    unread,
    Dec 12, 2017, 1:42:24 PM12/12/17
    to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Ian Vollick, Majid Valipour, Robert Flack, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

    My previous request seems ambiguous. Ian, PTAL at the ui/compositor part. I've asked Rob to review the rest. Thanks!

    View Change

      To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: chromium/src
      Gerrit-Branch: master
      Gerrit-MessageType: comment
      Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
      Gerrit-Change-Number: 742162
      Gerrit-PatchSet: 17
      Gerrit-Owner: Yi Gu <yi...@chromium.org>
      Gerrit-Assignee: Robert Flack <fla...@chromium.org>
      Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
      Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
      Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
      Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
      Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
      Gerrit-CC: Alexis Menard <alexis...@intel.com>
      Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
      Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
      Gerrit-CC: Renée Wright <rjwr...@chromium.org>
      Gerrit-CC: Shane Stephens <sh...@chromium.org>
      Gerrit-Comment-Date: Tue, 12 Dec 2017 18:42:18 +0000
      Gerrit-HasComments: No
      Gerrit-HasLabels: No

      Majid Valipour (Gerrit)

      unread,
      Dec 13, 2017, 10:31:04 AM12/13/17
      to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Ian Vollick, Robert Flack, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

      Patch set 17:Code-Review +1

      View Change

        To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: comment
        Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
        Gerrit-Change-Number: 742162
        Gerrit-PatchSet: 17
        Gerrit-Owner: Yi Gu <yi...@chromium.org>
        Gerrit-Assignee: Robert Flack <fla...@chromium.org>
        Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
        Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
        Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
        Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
        Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
        Gerrit-CC: Alexis Menard <alexis...@intel.com>
        Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
        Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
        Gerrit-CC: Renée Wright <rjwr...@chromium.org>
        Gerrit-CC: Shane Stephens <sh...@chromium.org>
        Gerrit-Comment-Date: Wed, 13 Dec 2017 15:30:34 +0000
        Gerrit-HasComments: No
        Gerrit-HasLabels: Yes

        Ian Vollick (Gerrit)

        unread,
        Dec 14, 2017, 12:02:57 AM12/14/17
        to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Majid Valipour, Robert Flack, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

        Patch set 17:Code-Review +1

        View Change

          To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: chromium/src
          Gerrit-Branch: master
          Gerrit-MessageType: comment
          Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
          Gerrit-Change-Number: 742162
          Gerrit-PatchSet: 17
          Gerrit-Owner: Yi Gu <yi...@chromium.org>
          Gerrit-Assignee: Robert Flack <fla...@chromium.org>
          Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
          Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
          Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
          Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
          Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
          Gerrit-CC: Alexis Menard <alexis...@intel.com>
          Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
          Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
          Gerrit-CC: Renée Wright <rjwr...@chromium.org>
          Gerrit-CC: Shane Stephens <sh...@chromium.org>
          Gerrit-Comment-Date: Thu, 14 Dec 2017 05:02:51 +0000
          Gerrit-HasComments: No
          Gerrit-HasLabels: Yes

          Ian Vollick (Gerrit)

          unread,
          Dec 14, 2017, 12:03:26 AM12/14/17
          to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Majid Valipour, Robert Flack, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

          Patch Set 17: Code-Review+1

          ui/compositor and platform/ lgtm

          View Change

            To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
            Gerrit-Change-Number: 742162
            Gerrit-PatchSet: 17
            Gerrit-Owner: Yi Gu <yi...@chromium.org>
            Gerrit-Assignee: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
            Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
            Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
            Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
            Gerrit-CC: Alexis Menard <alexis...@intel.com>
            Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
            Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
            Gerrit-CC: Renée Wright <rjwr...@chromium.org>
            Gerrit-CC: Shane Stephens <sh...@chromium.org>
            Gerrit-Comment-Date: Thu, 14 Dec 2017 05:03:23 +0000
            Gerrit-HasComments: No
            Gerrit-HasLabels: No

            Robert Flack (Gerrit)

            unread,
            Jan 15, 2018, 12:54:20 AM1/15/18
            to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

            Do we have a bug for this?

            View Change

            5 comments:

            To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
            Gerrit-Change-Number: 742162
            Gerrit-PatchSet: 17
            Gerrit-Owner: Yi Gu <yi...@chromium.org>
            Gerrit-Assignee: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
            Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
            Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
            Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
            Gerrit-CC: Alexis Menard <alexis...@intel.com>
            Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
            Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
            Gerrit-CC: Renée Wright <rjwr...@chromium.org>
            Gerrit-CC: Shane Stephens <sh...@chromium.org>
            Gerrit-Comment-Date: Mon, 15 Jan 2018 05:54:12 +0000
            Gerrit-HasComments: Yes
            Gerrit-HasLabels: No

            Yi Gu (Gerrit)

            unread,
            Jan 17, 2018, 12:34:37 AM1/17/18
            to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

            Thanks Rob. PTAL.

            View Change

            5 comments:

              • Why can the timeline be NULL now?

              • With the old logic we only need to set needs_push_properties in cases that the animation_timeline has been available.
                With the new logic, we may add/remove tickers from a player and whenever we do it we need to set needs_push_properties. However, by the time we update tickers we may not set any animation_timeline to the player yet.

            • File cc/animation/animation_ticker.cc:

            To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
            Gerrit-Change-Number: 742162
            Gerrit-PatchSet: 19
            Gerrit-Owner: Yi Gu <yi...@chromium.org>
            Gerrit-Assignee: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
            Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
            Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
            Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
            Gerrit-CC: Alexis Menard <alexis...@intel.com>
            Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
            Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
            Gerrit-CC: Renée Wright <rjwr...@chromium.org>
            Gerrit-CC: Shane Stephens <sh...@chromium.org>
            Gerrit-Comment-Date: Wed, 17 Jan 2018 05:34:33 +0000
            Gerrit-HasComments: Yes
            Gerrit-HasLabels: No

            Robert Flack (Gerrit)

            unread,
            Jan 18, 2018, 12:53:05 AM1/18/18
            to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

            View Change

            3 comments:

            To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
            Gerrit-Change-Number: 742162
            Gerrit-PatchSet: 19
            Gerrit-Owner: Yi Gu <yi...@chromium.org>
            Gerrit-Assignee: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
            Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
            Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
            Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
            Gerrit-CC: Alexis Menard <alexis...@intel.com>
            Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
            Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
            Gerrit-CC: Renée Wright <rjwr...@chromium.org>
            Gerrit-CC: Shane Stephens <sh...@chromium.org>
            Gerrit-Comment-Date: Thu, 18 Jan 2018 05:52:55 +0000
            Gerrit-HasComments: Yes
            Gerrit-HasLabels: No

            Yi Gu (Gerrit)

            unread,
            Jan 18, 2018, 7:50:46 AM1/18/18
            to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

            Thanks Rob. PTAL.

            View Change

            3 comments:

              • nit: Maybe use a count of ticking tickers to avoid looping?

              • Done

              • I thought the ticker_id was just going to be the index into the tickers vector? Do you expect lots o […]

                We don't create/remove tickers on the fly ATM. Updated.

            To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
            Gerrit-Change-Number: 742162
            Gerrit-PatchSet: 20
            Gerrit-Owner: Yi Gu <yi...@chromium.org>
            Gerrit-Assignee: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
            Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
            Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
            Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
            Gerrit-CC: Alexis Menard <alexis...@intel.com>
            Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
            Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
            Gerrit-CC: Renée Wright <rjwr...@chromium.org>
            Gerrit-CC: Shane Stephens <sh...@chromium.org>
            Gerrit-Comment-Date: Thu, 18 Jan 2018 12:50:37 +0000
            Gerrit-HasComments: Yes
            Gerrit-HasLabels: No

            Robert Flack (Gerrit)

            unread,
            Jan 19, 2018, 12:40:47 AM1/19/18
            to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

            View Change

            3 comments:

            • File cc/animation/animation_player.h:

              • Patch Set #20, Line 48: ElementId element_id_of_ticker(unsigned ticker_id) const;

                s/unsigned/size_t

              • Patch Set #20, Line 123: unsigned NextTickerId() { return tickers_.size() + 1; }

                Why + 1? giving it the same id as index would mean we can directly map to the index in tickers_.

            • File cc/animation/animation_player.cc:

              • Patch Set #20, Line 381: [&](const auto& ticker) { return ticker_id == ticker->id(); });

                We can't randomly remove a ticker without corrupting the indices of the rest, we should either only remove all of them or change the tickers array to be nullable pointers so that we can delete without removing from the array.

                Does this happen? Do we need to remove random tickers from the array?

            To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
            Gerrit-Change-Number: 742162
            Gerrit-PatchSet: 20
            Gerrit-Owner: Yi Gu <yi...@chromium.org>
            Gerrit-Assignee: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
            Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
            Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
            Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
            Gerrit-CC: Alexis Menard <alexis...@intel.com>
            Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
            Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
            Gerrit-CC: Renée Wright <rjwr...@chromium.org>
            Gerrit-CC: Shane Stephens <sh...@chromium.org>
            Gerrit-Comment-Date: Fri, 19 Jan 2018 05:40:41 +0000
            Gerrit-HasComments: Yes
            Gerrit-HasLabels: No

            Yi Gu (Gerrit)

            unread,
            Jan 19, 2018, 3:22:17 AM1/19/18
            to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

            View Change

            3 comments:

              • Why + 1? giving it the same id as index would mean we can directly map to the index in tickers_.

                All other ids (player id, group id, animation id) are 1-indexed. +1 to be consistent. But using 0-indexed here may be OK given the circumstances. Done.

            • File cc/animation/animation_player.cc:

              • We can't randomly remove a ticker without corrupting the indices of the rest, we should either only […]

                RemoveTicker was useful because I was thinking of adding support for add/remove tickers on the fly. Given that we probably won't need this feature, I've taken it out so that we will never remove tickers from player_impl. Rather, we create new player if necessary and push properties to its corresponding new player_impl.

            To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
            Gerrit-Change-Number: 742162
            Gerrit-PatchSet: 21
            Gerrit-Owner: Yi Gu <yi...@chromium.org>
            Gerrit-Assignee: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
            Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
            Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
            Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
            Gerrit-CC: Alexis Menard <alexis...@intel.com>
            Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
            Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
            Gerrit-CC: Renée Wright <rjwr...@chromium.org>
            Gerrit-CC: Shane Stephens <sh...@chromium.org>
            Gerrit-Comment-Date: Fri, 19 Jan 2018 08:22:12 +0000
            Gerrit-HasComments: Yes
            Gerrit-HasLabels: No

            Robert Flack (Gerrit)

            unread,
            Jan 20, 2018, 2:49:44 AM1/20/18
            to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

            View Change

            9 comments:

            • File cc/animation/animation_player.h:

              • Patch Set #21, Line 48: size_t

                nit: We should use a typedef so that it's obvious where used that the number represents a ticker id, also because size_t is a bit of a strange type for an id but makes sense given that it maps to an index.

              • Patch Set #21, Line 77: size_t ticker_id);

                I worry that the meaning of ticker_id is not obvious for clients of animation. What does it mean? When do you need a new ticker? At the very least I think this needs to be carefully explained in comments, but perhaps we should consider alternative names as well such as effect number/index or have an explicit API for adding a new effect (ticker).

                +vollick do you have any suggestions here?

              • Patch Set #21, Line 80: size_t ticker_id);

                With all of these *ForTicker methods, how many of them make sense to actually require a ticker_id? How often would we know the ticker id being paused? I think it may make sense to just loop over each ticker and call Pause on it.

              • Patch Set #21, Line 159: number

                s/number/count

            • File cc/animation/animation_player.h:

              • Patch Set #20, Line 123:

                All other ids (player id, group id, animation id) are 1-indexed. +1 to be consistent. […]

                Yes, since it's used as an index, being 0-based makes more sense. We could even call it ticker_index to be clear about this but callers don't need to know the distinction between id and index anyways.

            • File cc/animation/animation_player.cc:

              • Patch Set #21, Line 240: size_t ticker_id) {

                This only seems to be used by line 235, I'd refer just merging this into the loop above than add additional per ticker methods.

              • Patch Set #21, Line 252: is_ticking_player_ = true;

                I think is_ticking_player_ can be replaced by checking whether ticking_tickers_number_ is greater than 0.

              • Patch Set #21, Line 333: std::string AnimationPlayer::ToString(size_t ticker_id) const {

                Shouldn't this print all tickers rather than require a ticker id?

            • File cc/animation/single_animation_player.h:

              • Patch Set #21, Line 45: void AddAnimation(std::unique_ptr<Animation> animation);

                Seems like SingleAnimationPlayer isn't quite the right name given it has multiple animations. As it is right now you might call it SingleTickerPlayer but I don't think the concept of ticker is well explained / understood and perhaps SingleEffectPlayer would be a better name to relate it back to GroupEffects

            To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
            Gerrit-Change-Number: 742162
            Gerrit-PatchSet: 21
            Gerrit-Owner: Yi Gu <yi...@chromium.org>
            Gerrit-Assignee: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
            Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
            Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
            Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
            Gerrit-CC: Alexis Menard <alexis...@intel.com>
            Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
            Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
            Gerrit-CC: Renée Wright <rjwr...@chromium.org>
            Gerrit-CC: Shane Stephens <sh...@chromium.org>
            Gerrit-Comment-Date: Sat, 20 Jan 2018 07:49:35 +0000
            Gerrit-HasComments: Yes
            Gerrit-HasLabels: No

            Yi Gu (Gerrit)

            unread,
            Jan 24, 2018, 1:52:32 PM1/24/18
            to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

            View Change

            8 comments:

            • File cc/animation/animation_player.h:

              • Patch Set #21, Line 48: e of h

                nit: We should use a typedef so that it's obvious where used that the number represents a ticker id, […]

                Done

              • Patch Set #21, Line 77: void DetachElementForTicker(ElementId element_id, TickerId ticker_id);

                I worry that the meaning of ticker_id is not obvious for clients of animation. […]

                We may have 2 different keyframe effects from 2 different targets running managed by the same AnimationPlayer. That way the AnimationPlayer has 2 AnimationTickers and each of them belongs to its own Element. That's when we need a second ticker. Comments added.
                I agree that the name can be improved. majidvp@ has been thinking about renaming the cc classes so that they could match their blink counterparts. e.g. AnimationPlayer -> Animation, AnimationTicker -> Effect etc.. Maybe we should change the names all together in a follow-up patch so that we won't have AnimationTicker indexed by EffectId.

              • Patch Set #21, Line 80: void AddAnimationForTicker(std::unique_ptr<Animation> animation,

                With all of these *ForTicker methods, how many of them make sense to actually require a ticker_id? H […]

                Other than AbortAnimations which aborts all animations, the rest *ForTicker methods operate on a certain animation. e.g. when blink needs to pause an animation it provides an animation id. This animation is owned by one ticker, say id 1, and pausing it on ticker2 doesn't make sense. WDYT?

              • Patch Set #21, Line 159: SIGN(A

                s/number/count

                Done

            • File cc/animation/animation_player.cc:

              • Shouldn't this print all tickers rather than require a ticker id?

              • Seems like SingleAnimationPlayer isn't quite the right name given it has multiple animations. […]

                SingleAnimationPlayer is not supposed to be parsed as SingleAnimation + Player. Rather, it should be AnimationPlayer which does Single Effect(as you mentioned last). Eventually we will have only one AnimationPlayer which handles both single and group effects. But ATM we have this class and call it SingleAP to match its base class AnimationPlayer. majidvp@ is about to rename the cc animation related classes to match their blink counterparts and "AnimationPlayer" will be renamed too. Maybe we should rename this class then?

            To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
            Gerrit-Change-Number: 742162
            Gerrit-PatchSet: 22
            Gerrit-Owner: Yi Gu <yi...@chromium.org>
            Gerrit-Assignee: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
            Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
            Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
            Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
            Gerrit-CC: Alexis Menard <alexis...@intel.com>
            Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
            Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
            Gerrit-CC: Renée Wright <rjwr...@chromium.org>
            Gerrit-CC: Shane Stephens <sh...@chromium.org>
            Gerrit-Comment-Date: Wed, 24 Jan 2018 18:52:30 +0000
            Gerrit-HasComments: Yes
            Gerrit-HasLabels: No

            Robert Flack (Gerrit)

            unread,
            Jan 24, 2018, 7:27:55 PM1/24/18
            to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

            Patch set 22:Code-Review +1

            View Change

            3 comments:

            • File cc/animation/animation_player.h:

              • Patch Set #21, Line 77: void DetachElementForTicker(ElementId element_id, TickerId ticker_id);

                We may have 2 different keyframe effects from 2 different targets running managed by the same Animat […]

                Ack, doing a rename refactor to follow this up sounds reasonable.

              • Other than AbortAnimations which aborts all animations, the rest *ForTicker methods operate on a cer […]

                Oh I see, all of the calls from blink currently come from a specific keyframe effect. I assume though all of the tickers on an AnimationPlayer will be for the same animation id given that it maps to blink::Animation and represents a group effect.

            • File cc/animation/single_animation_player.h:

              • SingleAnimationPlayer is not supposed to be parsed as SingleAnimation + Player. […]

                We could call this SingleTickerAnimationPlayer to be explicit that it is not a single *Animation*.

            To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
            Gerrit-Change-Number: 742162
            Gerrit-PatchSet: 22
            Gerrit-Owner: Yi Gu <yi...@chromium.org>
            Gerrit-Assignee: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
            Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
            Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
            Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
            Gerrit-CC: Alexis Menard <alexis...@intel.com>
            Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
            Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
            Gerrit-CC: Renée Wright <rjwr...@chromium.org>
            Gerrit-CC: Shane Stephens <sh...@chromium.org>
            Gerrit-Comment-Date: Thu, 25 Jan 2018 00:27:52 +0000
            Gerrit-HasComments: Yes
            Gerrit-HasLabels: Yes

            Yi Gu (Gerrit)

            unread,
            Jan 25, 2018, 10:08:26 AM1/25/18
            to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Commit Bot, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

            Thanks Rob for the review:)

            View Change

            3 comments:

              • Ack, doing a rename refactor to follow this up sounds reasonable.

                Ack

              • Oh I see, all of the calls from blink currently come from a specific keyframe effect. […]

                The animation used here is cc::Animation which is different from blink::Animation. Currently 1 blink::Animation may have N cc::AnimationPlayer, each of which has M cc::Animation.

            • File cc/animation/single_animation_player.h:

              • We could call this SingleTickerAnimationPlayer to be explicit that it is not a single *Animation*.

                Done

            To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
            Gerrit-Change-Number: 742162
            Gerrit-PatchSet: 23
            Gerrit-Owner: Yi Gu <yi...@chromium.org>
            Gerrit-Assignee: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
            Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
            Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
            Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
            Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
            Gerrit-CC: Alexis Menard <alexis...@intel.com>
            Gerrit-CC: Commit Bot <commi...@chromium.org>
            Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
            Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
            Gerrit-CC: Renée Wright <rjwr...@chromium.org>
            Gerrit-CC: Shane Stephens <sh...@chromium.org>
            Gerrit-Comment-Date: Thu, 25 Jan 2018 15:08:24 +0000
            Gerrit-HasComments: Yes
            Gerrit-HasLabels: No

            Yi Gu (Gerrit)

            unread,
            Jan 25, 2018, 5:26:44 PM1/25/18
            to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Commit Bot, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

            Patch set 25:Commit-Queue +2

            View Change

              To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

              Gerrit-Project: chromium/src
              Gerrit-Branch: master
              Gerrit-MessageType: comment
              Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
              Gerrit-Change-Number: 742162
              Gerrit-PatchSet: 25
              Gerrit-Owner: Yi Gu <yi...@chromium.org>
              Gerrit-Assignee: Robert Flack <fla...@chromium.org>
              Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
              Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
              Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
              Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
              Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
              Gerrit-CC: Alexis Menard <alexis...@intel.com>
              Gerrit-CC: Commit Bot <commi...@chromium.org>
              Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
              Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
              Gerrit-CC: Renée Wright <rjwr...@chromium.org>
              Gerrit-CC: Shane Stephens <sh...@chromium.org>
              Gerrit-Comment-Date: Thu, 25 Jan 2018 22:26:42 +0000
              Gerrit-HasComments: No
              Gerrit-HasLabels: Yes

              Commit Bot (Gerrit)

              unread,
              Jan 25, 2018, 5:26:46 PM1/25/18
              to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

              CQ is trying the patch.

              Note: The patchset sent to CQ was uploaded after this CL was approved.
              "Fix conversion from size_t to int" https://chromium-review.googlesource.com/c/742162/25

              Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/chromium-review.googlesource.com/742162/25

              Bot data: {"action": "start", "triggered_at": "2018-01-25T22:26:42.0Z", "cq_cfg_revision": "9544bf3c7cb0639977b7c56b6f9db1b272cef60b", "revision": "586634ea0b38cb101a536a60e8fdc9f200d136f4"}

              Gerrit-Comment-Date: Thu, 25 Jan 2018 22:26:45 +0000
              Gerrit-HasComments: No
              Gerrit-HasLabels: No

              Commit Bot (Gerrit)

              unread,
              Jan 25, 2018, 7:27:04 PM1/25/18
              to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens
              Try jobs failed on following builders:
              chromium_presubmit on master.tryserver.chromium.linux (JOB_TIMED_OUT, build has not started yet; builder either lacks capacity or does not exist (misspelled?))

              View Change

                To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

                Gerrit-Project: chromium/src
                Gerrit-Branch: master
                Gerrit-MessageType: comment
                Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
                Gerrit-Change-Number: 742162
                Gerrit-PatchSet: 25
                Gerrit-Owner: Yi Gu <yi...@chromium.org>
                Gerrit-Assignee: Robert Flack <fla...@chromium.org>
                Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
                Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
                Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
                Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
                Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
                Gerrit-CC: Alexis Menard <alexis...@intel.com>
                Gerrit-CC: Commit Bot <commi...@chromium.org>
                Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
                Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
                Gerrit-CC: Renée Wright <rjwr...@chromium.org>
                Gerrit-CC: Shane Stephens <sh...@chromium.org>
                Gerrit-Comment-Date: Fri, 26 Jan 2018 00:27:02 +0000
                Gerrit-HasComments: No
                Gerrit-HasLabels: No

                Yi Gu (Gerrit)

                unread,
                Jan 26, 2018, 5:19:49 PM1/26/18
                to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Commit Bot, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

                Patch set 26:Commit-Queue +2

                View Change

                  To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

                  Gerrit-Project: chromium/src
                  Gerrit-Branch: master
                  Gerrit-MessageType: comment
                  Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
                  Gerrit-Change-Number: 742162
                  Gerrit-PatchSet: 26
                  Gerrit-Owner: Yi Gu <yi...@chromium.org>
                  Gerrit-Assignee: Robert Flack <fla...@chromium.org>
                  Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
                  Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
                  Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
                  Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
                  Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
                  Gerrit-CC: Alexis Menard <alexis...@intel.com>
                  Gerrit-CC: Commit Bot <commi...@chromium.org>
                  Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
                  Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
                  Gerrit-CC: Renée Wright <rjwr...@chromium.org>
                  Gerrit-CC: Shane Stephens <sh...@chromium.org>
                  Gerrit-Comment-Date: Fri, 26 Jan 2018 22:19:47 +0000
                  Gerrit-HasComments: No
                  Gerrit-HasLabels: Yes

                  Commit Bot (Gerrit)

                  unread,
                  Jan 26, 2018, 5:19:58 PM1/26/18
                  to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

                  CQ is trying the patch.

                  Note: The patchset sent to CQ was uploaded after this CL was approved.

                  "Edit commit message" https://chromium-review.googlesource.com/c/742162/26

                  Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/chromium-review.googlesource.com/742162/26

                  Bot data: {"action": "start", "triggered_at": "2018-01-26T22:19:47.0Z", "cq_cfg_revision": "9544bf3c7cb0639977b7c56b6f9db1b272cef60b", "revision": "6e67cba05daade204f000571226e8b465961d89d"}

                  Gerrit-Comment-Date: Fri, 26 Jan 2018 22:19:57 +0000
                  Gerrit-HasComments: No
                  Gerrit-HasLabels: No

                  Commit Bot (Gerrit)

                  unread,
                  Jan 26, 2018, 7:20:43 PM1/26/18
                  to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens
                  Try jobs failed on following builders:
                    android_arm64_dbg_recipe on master.tryserver.chromium.android (JOB_TIMED_OUT, build has not started yet; builder either lacks capacity or does not exist (misspelled?))
                  android_clang_dbg_recipe on master.tryserver.chromium.android (JOB_TIMED_OUT, build has not started yet; builder either lacks capacity or does not exist (misspelled?))
                  android_compile_dbg on master.tryserver.chromium.android (JOB_TIMED_OUT, build has not started yet; builder either lacks capacity or does not exist (misspelled?))
                  android_cronet on master.tryserver.chromium.android (JOB_TIMED_OUT, build has not started yet; builder either lacks capacity or does not exist (misspelled?))
                  cast_shell_android on master.tryserver.chromium.android (JOB_TIMED_OUT, build has not started yet; builder either lacks capacity or does not exist (misspelled?))
                  chromeos-amd64-generic-rel on master.tryserver.chromium.chromiumos (JOB_TIMED_OUT, build has not started yet; builder either lacks capacity or does not exist (misspelled?))
                  chromeos-daisy-rel on master.tryserver.chromium.chromiumos (JOB_TIMED_OUT, build has not started yet; builder either lacks capacity or does not exist (misspelled?))
                  linux-chromeos-rel on master.tryserver.chromium.chromiumos (JOB_TIMED_OUT, build has not started yet; builder either lacks capacity or does not exist (misspelled?))

                  View Change

                    To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

                    Gerrit-Project: chromium/src
                    Gerrit-Branch: master
                    Gerrit-MessageType: comment
                    Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
                    Gerrit-Change-Number: 742162
                    Gerrit-PatchSet: 26
                    Gerrit-Owner: Yi Gu <yi...@chromium.org>
                    Gerrit-Assignee: Robert Flack <fla...@chromium.org>
                    Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
                    Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
                    Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
                    Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
                    Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
                    Gerrit-CC: Alexis Menard <alexis...@intel.com>
                    Gerrit-CC: Commit Bot <commi...@chromium.org>
                    Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
                    Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
                    Gerrit-CC: Renée Wright <rjwr...@chromium.org>
                    Gerrit-CC: Shane Stephens <sh...@chromium.org>
                    Gerrit-Comment-Date: Sat, 27 Jan 2018 00:20:42 +0000
                    Gerrit-HasComments: No
                    Gerrit-HasLabels: No

                    Yi Gu (Gerrit)

                    unread,
                    Jan 27, 2018, 2:38:39 PM1/27/18
                    to blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Commit Bot, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

                    Patch set 26:Commit-Queue +2

                    View Change

                      To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

                      Gerrit-Project: chromium/src
                      Gerrit-Branch: master
                      Gerrit-MessageType: comment
                      Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
                      Gerrit-Change-Number: 742162
                      Gerrit-PatchSet: 26
                      Gerrit-Owner: Yi Gu <yi...@chromium.org>
                      Gerrit-Assignee: Robert Flack <fla...@chromium.org>
                      Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
                      Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
                      Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
                      Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
                      Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
                      Gerrit-CC: Alexis Menard <alexis...@intel.com>
                      Gerrit-CC: Commit Bot <commi...@chromium.org>
                      Gerrit-CC: Eric Willigers <ericwi...@chromium.org>
                      Gerrit-CC: Kalyan Kondapally <kalyan.k...@intel.com>
                      Gerrit-CC: Renée Wright <rjwr...@chromium.org>
                      Gerrit-CC: Shane Stephens <sh...@chromium.org>
                      Gerrit-Comment-Date: Sat, 27 Jan 2018 19:38:38 +0000
                      Gerrit-HasComments: No
                      Gerrit-HasLabels: Yes

                      Commit Bot (Gerrit)

                      unread,
                      Jan 27, 2018, 2:38:49 PM1/27/18
                      to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

                      CQ is trying the patch.

                      Note: The patchset sent to CQ was uploaded after this CL was approved.
                      "Edit commit message" https://chromium-review.googlesource.com/c/742162/26

                      Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/chromium-review.googlesource.com/742162/26

                      Bot data: {"action": "start", "triggered_at": "2018-01-27T19:38:38.0Z", "cq_cfg_revision": "9544bf3c7cb0639977b7c56b6f9db1b272cef60b", "revision": "6e67cba05daade204f000571226e8b465961d89d"}

                      Gerrit-Comment-Date: Sat, 27 Jan 2018 19:38:48 +0000
                      Gerrit-HasComments: No
                      Gerrit-HasLabels: No

                      Commit Bot (Gerrit)

                      unread,
                      Jan 27, 2018, 2:43:03 PM1/27/18
                      to Yi Gu, blink-revie...@chromium.org, blink-...@chromium.org, cc-...@chromium.org, danakj...@chromium.org, jbauma...@chromium.org, kinuko...@chromium.org, piman...@chromium.org, Robert Flack, Ian Vollick, Majid Valipour, Stephen McGruer, Alexis Menard, chromium...@chromium.org, Eric Willigers, Kalyan Kondapally, Renée Wright, Shane Stephens

                      Commit Bot merged this change.

                      View Change

                      Approvals: Ian Vollick: Looks good to me Robert Flack: Looks good to me Majid Valipour: Looks good to me Yi Gu: Commit
                      Group effects support in cc::AnimationPlayer

                      The current cc/animations logic assumes a single animation has a single
                      keyframe effect and can only affect a single layer. To enable animations
                      with multiple keyframe effects, cc::AnimationPlayer need to support
                      multiple AnimationTickers each corresponding to one keyframe effect.

                      Currently there is a 1:1 relationship between AnimationPlayer and
                      AnimationTicker. This patch is to extend it to 1:n. Here is a summary of
                      changes:
                      - Introduce a sub-class of AnimationPlayer, a.k.a
                      SingleTickerAnimationPlayer, to handle the existing logic (single
                      effect). SingleTickerAnimationPlayer owns only one AnimationTicker as

                      the AnimationPlayer does today.
                      - Currently a AnimationTicker is created upon creating AnimationPlayer.
                      In this patch, tickers are created separately and added to the player
                      afterwards. Tickers that the player owns may belong to different targets
                      therefore the player needs to coordinate with AnimationHost regarding
                      this situation.
                      - Adjust existing unit tests according to the changes above.

                      Bug: 767043

                      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
                      Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
                      Reviewed-on: https://chromium-review.googlesource.com/742162
                      Commit-Queue: Yi Gu <yi...@chromium.org>
                      Reviewed-by: Robert Flack <fla...@chromium.org>
                      Reviewed-by: Majid Valipour <maj...@chromium.org>
                      Reviewed-by: Ian Vollick <vol...@chromium.org>
                      Cr-Commit-Position: refs/heads/master@{#532244}

                      ---
                      M cc/animation/BUILD.gn
                      M cc/animation/animation_host.cc
                      M cc/animation/animation_host.h
                      M cc/animation/animation_host_perftest.cc
                      M cc/animation/animation_player.cc
                      M cc/animation/animation_player.h
                      M cc/animation/animation_player_unittest.cc
                      M cc/animation/animation_ticker.cc
                      M cc/animation/animation_ticker.h
                      M cc/animation/animation_timeline.cc
                      M cc/animation/animation_timeline_unittest.cc
                      M cc/animation/element_animations_unittest.cc
                      M cc/animation/scroll_offset_animations_impl.cc
                      M cc/animation/scroll_offset_animations_impl.h
                      A cc/animation/single_ticker_animation_player.cc
                      A cc/animation/single_ticker_animation_player.h

                      M cc/animation/worklet_animation_player.cc
                      M cc/animation/worklet_animation_player.h
                      M cc/test/animation_test_common.cc
                      M cc/test/animation_test_common.h
                      M cc/test/animation_timelines_test_common.cc
                      M cc/test/animation_timelines_test_common.h
                      M cc/test/layer_tree_test.cc
                      M cc/test/layer_tree_test.h
                      M cc/trees/layer_tree_host_common_unittest.cc
                      M cc/trees/layer_tree_host_unittest_animation.cc
                      M third_party/WebKit/Source/platform/animation/CompositorAnimationPlayer.cpp
                      M third_party/WebKit/Source/platform/animation/CompositorAnimationPlayer.h
                      M third_party/WebKit/Source/platform/animation/CompositorAnimationPlayerTest.cpp
                      M ui/compositor/layer_animator.cc
                      M ui/compositor/layer_animator.h
                      M ui/compositor/layer_owner_unittest.cc
                      M ui/compositor/layer_unittest.cc
                      33 files changed, 1,909 insertions(+), 924 deletions(-)


                      To view, visit change 742162. To unsubscribe, or for help writing mail filters, visit settings.

                      Gerrit-Project: chromium/src
                      Gerrit-Branch: master
                      Gerrit-MessageType: merged
                      Gerrit-Change-Id: Ibd2ed2f396effec9fbc206ff52c7b94474342d39
                      Gerrit-Change-Number: 742162
                      Gerrit-PatchSet: 27
                      Gerrit-Owner: Yi Gu <yi...@chromium.org>
                      Gerrit-Assignee: Robert Flack <fla...@chromium.org>
                      Gerrit-Reviewer: Commit Bot <commi...@chromium.org>
                      Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
                      Gerrit-Reviewer: Majid Valipour <maj...@chromium.org>
                      Gerrit-Reviewer: Robert Flack <fla...@chromium.org>
                      Gerrit-Reviewer: Stephen McGruer <smcg...@chromium.org>
                      Gerrit-Reviewer: Yi Gu <yi...@chromium.org>
                      Gerrit-CC: Alexis Menard <alexis...@intel.com>
                      Reply all
                      Reply to author
                      Forward
                      0 new messages