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

Issue 2757543002: Ensure baseComputedStyle optimisation is cleared during registered custom property animations (Closed)

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

Description

Ensure baseComputedStyle optimisation is cleared during registered custom property animations This change to StyleResolver ensures that the cached baseComputedStyle on an animated element is removed while custom property animations are active. This prevents stale baseComputedStyles from persisting and failing the equality assertion in ElementAnimations::updateBaseComputedStyle(). The regression test for this bug needed to be a SimTest as it depended on style recalcs being triggered by animations and not Javascript. It's not possible to do this deterministically from Javascript as it requires control over the frame times. As part of making the SimTest ElementAnimation::animate() and PropertyRegistration::registerProperty() required changes to reduce their V8 dependencies. Additionally a test-only method was added to AnimationClock to turn off generating synthetic frame times. BUG=701250 Review-Url: https://codereview.chromium.org/2757543002 Cr-Commit-Position: refs/heads/master@{#461423} Committed: https://chromium.googlesource.com/chromium/src/+/767e438649154d1985a803c93111e0860a29fa2f

Patch Set 1 #

Patch Set 2 : comments #

Total comments: 2

Patch Set 3 : Remove untestables #

Patch Set 4 : Rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+131 lines, -23 lines) Patch
M third_party/WebKit/Source/core/animation/AnimationClock.h View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/animation/AnimationClock.cpp View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/animation/ElementAnimation.h View 4 chunks +11 lines, -12 lines 0 comments Download
M third_party/WebKit/Source/core/animation/StringKeyframe.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/css/PropertyRegistration.h View 1 chunk +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/css/PropertyRegistration.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/css/PropertyRegistration.idl View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp View 1 2 3 1 chunk +8 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/web/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/Source/web/tests/AnimationSimTest.cpp View 1 2 3 1 chunk +99 lines, -0 lines 0 comments Download

Messages

Total messages: 37 (20 generated)
alancutter (OOO until 2018)
esprehn please review AnimationSimTest.cpp for SimTest coding style.
3 years, 9 months ago (2017-03-16 04:03:24 UTC) #3
suzyh_UTC10 (ex-contributor)
I'm afraid I do not understand this patch at all. The only behavioural change seems ...
3 years, 9 months ago (2017-03-16 23:46:41 UTC) #4
alancutter (OOO until 2018)
On 2017/03/16 at 23:46:41, suzyh wrote: > I'm afraid I do not understand this patch ...
3 years, 9 months ago (2017-03-17 00:29:16 UTC) #7
suzyh_UTC10 (ex-contributor)
OK, that makes much more sense ^.^ lgtm https://codereview.chromium.org/2757543002/diff/20001/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp File third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp (right): https://codereview.chromium.org/2757543002/diff/20001/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp#newcode621 third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp:621: elementAnimations->clearBaseComputedStyle(); ...
3 years, 9 months ago (2017-03-17 03:03:13 UTC) #8
alancutter (OOO until 2018)
https://codereview.chromium.org/2757543002/diff/20001/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp File third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp (right): https://codereview.chromium.org/2757543002/diff/20001/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp#newcode621 third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp:621: elementAnimations->clearBaseComputedStyle(); On 2017/03/17 at 03:03:13, suzyh wrote: > Sanity-check ...
3 years, 9 months ago (2017-03-17 03:36:50 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2757543002/60001
3 years, 9 months ago (2017-03-22 02:58:35 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/391156)
3 years, 9 months ago (2017-03-22 03:07:31 UTC) #19
alancutter (OOO until 2018)
On 2017/03/22 at 03:07:31, commit-bot wrote: > Try jobs failed on following builders: > chromium_presubmit ...
3 years, 9 months ago (2017-03-22 03:11:43 UTC) #21
haraken
On 2017/03/22 03:11:43, alancutter wrote: > On 2017/03/22 at 03:07:31, commit-bot wrote: > > Try ...
3 years, 9 months ago (2017-03-22 03:35:41 UTC) #23
esprehn
It should be possible to use the baseComputedStyle for custom property animations though? I'm not ...
3 years, 9 months ago (2017-03-22 03:46:17 UTC) #25
alancutter (OOO until 2018)
On 2017/03/22 at 03:46:17, esprehn wrote: > It should be possible to use the baseComputedStyle ...
3 years, 9 months ago (2017-03-23 00:26:40 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2757543002/60001
3 years, 9 months ago (2017-03-23 00:27:40 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/412813)
3 years, 9 months ago (2017-03-23 02:43:11 UTC) #30
esprehn
On mac it says AnimationSimTest.CustomPropertyBaseComputedStyle is failing, what happened that it passed on the other ...
3 years, 8 months ago (2017-03-28 21:46:23 UTC) #31
alancutter (OOO until 2018)
On 2017/03/28 at 21:46:23, esprehn wrote: > On mac it says AnimationSimTest.CustomPropertyBaseComputedStyle is failing, what ...
3 years, 8 months ago (2017-04-03 12:12:03 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2757543002/60001
3 years, 8 months ago (2017-04-03 12:15:44 UTC) #34
commit-bot: I haz the power
3 years, 8 months ago (2017-04-03 14:09:42 UTC) #37
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://chromium.googlesource.com/chromium/src/+/767e438649154d1985a803c93111...

Powered by Google App Engine
This is Rietveld 408576698