Chromium Code Reviews
Help | Chromium Project | Gerrit Changes | Sign in
(24)

Issue 1153943003: Add foundation for removing AnimatableValues from StyleInterpolation (Closed)

Created:
4 years, 11 months ago by alancutter (OOO until 2018)
Modified:
4 years, 10 months ago
CC:
darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-animation_chromium.org, blink-reviews-css, blink-reviews-style_chromium.org, dglazkov+blink, Eric Willigers, rjwright, rwlbuis, shans
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Add foundation for removing AnimatableValues from StyleInterpolation This is the initial patch for upgrading StyleInterpolations away from relying on AnimatableValues for non-trivial keyframe values like "inherit" and breaking free from the dependency on StyleResolver when constructing animations. This design is also intended to support additive animations in the near future. This change implements the DefaultAnimationType which covers animation of all non-interpolable properties in element.animate(). BUG=450238, 437696 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=197705

Patch Set 1 #

Patch Set 2 : Minor renames #

Patch Set 3 : Add test case #

Patch Set 4 : Make test visually clear #

Patch Set 5 : Remove commented out code #

Patch Set 6 : Avoid touching core/css and replace left and top properties #

Patch Set 7 : Tiny rename #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : Rebase #

Patch Set 11 : Compile issues #

Patch Set 12 : #

Total comments: 16

Patch Set 13 : Fix Windows compile #

Patch Set 14 : Review changes #

Patch Set 15 : Add missing header file #

Total comments: 25

Patch Set 16 : Review changes #

Patch Set 17 : Merge ConversionInvalidator and ConversionCache into AnimationConversion #

Patch Set 18 : Add missing include #

Patch Set 19 : PassOwnPtr #

Total comments: 12

Patch Set 20 : Review changes #

Patch Set 21 : Always apply after validating #

Patch Set 22 : Upstream nits #

Patch Set 23 : Make ConversionInvalidators independent of the InterpolationPrimitive conversion result #

Total comments: 14

Patch Set 24 : Review changes #

Total comments: 8

Patch Set 25 : Review changes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+635 lines, -4 lines) Patch
A LayoutTests/animations/interpolation/display-interpolation.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +31 lines, -0 lines 0 comments Download
A LayoutTests/animations/interpolation/display-interpolation-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +17 lines, -0 lines 0 comments Download
A LayoutTests/animations/interpolation/position-interpolation.html View 1 2 3 1 chunk +35 lines, -0 lines 0 comments Download
A Source/core/animation/AnimationType.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +53 lines, -0 lines 0 comments Download
A Source/core/animation/AnimationValue.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +62 lines, -0 lines 0 comments Download
A Source/core/animation/CSSValueAnimationType.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +54 lines, -0 lines 0 comments Download
A Source/core/animation/CSSValueAnimationType.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +27 lines, -0 lines 0 comments Download
M Source/core/animation/InterpolableValue.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/animation/Interpolation.h View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/animation/Interpolation.cpp View 3 chunks +4 lines, -2 lines 0 comments Download
A Source/core/animation/InvalidatableStyleInterpolation.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +64 lines, -0 lines 0 comments Download
A Source/core/animation/InvalidatableStyleInterpolation.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +86 lines, -0 lines 0 comments Download
A Source/core/animation/NonInterpolableValue.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +37 lines, -0 lines 0 comments Download
A Source/core/animation/PrimitiveInterpolation.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +128 lines, -0 lines 0 comments Download
M Source/core/animation/StringKeyframe.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +26 lines, -1 line 0 comments Download
M Source/core/core.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 3 chunks +8 lines, -0 lines 0 comments Download

Messages

Total messages: 31 (5 generated)
alancutter (OOO until 2018)
Make test visually clear
4 years, 11 months ago (2015-05-25 06:02:16 UTC) #2
alancutter (OOO until 2018)
Remove commented out code
4 years, 11 months ago (2015-05-25 06:12:08 UTC) #3
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1153943003/100001
4 years, 11 months ago (2015-05-25 06:35:55 UTC) #5
alancutter (OOO until 2018)
4 years, 11 months ago (2015-05-25 06:36:04 UTC) #6
Eric Willigers
https://codereview.chromium.org/1153943003/diff/220001/Source/core/animation/AnimationValue.h File Source/core/animation/AnimationValue.h (right): https://codereview.chromium.org/1153943003/diff/220001/Source/core/animation/AnimationValue.h#newcode24 Source/core/animation/AnimationValue.h:24: : type(nullptr) Can these initializations be indented. Also for ...
4 years, 11 months ago (2015-05-27 04:26:35 UTC) #7
alancutter (OOO until 2018)
https://codereview.chromium.org/1153943003/diff/220001/Source/core/animation/AnimationValue.h File Source/core/animation/AnimationValue.h (right): https://codereview.chromium.org/1153943003/diff/220001/Source/core/animation/AnimationValue.h#newcode24 Source/core/animation/AnimationValue.h:24: : type(nullptr) On 2015/05/27 04:26:35, Eric Willigers wrote: > ...
4 years, 11 months ago (2015-05-27 08:27:48 UTC) #8
Eric Willigers
I suspect you forgot to upload InterpolationInvalidators.h
4 years, 11 months ago (2015-05-27 09:16:22 UTC) #9
alancutter (OOO until 2018)
On 2015/05/27 at 09:16:22, ericwilligers wrote: > I suspect you forgot to upload InterpolationInvalidators.h Done.
4 years, 11 months ago (2015-05-27 23:54:47 UTC) #10
Eric Willigers
lgtm with nit https://codereview.chromium.org/1153943003/diff/270001/Source/core/animation/InterpolationInvalidators.h File Source/core/animation/InterpolationInvalidators.h (right): https://codereview.chromium.org/1153943003/diff/270001/Source/core/animation/InterpolationInvalidators.h#newcode23 Source/core/animation/InterpolationInvalidators.h:23: static void chain(RefPtrWillBeRawPtr<InterpolationInvalidators>& prefix, PassRefPtrWillBeRawPtr<InterpolationInvalidators> suffix) ...
4 years, 11 months ago (2015-05-28 00:34:49 UTC) #11
alancutter (OOO until 2018)
+shans and +dstockwell as reviewers.
4 years, 11 months ago (2015-05-28 04:45:01 UTC) #13
shans
General comment: There are a lot of code paths in here that seem to be ...
4 years, 11 months ago (2015-05-28 05:48:14 UTC) #14
alancutter (OOO until 2018)
Thanks for the quick review. https://codereview.chromium.org/1153943003/diff/270001/Source/core/animation/AnimationType.h File Source/core/animation/AnimationType.h (right): https://codereview.chromium.org/1153943003/diff/270001/Source/core/animation/AnimationType.h#newcode33 Source/core/animation/AnimationType.h:33: return false; On 2015/05/28 ...
4 years, 11 months ago (2015-06-01 07:35:29 UTC) #15
alancutter (OOO until 2018)
https://codereview.chromium.org/1153943003/diff/270001/Source/core/animation/InvalidatableStyleInterpolation.cpp File Source/core/animation/InvalidatableStyleInterpolation.cpp (right): https://codereview.chromium.org/1153943003/diff/270001/Source/core/animation/InvalidatableStyleInterpolation.cpp#newcode125 Source/core/animation/InvalidatableStyleInterpolation.cpp:125: if (animationType->maybeConvertPairwise(*m_startKeyframe, *m_endKeyframe, state, invalidators, startInterpolableValue, endInterpolableValue, nonInterpolableValue)) { ...
4 years, 11 months ago (2015-06-01 23:47:54 UTC) #16
alancutter (OOO until 2018)
Refactored patch based on review. PTAL. maybeConvertPairwise() no longer takes a ghastly list of out ...
4 years, 11 months ago (2015-06-02 07:48:41 UTC) #17
shans
So the new way of doing things is: StringKeyframe is tasked with creating Interpolations. It ...
4 years, 11 months ago (2015-06-04 00:15:16 UTC) #18
dstockwell
Could you add some class level comments for the new types? It would help in ...
4 years, 10 months ago (2015-06-10 00:52:45 UTC) #19
alancutter (OOO until 2018)
On 2015/06/04 at 00:15:16, shans wrote: > Questions not addressed by this patch: > -------------------------------------- ...
4 years, 10 months ago (2015-06-11 04:15:13 UTC) #20
alancutter (OOO until 2018)
Separated Invalidators from InterpolationPrimitive. It's possible for a pairwise conversion's decision to return nullptr to ...
4 years, 10 months ago (2015-06-19 00:56:18 UTC) #21
shans
https://codereview.chromium.org/1153943003/diff/430001/Source/core/animation/AnimationType.h File Source/core/animation/AnimationType.h (right): https://codereview.chromium.org/1153943003/diff/430001/Source/core/animation/AnimationType.h#newcode18 Source/core/animation/AnimationType.h:18: // A singleton class that provides functions for: We ...
4 years, 10 months ago (2015-06-22 11:43:22 UTC) #22
alancutter (OOO until 2018)
https://codereview.chromium.org/1153943003/diff/430001/Source/core/animation/AnimationType.h File Source/core/animation/AnimationType.h (right): https://codereview.chromium.org/1153943003/diff/430001/Source/core/animation/AnimationType.h#newcode18 Source/core/animation/AnimationType.h:18: // A singleton class that provides functions for: On ...
4 years, 10 months ago (2015-06-23 05:05:33 UTC) #23
dstockwell
lgtm > covers animation of all non-interpolable properties in element.animate() But not for display, animation ...
4 years, 10 months ago (2015-06-23 06:49:46 UTC) #24
alancutter (OOO until 2018)
> > covers animation of all non-interpolable properties in element.animate() > > But not for ...
4 years, 10 months ago (2015-06-23 08:11:04 UTC) #25
shans
lgtm
4 years, 10 months ago (2015-06-24 05:05:07 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1153943003/470001
4 years, 10 months ago (2015-06-24 05:07:04 UTC) #29
shans
lgtm lgtm
4 years, 10 months ago (2015-06-24 05:08:10 UTC) #30
commit-bot: I haz the power
4 years, 10 months ago (2015-06-24 06:15:35 UTC) #31
Message was sent while issue was closed.
Committed patchset #25 (id:470001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=197705

Powered by Google App Engine
This is Rietveld 408576698