Chrome's browser compositor has an outdated animation framework that should be replaced by one more consistent with Android's Animator. https://docs.google.com/document/d/1VRG_eL9YdTerilvoDv6zambq4JvK18lSzUOFZ7Gkbw8
Chrome's browser compositor has an outdated animation framework that should be replaced by one more consistent with Android's Animator. https://docs.google.com/document/d/127NyvCP10h96z140moTebgXUKrz9dup4d5oxpZ1E0bA
(fixed link)
Thanks! Also +cc more people.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a278c350c9a8398be6bde768006d40f3de8b242a commit a278c350c9a8398be6bde768006d40f3de8b242a Author: Matthew Jones <mdjones@chromium.org> Date: Wed Sep 27 17:13:43 2017 Implement CompositorAnimator framework This change introduces the framework for the CompositorAnimator and a suite of unit tests. The following classes have been added: - CompositorAnimator: The new Animator for compositor animation in Java. This class extends the android.animation.Animator class in order to be interoperable and consistent with Android. The AnimatorListener is supported but does not support the reverse or repeat events. - AnimatorUpdateListener: This is an analog to ValueAnimator.AnimatorUpdateListener which provides notification of frame updates. - CompositorAnimationHandler: This class is responsible for pushing updates to CompositorAnimators associated with a particular instance of Chrome. The handler, listeners, and basic hookup have been integrated into Chrome but no existing animations have been converted yet. BUG=750381 Change-Id: Ia4612901cf1beacc13994b866b5f691ec9b38011 Reviewed-on: https://chromium-review.googlesource.com/627718 Commit-Queue: Matthew Jones <mdjones@chromium.org> Reviewed-by: Yusuf Ozuysal <yusufo@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Cr-Commit-Position: refs/heads/master@{#504714} [add] https://crrev.com/a278c350c9a8398be6bde768006d40f3de8b242a/chrome/android/java/src/org/chromium/chrome/browser/compositor/animation/CompositorAnimationHandler.java [add] https://crrev.com/a278c350c9a8398be6bde768006d40f3de8b242a/chrome/android/java/src/org/chromium/chrome/browser/compositor/animation/CompositorAnimator.java [modify] https://crrev.com/a278c350c9a8398be6bde768006d40f3de8b242a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java [modify] https://crrev.com/a278c350c9a8398be6bde768006d40f3de8b242a/chrome/android/java_sources.gni [add] https://crrev.com/a278c350c9a8398be6bde768006d40f3de8b242a/chrome/android/junit/src/org/chromium/chrome/browser/compositor/animation/CompositorAnimatorTest.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/24b3ee5163c9747920c3e4d1b3009587da3a3272 commit 24b3ee5163c9747920c3e4d1b3009587da3a3272 Author: Matthew Jones <mdjones@chromium.org> Date: Wed Sep 27 18:49:48 2017 Add static utility to create CompositorAnimators This change adds a static utility method for creating animations and a new class called AnimatedFloat. The AnimatedFloat is a wrapper for a primitive float value that can be held by an animator for updating. BUG=750381 Change-Id: Ibfc69be0228e1ff5cda3193c9c72eb44a9b5de89 Reviewed-on: https://chromium-review.googlesource.com/636173 Commit-Queue: Matthew Jones <mdjones@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Cr-Commit-Position: refs/heads/master@{#504740} [modify] https://crrev.com/24b3ee5163c9747920c3e4d1b3009587da3a3272/chrome/android/java/src/org/chromium/chrome/browser/compositor/animation/CompositorAnimator.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0c67f9ab0d8552aa42452154fc9294ce6c8dbb74 commit 0c67f9ab0d8552aa42452154fc9294ce6c8dbb74 Author: Matthew Jones <mdjones@chromium.org> Date: Thu Sep 28 01:04:39 2017 Add supporting plumbing for CompositorAnimator framework This change adds getters to several classes that make adding animations easier. BUG=750381 Change-Id: Id82b8337ef66a614aebe0aaeb7e08eca59bc7beb Reviewed-on: https://chromium-review.googlesource.com/676263 Commit-Queue: Matthew Jones <mdjones@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Cr-Commit-Position: refs/heads/master@{#504849} [modify] https://crrev.com/0c67f9ab0d8552aa42452154fc9294ce6c8dbb74/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelAnimation.java [modify] https://crrev.com/0c67f9ab0d8552aa42452154fc9294ce6c8dbb74/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelBase.java [modify] https://crrev.com/0c67f9ab0d8552aa42452154fc9294ce6c8dbb74/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java [modify] https://crrev.com/0c67f9ab0d8552aa42452154fc9294ce6c8dbb74/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java [modify] https://crrev.com/0c67f9ab0d8552aa42452154fc9294ce6c8dbb74/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutUpdateHost.java [modify] https://crrev.com/0c67f9ab0d8552aa42452154fc9294ce6c8dbb74/chrome/android/junit/src/org/chromium/chrome/browser/compositor/animation/CompositorAnimatorTest.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bd216e76826f78941003a609dcf97443ba7bf442 commit bd216e76826f78941003a609dcf97443ba7bf442 Author: Matthew Jones <mdjones@chromium.org> Date: Mon Oct 02 21:44:34 2017 Replace ChromeAnimation in ToolbarSwipeLayout This change replaces the use of ChromeAnimation in ToolbarSwipeLayout with a CompositorAnimator. BUG=750381 Change-Id: I8c2f5cdfc9ca8f8e13960219cf39abd4e5d2218f Reviewed-on: https://chromium-review.googlesource.com/691282 Commit-Queue: Matthew Jones <mdjones@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Cr-Commit-Position: refs/heads/master@{#505796} [modify] https://crrev.com/bd216e76826f78941003a609dcf97443ba7bf442/chrome/android/java/src/org/chromium/chrome/browser/compositor/animation/CompositorAnimationHandler.java [modify] https://crrev.com/bd216e76826f78941003a609dcf97443ba7bf442/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java [modify] https://crrev.com/bd216e76826f78941003a609dcf97443ba7bf442/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java [modify] https://crrev.com/bd216e76826f78941003a609dcf97443ba7bf442/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e233fe139b3b2f5aff0e198e9cd8cfe9d494078e commit e233fe139b3b2f5aff0e198e9cd8cfe9d494078e Author: Matthew Jones <mdjones@chromium.org> Date: Tue Oct 03 17:56:52 2017 Replace ChromeAnimation instances in Contextual Search This change replaces some of the instances of ChromeAnimation in the Contextual Search feature with CompositorAnimators. This change also adds the ability to put the CompositorAnimationHandler into 'testing mode' where all started animations are immediately ended. BUG=750381 Change-Id: I2319679605395ff8a8f14b4844c8cac0a2546133 Reviewed-on: https://chromium-review.googlesource.com/636470 Commit-Queue: Matthew Jones <mdjones@chromium.org> Reviewed-by: Theresa <twellington@chromium.org> Reviewed-by: Donn Denman <donnd@chromium.org> Cr-Commit-Position: refs/heads/master@{#506095} [modify] https://crrev.com/e233fe139b3b2f5aff0e198e9cd8cfe9d494078e/chrome/android/java/src/org/chromium/chrome/browser/compositor/animation/CompositorAnimationHandler.java [modify] https://crrev.com/e233fe139b3b2f5aff0e198e9cd8cfe9d494078e/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchBarControl.java [modify] https://crrev.com/e233fe139b3b2f5aff0e198e9cd8cfe9d494078e/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchCaptionControl.java [modify] https://crrev.com/e233fe139b3b2f5aff0e198e9cd8cfe9d494078e/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchImageControl.java [modify] https://crrev.com/e233fe139b3b2f5aff0e198e9cd8cfe9d494078e/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f9b7741e15c64f9ef7abd4bc33c9ad728f1e0b52 commit f9b7741e15c64f9ef7abd4bc33c9ad728f1e0b52 Author: Matthew Jones <mdjones@chromium.org> Date: Mon Oct 09 20:28:30 2017 Finish replacing Contextual Search animations This change finishes conversion of the animations in Contextual Search to the new CompositorAnimator framework. All the supporting infra has been removed from the OverlayPanelAnimation class. BUG=617307, 750381 Change-Id: I66c2eb3c6a7471054384cd35618f92c39e9ed008 Reviewed-on: https://chromium-review.googlesource.com/671926 Commit-Queue: Matthew Jones <mdjones@chromium.org> Reviewed-by: Theresa <twellington@chromium.org> Reviewed-by: Donn Denman <donnd@chromium.org> Cr-Commit-Position: refs/heads/master@{#507470} [modify] https://crrev.com/f9b7741e15c64f9ef7abd4bc33c9ad728f1e0b52/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanel.java [modify] https://crrev.com/f9b7741e15c64f9ef7abd4bc33c9ad728f1e0b52/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelAnimation.java [modify] https://crrev.com/f9b7741e15c64f9ef7abd4bc33c9ad728f1e0b52/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelBase.java [modify] https://crrev.com/f9b7741e15c64f9ef7abd4bc33c9ad728f1e0b52/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java [modify] https://crrev.com/f9b7741e15c64f9ef7abd4bc33c9ad728f1e0b52/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPeekPromoControl.java [modify] https://crrev.com/f9b7741e15c64f9ef7abd4bc33c9ad728f1e0b52/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPromoControl.java [modify] https://crrev.com/f9b7741e15c64f9ef7abd4bc33c9ad728f1e0b52/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelEventFilterTest.java [modify] https://crrev.com/f9b7741e15c64f9ef7abd4bc33c9ad728f1e0b52/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelManagerTest.java [modify] https://crrev.com/f9b7741e15c64f9ef7abd4bc33c9ad728f1e0b52/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManagerTest.java [modify] https://crrev.com/f9b7741e15c64f9ef7abd4bc33c9ad728f1e0b52/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/446fe2320a5401d0b60873b8ab0410602b8beba0 commit 446fe2320a5401d0b60873b8ab0410602b8beba0 Author: Matthew Jones <mdjones@chromium.org> Date: Wed Nov 15 02:34:09 2017 Replace ChromeAnimation in CompositorButton This change replaces ChromeAnimation with CompositorAnimator in the CompositorButton class. To facilitate this, a 'property' was added for opacity and a new utility method was added to the CompositorAnimator to animate it. BUG=750381 Change-Id: I06e31969418d3af12ed4fd56d2748c70b5fc2000 Reviewed-on: https://chromium-review.googlesource.com/737467 Commit-Queue: Matthew Jones <mdjones@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Cr-Commit-Position: refs/heads/master@{#516565} [modify] https://crrev.com/446fe2320a5401d0b60873b8ab0410602b8beba0/chrome/android/BUILD.gn [modify] https://crrev.com/446fe2320a5401d0b60873b8ab0410602b8beba0/chrome/android/java/src/org/chromium/chrome/browser/compositor/animation/CompositorAnimator.java [modify] https://crrev.com/446fe2320a5401d0b60873b8ab0410602b8beba0/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/CompositorButton.java [modify] https://crrev.com/446fe2320a5401d0b60873b8ab0410602b8beba0/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java [modify] https://crrev.com/446fe2320a5401d0b60873b8ab0410602b8beba0/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutTab.java [add] https://crrev.com/446fe2320a5401d0b60873b8ab0410602b8beba0/chrome/android/third_party/compositor_animator/BUILD.gn [add] https://crrev.com/446fe2320a5401d0b60873b8ab0410602b8beba0/chrome/android/third_party/compositor_animator/LICENSE [add] https://crrev.com/446fe2320a5401d0b60873b8ab0410602b8beba0/chrome/android/third_party/compositor_animator/OWNERS [add] https://crrev.com/446fe2320a5401d0b60873b8ab0410602b8beba0/chrome/android/third_party/compositor_animator/README.chromium [add] https://crrev.com/446fe2320a5401d0b60873b8ab0410602b8beba0/chrome/android/third_party/compositor_animator/java/src/org/chromium/chrome/browser/compositor/animation/FloatProperty.java [modify] https://crrev.com/446fe2320a5401d0b60873b8ab0410602b8beba0/chrome/test/android/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3c6f36d9de9b2328a090e7dc1b9270cea30399a6 commit 3c6f36d9de9b2328a090e7dc1b9270cea30399a6 Author: Matthew Jones <mdjones@chromium.org> Date: Tue Nov 28 21:35:15 2017 Replace instances of ChromeAnimation in StripLayoutHelper This change replaces the usages of ChromeAnimation in the tablet tab strip. Several properties have been added to facilitate animation and much of the logic has been simplified. Particularly, onUpdateAnimation has been removed since most of the logic depending on its param 'jumpToEnd' (which was always false) was unused. BUG=750381 Change-Id: If5c2346545254917cf690f4e5ddbb76a7dde3239 Reviewed-on: https://chromium-review.googlesource.com/791471 Reviewed-by: David Trainor <dtrainor@chromium.org> Commit-Queue: Matthew Jones <mdjones@chromium.org> Cr-Commit-Position: refs/heads/master@{#519853} [modify] https://crrev.com/3c6f36d9de9b2328a090e7dc1b9270cea30399a6/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java [modify] https://crrev.com/3c6f36d9de9b2328a090e7dc1b9270cea30399a6/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutTab.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/da54cd01b51d4d758bb9930df9619279f950df5e commit da54cd01b51d4d758bb9930df9619279f950df5e Author: Matthew Jones <mdjones@chromium.org> Date: Thu Jan 11 18:15:34 2018 Replace animation property in SimpleAnimationLayout This change replaces the ChromeAnimation property DISCARD_AMOUNT in SimpleLayoutAnimation with a CompositorAnimator. BUG=750381 Change-Id: Ia9b774e52121f1b2fbc8d6de8b8495703760f0f5 Reviewed-on: https://chromium-review.googlesource.com/832906 Reviewed-by: David Trainor <dtrainor@chromium.org> Commit-Queue: Matthew Jones <mdjones@chromium.org> Cr-Commit-Position: refs/heads/master@{#528668} [modify] https://crrev.com/da54cd01b51d4d758bb9930df9619279f950df5e/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/SimpleAnimationLayout.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/765db8e0f32ffbac8e9be0a27d83ba5e7420624e commit 765db8e0f32ffbac8e9be0a27d83ba5e7420624e Author: Matthew Jones <mdjones@chromium.org> Date: Wed Jan 31 19:10:29 2018 Replace animation listener lists with ObserverList ObserverList has the functionality that the CompositorAnimator was duplicating with multiple lists (particularly removal mid-iteration). This change replaces those usages with the exception of events that would run every frame (to avoid constantly allocating iterators). This patch also replaces an in-line class with a lambda. BUG=750381 Change-Id: Icea85522fd7a2141564c551e03da6b1c3f758706 Reviewed-on: https://chromium-review.googlesource.com/868579 Commit-Queue: Matthew Jones <mdjones@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Cr-Commit-Position: refs/heads/master@{#533351} [modify] https://crrev.com/765db8e0f32ffbac8e9be0a27d83ba5e7420624e/chrome/android/java/src/org/chromium/chrome/browser/compositor/animation/CompositorAnimator.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0b0c8db7e33acf4acea9c91d0283c92c5498c9d8 commit 0b0c8db7e33acf4acea9c91d0283c92c5498c9d8 Author: Matthew Jones <mdjones@chromium.org> Date: Thu Feb 22 21:54:17 2018 Fix frame time for CompositorAnimator updates Previously, animations were updated with an arbitrary frame time, not one related to the time since the previous frame. This change breaks CompositorAnimator's dependency on this and instead uses its own internal time. This fixes an issue in the new CompositorAnimator framework where the actual duration of an animation is up to 10% longer than specified, breaking interaction with AnimatorSet. BUG=750381 Change-Id: Idf6b2db9d2d545eca505562e17a9d5aed1e47578 Reviewed-on: https://chromium-review.googlesource.com/927609 Reviewed-by: David Trainor <dtrainor@chromium.org> Commit-Queue: Matthew Jones <mdjones@chromium.org> Cr-Commit-Position: refs/heads/master@{#538575} [modify] https://crrev.com/0b0c8db7e33acf4acea9c91d0283c92c5498c9d8/chrome/android/java/src/org/chromium/chrome/browser/compositor/animation/CompositorAnimationHandler.java [modify] https://crrev.com/0b0c8db7e33acf4acea9c91d0283c92c5498c9d8/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java [modify] https://crrev.com/0b0c8db7e33acf4acea9c91d0283c92c5498c9d8/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerTest.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d85bbd7db50773c927c3ed9892b73fc70d9ed296 commit d85bbd7db50773c927c3ed9892b73fc70d9ed296 Author: Matthew Jones <mdjones@chromium.org> Date: Mon Feb 26 22:39:39 2018 Remove unused tab switcher animation methods and params BUG=750381 Change-Id: Ieac331636c7c5ff495ff3498cd606ce66fcd2561 Reviewed-on: https://chromium-review.googlesource.com/938395 Reviewed-by: David Trainor <dtrainor@chromium.org> Commit-Queue: Matthew Jones <mdjones@chromium.org> Cr-Commit-Position: refs/heads/master@{#539295} [modify] https://crrev.com/d85bbd7db50773c927c3ed9892b73fc70d9ed296/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/Stack.java [modify] https://crrev.com/d85bbd7db50773c927c3ed9892b73fc70d9ed296/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimation.java [modify] https://crrev.com/d85bbd7db50773c927c3ed9892b73fc70d9ed296/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationLandscape.java [modify] https://crrev.com/d85bbd7db50773c927c3ed9892b73fc70d9ed296/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationPortrait.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0309b2a1562f792be21470783d5f2b202b836c6d commit 0309b2a1562f792be21470783d5f2b202b836c6d Author: Matthew Jones <mdjones@chromium.org> Date: Wed Feb 28 17:18:49 2018 Replace ChromeAnimation instances in SimpleAnimationLayout This change replaces all of the usages of ChromeAnimation in the SimpleAnimationLayout with CompositorAnimators. For simplicity all of the properties used by this layout have been converted into FloatPropery. BUG=750381 Change-Id: I9ecf38725e8081926a0b85cab4ebea8905ed35a6 Reviewed-on: https://chromium-review.googlesource.com/833177 Commit-Queue: Matthew Jones <mdjones@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Cr-Commit-Position: refs/heads/master@{#539859} [modify] https://crrev.com/0309b2a1562f792be21470783d5f2b202b836c6d/chrome/android/java/src/org/chromium/chrome/browser/compositor/animation/CompositorAnimator.java [modify] https://crrev.com/0309b2a1562f792be21470783d5f2b202b836c6d/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/LayoutTab.java [modify] https://crrev.com/0309b2a1562f792be21470783d5f2b202b836c6d/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/SimpleAnimationLayout.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b626cd1fa6e412ab1c9beb2d1eecfa3eb5ee3210 commit b626cd1fa6e412ab1c9beb2d1eecfa3eb5ee3210 Author: Matthew Jones <mdjones@chromium.org> Date: Wed Sep 12 17:09:08 2018 Convert animations in StaticLayout to CompositorAnimator This patch migrates the remaining animations in StaticLayout to use CompositorAnimator. Bug: 882508, 750381 Change-Id: I240a45cfdbf634cd122a34825648e459f9de6b61 Reviewed-on: https://chromium-review.googlesource.com/1217406 Reviewed-by: David Trainor <dtrainor@chromium.org> Commit-Queue: Matthew Jones <mdjones@chromium.org> Cr-Commit-Position: refs/heads/master@{#590732} [modify] https://crrev.com/b626cd1fa6e412ab1c9beb2d1eecfa3eb5ee3210/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/StaticLayout.java [modify] https://crrev.com/b626cd1fa6e412ab1c9beb2d1eecfa3eb5ee3210/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/LayoutTab.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5725cb4927d2266527e2750a3bdcaba15f77600a commit 5725cb4927d2266527e2750a3bdcaba15f77600a Author: Matthew Jones <mdjones@chromium.org> Date: Wed Sep 12 18:43:52 2018 Move animation handling to Stack This patch moves the remaining ChromeAnimation logic to the StackLayout (the last place it is used). This allows us to start simplifying the oversized Layout API. Bug: 882508, 750381 Change-Id: I8b59cff1f8eb10777a524c078fadf008dec46542 Reviewed-on: https://chromium-review.googlesource.com/1217597 Commit-Queue: Matthew Jones <mdjones@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Cr-Commit-Position: refs/heads/master@{#590763} [modify] https://crrev.com/5725cb4927d2266527e2750a3bdcaba15f77600a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java [modify] https://crrev.com/5725cb4927d2266527e2750a3bdcaba15f77600a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/StackLayoutBase.java
Public version of design doc here: https://docs.google.com/document/d/1VL5ntE7vn267IFjE4Zke0GkhVVTHz1bEP672Apj_E2k
Just FYI for everybody in this discussion - https://bugs.chromium.org/p/chromium/issues/detail?id=890643 and https://chromium-review.googlesource.com/c/chromium/src/+/1234239 provide ready patch, which is migrating all of these animations.
Comment 1 by rlanday@chromium.org
, Sep 1 2017