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

Issue 71083002: Web Animations: Use legacy cascade behaviour and the MatchedPropertiesCache (Closed)

Created:
7 years, 1 month ago by Timothy Loh
Modified:
7 years, 1 month ago
CC:
blink-reviews, shans, rjwright, alancutter (OOO until 2018), Mike Lawther (Google), dglazkov+blink, dstockwell, Timothy Loh, apavlov+blink_chromium.org, darktears, Steve Block, dino_apple.com, Eric Willigers, ojan, esprehn
Base URL:
https://chromium.googlesource.com/chromium/blink@master
Visibility:
Public.

Description

Web Animations: Use legacy cascade behaviour and the MatchedPropertiesCache This patch changes the behaviour of the Web Animations backed animations and transitions implementation to apply animations / transitions at the last step of the cascade. This is the same behaviour as the legacy code but not correct according to the spec[1]. The current behaviour is a bit strange, it attempts to follow the spec but property dependencies (such as using ems) do not work correctly as low priority properties will only be re-applied if they are !important and we are running animations on a low priority property. As a result of moving animations / transitions to the end of the cascade we can easily use the MatchedPropertiesCache for all running animations and transitions. Once we correct the cascade order we'll need to disable the cache in several cases. [1] http://www.w3.org/TR/css3-cascade/#cascading BUG=232273, 314952 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=161985

Patch Set 1 #

Total comments: 9

Patch Set 2 : address comments #

Patch Set 3 : rebased #

Patch Set 4 : s_e\(lement->hasActiveAnimations\)_animatingE\1_ #

Total comments: 7

Patch Set 5 : address more comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+33 lines, -51 lines) Patch
D LayoutTests/virtual/web-animations-css/animations/cascade-important-expected.txt View 1 chunk +0 lines, -4 lines 0 comments Download
M Source/core/css/resolver/MatchedPropertiesCache.cpp View 1 chunk +0 lines, -6 lines 0 comments Download
M Source/core/css/resolver/StyleResolver.h View 1 2 3 4 2 chunks +2 lines, -1 line 0 comments Download
M Source/core/css/resolver/StyleResolver.cpp View 1 2 3 4 5 chunks +31 lines, -40 lines 0 comments Download

Messages

Total messages: 15 (0 generated)
Timothy Loh
7 years, 1 month ago (2013-11-13 02:47:35 UTC) #1
eseidel
7 years, 1 month ago (2013-11-13 07:29:44 UTC) #2
esprehn
This needs a test, it seems you're fixing something related to ems? https://codereview.chromium.org/71083002/diff/1/LayoutTests/virtual/web-animations-css/animations/cascade-important-expected.txt File LayoutTests/virtual/web-animations-css/animations/cascade-important-expected.txt ...
7 years, 1 month ago (2013-11-13 07:37:42 UTC) #3
Timothy Loh
This patch won't fix behaviour in any case, it actually makes things less correct. We ...
7 years, 1 month ago (2013-11-13 23:12:14 UTC) #4
dstockwell
https://codereview.chromium.org/71083002/diff/1/LayoutTests/virtual/web-animations-css/animations/cascade-important-expected.txt File LayoutTests/virtual/web-animations-css/animations/cascade-important-expected.txt (left): https://codereview.chromium.org/71083002/diff/1/LayoutTests/virtual/web-animations-css/animations/cascade-important-expected.txt#oldcode2 LayoutTests/virtual/web-animations-css/animations/cascade-important-expected.txt:2: PASS - "background-color" property for "test" element at 0.25s ...
7 years, 1 month ago (2013-11-13 23:19:50 UTC) #5
dstockwell
https://codereview.chromium.org/71083002/diff/1/Source/core/css/resolver/StyleResolver.cpp File Source/core/css/resolver/StyleResolver.cpp (right): https://codereview.chromium.org/71083002/diff/1/Source/core/css/resolver/StyleResolver.cpp#newcode1198 Source/core/css/resolver/StyleResolver.cpp:1198: applyAnimatedOnly = element->hasActiveAnimations() Would it be cleaner to pull ...
7 years, 1 month ago (2013-11-13 23:37:19 UTC) #6
Steve Block
https://codereview.chromium.org/71083002/diff/1/Source/core/css/resolver/StyleResolver.cpp File Source/core/css/resolver/StyleResolver.cpp (right): https://codereview.chromium.org/71083002/diff/1/Source/core/css/resolver/StyleResolver.cpp#newcode1197 Source/core/css/resolver/StyleResolver.cpp:1197: if (RuntimeEnabledFeatures::webAnimationsEnabled()) { This should probably be WebAnimationsCSSEnabled() https://codereview.chromium.org/71083002/diff/1/Source/core/css/resolver/StyleResolver.cpp#newcode1198 ...
7 years, 1 month ago (2013-11-14 02:17:16 UTC) #7
dstockwell
https://codereview.chromium.org/71083002/diff/1/Source/core/css/resolver/StyleResolver.cpp File Source/core/css/resolver/StyleResolver.cpp (right): https://codereview.chromium.org/71083002/diff/1/Source/core/css/resolver/StyleResolver.cpp#newcode1197 Source/core/css/resolver/StyleResolver.cpp:1197: if (RuntimeEnabledFeatures::webAnimationsEnabled()) { On 2013/11/14 02:17:18, Steve Block wrote: ...
7 years, 1 month ago (2013-11-14 02:59:48 UTC) #8
Timothy Loh
https://codereview.chromium.org/71083002/diff/1/Source/core/css/resolver/StyleResolver.cpp File Source/core/css/resolver/StyleResolver.cpp (right): https://codereview.chromium.org/71083002/diff/1/Source/core/css/resolver/StyleResolver.cpp#newcode1197 Source/core/css/resolver/StyleResolver.cpp:1197: if (RuntimeEnabledFeatures::webAnimationsEnabled()) { On 2013/11/14 02:59:49, dstockwell wrote: > ...
7 years, 1 month ago (2013-11-14 03:06:31 UTC) #9
Steve Block
lgtm https://codereview.chromium.org/71083002/diff/210001/Source/core/css/resolver/StyleResolver.cpp File Source/core/css/resolver/StyleResolver.cpp (right): https://codereview.chromium.org/71083002/diff/210001/Source/core/css/resolver/StyleResolver.cpp#newcode1060 Source/core/css/resolver/StyleResolver.cpp:1060: if (state.animationUpdate()) { Early-out? https://codereview.chromium.org/71083002/diff/210001/Source/core/css/resolver/StyleResolver.cpp#newcode1353 Source/core/css/resolver/StyleResolver.cpp:1353: ASSERT(!state.fontBuilder().fontDirty()); Did ...
7 years, 1 month ago (2013-11-14 03:31:18 UTC) #10
Timothy Loh
https://codereview.chromium.org/71083002/diff/210001/Source/core/css/resolver/StyleResolver.cpp File Source/core/css/resolver/StyleResolver.cpp (right): https://codereview.chromium.org/71083002/diff/210001/Source/core/css/resolver/StyleResolver.cpp#newcode1060 Source/core/css/resolver/StyleResolver.cpp:1060: if (state.animationUpdate()) { On 2013/11/14 03:31:18, Steve Block wrote: ...
7 years, 1 month ago (2013-11-14 03:54:01 UTC) #11
Steve Block
https://codereview.chromium.org/71083002/diff/210001/Source/core/css/resolver/StyleResolver.cpp File Source/core/css/resolver/StyleResolver.cpp (right): https://codereview.chromium.org/71083002/diff/210001/Source/core/css/resolver/StyleResolver.cpp#newcode1353 Source/core/css/resolver/StyleResolver.cpp:1353: ASSERT(!state.fontBuilder().fontDirty()); OK, makes sense
7 years, 1 month ago (2013-11-14 04:07:32 UTC) #12
dstockwell
lgtm
7 years, 1 month ago (2013-11-14 04:19:26 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/timloh@chromium.org/71083002/250001
7 years, 1 month ago (2013-11-14 04:21:40 UTC) #14
commit-bot: I haz the power
7 years, 1 month ago (2013-11-14 05:21:37 UTC) #15
Message was sent while issue was closed.
Change committed as 161985

Powered by Google App Engine
This is Rietveld 408576698