DescriptionMove settings-section animations into setting-section, make better
This follows https://codereview.chromium.org/2072643002/
by creating OpenSectionTransition/CloseSectionTransition to manage
animation lifetime. Most of the section animation/styling logic is
now in settings_section.js where it belongs.
This patch:
* Removes most animation logic from MainPageBehavior and does away
with TransitionBehavior entirely.
* Makes the collapse animation position: absolute (instead of fixed).
Anchoring it this way makes it MUCH easier to end up in the right
place regardless of scroll events, height blips, etc. Should reduce
jarring jumps at the end of transitions.
* Moves most style changes into Web Animations instead of inline.
This makes the animations fire-and-forget. Transition clean up is
largely automatic, there are no styles to (forget to) remove (at the
wrong time). If a transition is buggy, we're still likely to end up
in the right place.
* As a result of the above, simplifies the cancel/finish logic. We only
have one animation going at a time. This is much easier to debug and
should lead to fewer broken page states.
This also fixes a LOT of bugs (and introduces a few less severe ones).
It's annoying to test animations programmatically. I have CLs with tests,
but they're still flaky.
BUG=589681, 621245, 622172
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation;master.tryserver.chromium.linux:closure_compilation
Patch Set 1 #Patch Set 2 : cleanup #
Total comments: 19
Patch Set 3 : rebase on 2072643002 #4 #Patch Set 4 : feedback #Patch Set 5 : big rebase #
Total comments: 4
Patch Set 6 : rebase, minor fix #
Total comments: 19
Patch Set 7 : draft #Patch Set 8 : Computed properties #
Total comments: 18
Patch Set 9 : Comments #Patch Set 10 : Reworked properties/rebase #
Total comments: 7
Patch Set 11 : rebase #Patch Set 12 : extract AnimationGroup into own CL #Patch Set 13 : use strict #
Total comments: 5
Patch Set 14 : Refactor #
Total comments: 16
Depends on Patchset: Messages
Total messages: 32 (10 generated)
|