Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Issue 203463009: Web Animations API: Fix Synthetic keyframes + partial keyframes (Closed)

Created:
6 years, 9 months ago by rjwright
Modified:
6 years, 9 months ago
Reviewers:
dstockwell, shans
CC:
blink-reviews, alancutter (OOO until 2018), Mike Lawther (Google), dstockwell, Timothy Loh, darktears, Steve Block, dino_apple.com, Eric Willigers
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Web Animations API: Fix KeyframeEffectModel::PropertySpecificKeyframeGroup::addSyntheticKeyframeIfRequired Synthetic Keyframes: For each property declared in a KeyframeEffectModel, addSyntheticKeyframeIfRequired adds a property specific keyframe at offset: 0 if none exists. Similarly, it adds a keyframe at offset: 1 if required. The synthetic keyframes have compositeOperation add, and a neutral value for the property. Partial Keyframes: Previously, if an animation was constructed with a partial keyframe (a keyframe list with no keyframe at offset zero or no keyframe at offset one for any of the properties it declares) the renderer would crash. This change detects partial keyframes and throws a NotSupportedError in the JavaScript. Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=169626

Patch Set 1 #

Patch Set 2 : Remove assert that crashes addSyntheticKeyframeIfRequired #

Patch Set 3 : Add assert for CompositeOperation replace in ensureKeyframeGroups() #

Total comments: 3

Patch Set 4 : Pull changes from issue 196053009 into this patch #

Patch Set 5 : Add asserts that keyframe compositeOperations are replace in ensureInterpolationEffect #

Total comments: 3

Patch Set 6 : Return nullptr after exception + fixmes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+333 lines, -72 lines) Patch
M LayoutTests/web-animations-api/element-animate-list-of-keyframes.html View 1 2 3 1 chunk +2 lines, -4 lines 0 comments Download
A LayoutTests/web-animations-api/partial-keyframes.html View 1 2 3 1 chunk +131 lines, -0 lines 0 comments Download
M Source/core/animation/Animation.h View 1 2 3 2 chunks +5 lines, -4 lines 0 comments Download
M Source/core/animation/Animation.cpp View 1 2 3 2 chunks +7 lines, -6 lines 0 comments Download
M Source/core/animation/Animation.idl View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/animation/AnimationTest.cpp View 1 2 3 4 5 10 chunks +97 lines, -13 lines 0 comments Download
M Source/core/animation/EffectInput.h View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/animation/EffectInput.cpp View 1 2 3 4 5 2 chunks +8 lines, -2 lines 0 comments Download
M Source/core/animation/ElementAnimation.h View 1 2 3 1 chunk +6 lines, -6 lines 0 comments Download
M Source/core/animation/ElementAnimation.idl View 1 2 3 1 chunk +3 lines, -3 lines 0 comments Download
M Source/core/animation/KeyframeEffectModel.h View 1 2 3 2 chunks +5 lines, -1 line 0 comments Download
M Source/core/animation/KeyframeEffectModel.cpp View 1 2 3 4 4 chunks +24 lines, -18 lines 0 comments Download
M Source/core/animation/KeyframeEffectModelTest.cpp View 1 2 3 4 5 8 chunks +42 lines, -14 lines 0 comments Download

Messages

Total messages: 12 (0 generated)
rjwright
ptal
6 years, 9 months ago (2014-03-19 05:46:49 UTC) #1
rjwright
On 2014/03/19 05:46:49, rjwright wrote: > ptal Take a look if you want, but I ...
6 years, 9 months ago (2014-03-19 05:48:39 UTC) #2
rjwright
Shane: I've removed the assert in the PropertySpecificKeyframe constructor.
6 years, 9 months ago (2014-03-19 06:27:49 UTC) #3
shans
The problem with removing that assert is that it's possible to make KeyframeEffectModel objects that ...
6 years, 9 months ago (2014-03-19 09:06:20 UTC) #4
shans
On 2014/03/19 09:06:20, shans wrote: > The problem with removing that assert is that it's ...
6 years, 9 months ago (2014-03-19 09:40:56 UTC) #5
rjwright
On 2014/03/19 09:40:56, shans wrote: > On 2014/03/19 09:06:20, shans wrote: > > The problem ...
6 years, 9 months ago (2014-03-19 09:53:03 UTC) #6
rjwright
ASSERT that it is true inside ensureInterpolationEffect Done.
6 years, 9 months ago (2014-03-19 10:22:28 UTC) #7
shans
lgtm @dstockwell: I suggested Renee merge these two patches as most of the functionality needed ...
6 years, 9 months ago (2014-03-19 20:43:26 UTC) #8
dstockwell
lgtm https://codereview.chromium.org/203463009/diff/50003/Source/core/animation/KeyframeEffectModelTest.cpp File Source/core/animation/KeyframeEffectModelTest.cpp (right): https://codereview.chromium.org/203463009/diff/50003/Source/core/animation/KeyframeEffectModelTest.cpp#newcode192 Source/core/animation/KeyframeEffectModelTest.cpp:192: TEST(AnimationKeyframeEffectModel, DISABLED_SingleKeyframeAtOffsetZero) // FIXME
6 years, 9 months ago (2014-03-20 01:05:10 UTC) #9
rjwright
The CQ bit was checked by rjwright@chromium.org
6 years, 9 months ago (2014-03-20 05:31:58 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rjwright@chromium.org/203463009/90001
6 years, 9 months ago (2014-03-20 05:31:59 UTC) #11
commit-bot: I haz the power
6 years, 9 months ago (2014-03-20 06:35:40 UTC) #12
Message was sent while issue was closed.
Change committed as 169626

Powered by Google App Engine
This is Rietveld 408576698