forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revert "Remove KeyframeModel ids from animation clients"
This reverts commit e73a825. Reason for revert: Reverting this patch as it regressed ui animation on ChromeOS. Problem has been located. Fix it in a follow up patch. Original change's description: > Remove KeyframeModel ids from animation clients > > Currently removing/pausing/aborting keyframe models to cc::Animation > requires the client to provide the keyframe model id. e.g. > Animation::RemoveKeyframeModel(id). > > Actually in reality we never remove/abort individual keyframe model of > an animation but do them all together. This patch removes the ids from > the clients so that they don't need to track the keyframe models. > > This patch is to clear barriers of introducing Group Effects. > > The non trivial changes on ui animation: > > Current logic: LayerAnimationSequence owns n LayerAnimationElement which > could be either threaded (opacity, transform) or non threaded. Each of > the threaded LayerAnimationElements has a corresponding > cc::KeyframeModel which is added / removed on the LayerAnimationElement > level. e.g. element->AddKeyframeModel(), element->RemoveKeyframeModel(). > > New logic: Given that threaded keyframe models can only be removed all > together, we move the removal logic to the LayerAnimationSequence level. > e.g. sequence->RemoveKeyframeModels(). The *add* logic is still on the > element level because adding individual keyframe model for each element > is allowed. > Note that a sequence can contain both threaded and non threaded elements > simultaneously. e.g. [threaded, non threaded, threaded]. To make sure > that we don't remove the keyframe model from the second threaded element > upon finishing the first threaded element, we need to finish the whole > sequence to proceed. Also note that the sequence may be repeated > infinitely and every time a threaded element is started we create a > cc::KeyframeModel for it. That being said, we need to make sure that the > existing keyframe models are removed before the sequence gets repeated. > > Bug: 810003 > Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel > Change-Id: Ia7dd8dab07a374da82f1619d011a23c31421295b > Reviewed-on: https://chromium-review.googlesource.com/1102831 > Commit-Queue: Yi Gu <yigu@chromium.org> > Reviewed-by: Majid Valipour <majidvp@chromium.org> > Reviewed-by: Ali Juma <ajuma@chromium.org> > Reviewed-by: Ian Vollick <vollick@chromium.org> > Reviewed-by: Stephen McGruer <smcgruer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#571658} TBR=vollick@chromium.org,ajuma@chromium.org,majidvp@chromium.org,yigu@chromium.org,smcgruer@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 810003 Change-Id: I4e7bdc75ad5ad06a6f0079d19a2b867d207a518a Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Reviewed-on: https://chromium-review.googlesource.com/1126361 Commit-Queue: Yi Gu <yigu@chromium.org> Reviewed-by: Yi Gu <yigu@chromium.org> Cr-Commit-Position: refs/heads/master@{#572652}
- Loading branch information
Showing
42 changed files
with
363 additions
and
410 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.