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

Issue 2105743002: Optimize style recalc when adding @keyframes. (Closed)

Created:
4 years, 5 months ago by rune
Modified:
4 years, 5 months ago
CC:
darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-animation_chromium.org, blink-reviews-css, blink-reviews-style_chromium.org, chromium-reviews, dglazkov+blink, Eric Willigers, rjwright, rwlbuis, shans
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Optimize style recalc when adding @keyframes. We only need to recalculate the elements with running animations unless we tried to find an @keyframes rule and couldn't, for which we fall back to a full document recalc. The motivation for doing this is that the current WIP for issue 567021 shows that we're still getting full document recalcs due to the presence of @keyframes rules. R=dstockwell@chromium.org,alancutter@chromium.org BUG=623911, 567021 Committed: https://crrev.com/9c88a15f059aec65af294b8789a27cc377363da6 Cr-Commit-Position: refs/heads/master@{#403118}

Patch Set 1 #

Total comments: 3

Patch Set 2 : Moved logic out of AnimationTimeline. #

Total comments: 4

Patch Set 3 : Test review issues #

Messages

Total messages: 24 (7 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2105743002/1
4 years, 5 months ago (2016-06-28 10:49:23 UTC) #2
rune
ptal
4 years, 5 months ago (2016-06-28 11:36:35 UTC) #3
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 5 months ago (2016-06-28 12:00:03 UTC) #5
alancutter (OOO until 2018)
https://codereview.chromium.org/2105743002/diff/1/third_party/WebKit/Source/core/animation/AnimationTimeline.cpp File third_party/WebKit/Source/core/animation/AnimationTimeline.cpp (right): https://codereview.chromium.org/2105743002/diff/1/third_party/WebKit/Source/core/animation/AnimationTimeline.cpp#newcode75 third_party/WebKit/Source/core/animation/AnimationTimeline.cpp:75: , m_lastCurrentTimeInternal(0) We should initialise m_hasUnresolvedKeyframesRule here. https://codereview.chromium.org/2105743002/diff/1/third_party/WebKit/Source/core/animation/AnimationTimeline.h File ...
4 years, 5 months ago (2016-06-29 03:41:32 UTC) #6
alancutter (OOO until 2018)
https://codereview.chromium.org/2105743002/diff/1/third_party/WebKit/Source/core/animation/AnimationTimeline.h File third_party/WebKit/Source/core/animation/AnimationTimeline.h (right): https://codereview.chromium.org/2105743002/diff/1/third_party/WebKit/Source/core/animation/AnimationTimeline.h#newcode115 third_party/WebKit/Source/core/animation/AnimationTimeline.h:115: bool m_hasUnresolvedKeyframesRule; On 2016/06/29 at 03:41:32, alancutter wrote: > ...
4 years, 5 months ago (2016-06-29 08:10:21 UTC) #7
rune
On 2016/06/29 08:10:21, alancutter wrote: > https://codereview.chromium.org/2105743002/diff/1/third_party/WebKit/Source/core/animation/AnimationTimeline.h > File third_party/WebKit/Source/core/animation/AnimationTimeline.h (right): > > https://codereview.chromium.org/2105743002/diff/1/third_party/WebKit/Source/core/animation/AnimationTimeline.h#newcode115 > ...
4 years, 5 months ago (2016-06-29 08:29:12 UTC) #8
rune
On 2016/06/29 08:10:21, alancutter wrote: > https://codereview.chromium.org/2105743002/diff/1/third_party/WebKit/Source/core/animation/AnimationTimeline.h > File third_party/WebKit/Source/core/animation/AnimationTimeline.h (right): > > https://codereview.chromium.org/2105743002/diff/1/third_party/WebKit/Source/core/animation/AnimationTimeline.h#newcode115 > ...
4 years, 5 months ago (2016-06-29 09:48:06 UTC) #9
rune
I've moved the logic out of AnimationTimeline. Does this look acceptable?
4 years, 5 months ago (2016-06-29 11:16:46 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2105743002/20001
4 years, 5 months ago (2016-06-29 11:17:47 UTC) #12
alancutter (OOO until 2018)
I'm concerned about the number of references to KeyframeEffect present in Animation.cpp but that's something ...
4 years, 5 months ago (2016-06-29 12:41:53 UTC) #13
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 5 months ago (2016-06-29 14:10:23 UTC) #15
rune
https://codereview.chromium.org/2105743002/diff/20001/third_party/WebKit/LayoutTests/animations/add-keyframes-recalc.html File third_party/WebKit/LayoutTests/animations/add-keyframes-recalc.html (right): https://codereview.chromium.org/2105743002/diff/20001/third_party/WebKit/LayoutTests/animations/add-keyframes-recalc.html#newcode39 third_party/WebKit/LayoutTests/animations/add-keyframes-recalc.html:39: } On 2016/06/29 12:41:53, alancutter wrote: > We should ...
4 years, 5 months ago (2016-06-29 21:09:46 UTC) #16
rune
On 2016/06/29 12:41:53, alancutter wrote: > I'm concerned about the number of references to KeyframeEffect ...
4 years, 5 months ago (2016-06-29 21:14:54 UTC) #17
dstockwell
lgtm
4 years, 5 months ago (2016-06-30 00:46:59 UTC) #18
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/2105743002/40001
4 years, 5 months ago (2016-06-30 05:31:46 UTC) #21
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 5 months ago (2016-06-30 08:10:31 UTC) #22
commit-bot: I haz the power
4 years, 5 months ago (2016-06-30 08:12:17 UTC) #24
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/9c88a15f059aec65af294b8789a27cc377363da6
Cr-Commit-Position: refs/heads/master@{#403118}

Powered by Google App Engine
This is Rietveld 408576698