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

Issue 98663004: Add support for unprefixed CSS Transforms (Closed)

Created:
6 years, 11 months ago by dstockwell
Modified:
6 years, 9 months ago
CC:
blink-reviews, shans, eae+blinkwatch, yurys+blink_chromium.org, apavlov+blink_chromium.org, adamk+blink_chromium.org, pdr, loislo+blink_chromium.org, Steve Block, rwlbuis, vsevik+blink_chromium.org, caseq+blink_chromium.org, dino_apple.com, alancutter (OOO until 2018), bemjb+rendering_chromium.org, Timothy Loh, aandrey+blink_chromium.org, dglazkov+blink, jchaffraix+rendering, devtools-reviews_chromium.org, Eric Willigers, nessy, rjwright, zoltan1, philipj_slow, lushnikov+blink_chromium.org, pfeldman+blink_chromium.org, eustas+blink_chromium.org, krit, darktears, vcarbune.chromium, alph+blink_chromium.org, gasubic, leviw+renderwatch, blink-layers+watch_chromium.org, paulirish+reviews_chromium.org, f(malita), Stephen Chennney
Visibility:
Public.

Description

Add support for unprefixed CSS Transforms Adds support for the following CSS properties as defined by css-transforms[1]: (Note, these properties are only enabled under the experimental feature set as guarded by the CSSTransformsUnprefixed runtime feature) transform: Unlike -webkit-transform, does not allow the perspective() function to contain numbers without units. Like -webkit-transform and other user agents, the resolved value of transform is not the computed value as currently defined by css-transitions[2]. transform-origin: Unlike -webkit-transform-origin, transform-origin is not a shorthand. New parsing and serialization (mostly matching Gecko) has been introduced. transform-style: Behaves as -webkit-transform-style. perspective: Unlike -webkit-perspective, does not allow numbers without units. perspective-origin: Unlike -webkit-perspective-origin, perspective-origin is not a shorthand. New parsing and serialization (mostly matching Gecko) has been introduced. backface-visibility: Behaves as -webkit-backface-visibility. Special attention is paid in the animation system to avoid running animations and transitions on both the prefixed and unprefixed variants. Transitions now track the specified transition-property such that the end event may reference it. (eg. transition: -webkit-transform; will fire an end event with property == '-webkit-transform'). As transitions operate on changes to computed values, 'transition: all;' only ever starts transitions on the unprefixed variants. Under this feature, support for independent animation/transition of -webkit-transform-origin-* is removed. The X, Y and Z coordinates now always transition together. [1] http://www.w3.org/TR/css3-transforms/ [2] http://lists.w3.org/Archives/Public/www-style/2013Dec/0317.html BUG=154772

Patch Set 1 #

Patch Set 2 : Rebase. #

Patch Set 3 : Rebase. #

Patch Set 4 : Rebase. #

Patch Set 5 : Minor cleanup. #

Patch Set 6 : Add unprefixed transform-perspective and animation support. #

Patch Set 7 : transform tests, non-deprecated parsing for transform: perspective(...) #

Patch Set 8 : transform-origin, perspective-origin tests and fixes #

Patch Set 9 : Parsing, serialization for transform-origin, perspective-origin. #

Patch Set 10 : Update perspective-parsing test. #

Patch Set 11 : backface-visibility #

Patch Set 12 : Transition tests. #

Patch Set 13 : Fix feature, update expectations. #

Patch Set 14 : Rebase. #

Total comments: 14

Patch Set 15 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1210 lines, -112 lines) Patch
A LayoutTests/transforms/perspective-origin-parsing.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +47 lines, -0 lines 0 comments Download
A LayoutTests/transforms/perspective-parsing.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +20 lines, -0 lines 0 comments Download
A LayoutTests/transforms/perspective-parsing-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +15 lines, -0 lines 0 comments Download
A LayoutTests/transforms/resources/parsing-test-helper.js View 1 2 3 4 5 6 7 8 1 chunk +35 lines, -0 lines 0 comments Download
A LayoutTests/transforms/transform-origin-parsing.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +53 lines, -0 lines 0 comments Download
A LayoutTests/transforms/transform-parsing.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +192 lines, -0 lines 0 comments Download
A LayoutTests/transforms/transform-parsing-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +148 lines, -0 lines 0 comments Download
A LayoutTests/transforms/transform-style-parsing.html View 1 2 3 4 5 6 7 8 1 chunk +17 lines, -0 lines 0 comments Download
A LayoutTests/transitions/unprefixed-perspective.html View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +32 lines, -0 lines 0 comments Download
A LayoutTests/transitions/unprefixed-perspective-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +10 lines, -0 lines 0 comments Download
A LayoutTests/transitions/unprefixed-perspective-origin.html View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +35 lines, -0 lines 0 comments Download
A LayoutTests/transitions/unprefixed-perspective-origin-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +15 lines, -0 lines 0 comments Download
A LayoutTests/transitions/unprefixed-transform.html View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +36 lines, -0 lines 0 comments Download
A LayoutTests/transitions/unprefixed-transform-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +20 lines, -0 lines 0 comments Download
A LayoutTests/transitions/unprefixed-transform-origin.html View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +37 lines, -0 lines 0 comments Download
A LayoutTests/transitions/unprefixed-transform-origin-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +19 lines, -0 lines 0 comments Download
M LayoutTests/webexposed/css-properties-as-js-properties-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +6 lines, -0 lines 0 comments Download
M Source/core/animation/ActiveAnimations.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
A + Source/core/animation/AnimatableLengthPoint3D.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +20 lines, -19 lines 0 comments Download
A + Source/core/animation/AnimatableLengthPoint3D.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +15 lines, -19 lines 0 comments Download
M Source/core/animation/AnimatableValue.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +2 lines, -0 lines 0 comments Download
M Source/core/animation/CompositorAnimations.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +3 lines, -3 lines 0 comments Download
M Source/core/animation/CompositorAnimationsTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +7 lines, -7 lines 0 comments Download
M Source/core/animation/css/CSSAnimatableValueFactory.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +19 lines, -2 lines 0 comments Download
M Source/core/animation/css/CSSAnimations.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +3 lines, -1 line 0 comments Download
M Source/core/animation/css/CSSAnimations.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 9 chunks +46 lines, -16 lines 0 comments Download
M Source/core/animation/css/CSSPropertyEquality.cpp View 1 2 3 4 5 6 2 chunks +6 lines, -2 lines 0 comments Download
M Source/core/core.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/css/CSSComputedStyleDeclaration.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 8 chunks +15 lines, -0 lines 0 comments Download
M Source/core/css/CSSMatrix.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +3 lines, -3 lines 0 comments Download
M Source/core/css/CSSProperties.in View 1 2 3 4 5 6 7 8 9 10 3 chunks +4 lines, -0 lines 0 comments Download
M Source/core/css/CSSProperty.cpp View 1 2 3 4 5 6 7 8 9 10 2 chunks +6 lines, -0 lines 0 comments Download
M Source/core/css/CSSPropertyNames.in View 1 2 3 4 5 6 7 8 9 10 3 chunks +6 lines, -0 lines 0 comments Download
Source/core/css/RuntimeCSSEnabled.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +10 lines, -0 lines 0 comments Download
M Source/core/css/StylePropertySerializer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/css/parser/BisonCSSParser-in.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 9 chunks +11 lines, -6 lines 0 comments Download
M Source/core/css/parser/CSSPropertyParser.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +6 lines, -5 lines 0 comments Download
M Source/core/css/parser/CSSPropertyParser.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 10 chunks +108 lines, -18 lines 0 comments Download
M Source/core/css/resolver/AnimatedStyleBuilder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +23 lines, -2 lines 0 comments Download
M Source/core/css/resolver/StyleAdjuster.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +4 lines, -1 line 0 comments Download
M Source/core/css/resolver/StyleBuilderCustom.cpp View 1 2 3 4 5 6 7 8 9 10 7 chunks +123 lines, -2 lines 0 comments Download
M Source/core/frame/UseCounter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +7 lines, -1 line 0 comments Download
M Source/core/rendering/compositing/CompositedLayerMapping.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/compositing/CompositingReasonFinder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +16 lines, -0 lines 0 comments Download
M Source/core/rendering/compositing/RenderLayerCompositor.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/style/RenderStyle.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/svg/SVGElement.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/RuntimeEnabledFeatures.in View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M Source/platform/animation/KeyframeValueList.h View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 13 (0 generated)
dstockwell
Hi Eric, please add other reviewers as appropriate. This change looks big, but the bulk ...
6 years, 9 months ago (2014-03-19 05:53:04 UTC) #1
dstockwell
Hi Eric, please add other reviewers as appropriate. This change looks big, but the bulk ...
6 years, 9 months ago (2014-03-19 05:53:16 UTC) #2
ojan
6 years, 9 months ago (2014-03-20 01:49:24 UTC) #3
eseidel
https://codereview.chromium.org/98663004/diff/340048/Source/core/animation/ActiveAnimations.cpp File Source/core/animation/ActiveAnimations.cpp (right): https://codereview.chromium.org/98663004/diff/340048/Source/core/animation/ActiveAnimations.cpp#newcode46 Source/core/animation/ActiveAnimations.cpp:46: || activeAnimations->hasActiveAnimations(CSSPropertyTransform) I see Transform, but not WebKitTransform here, ...
6 years, 9 months ago (2014-03-20 16:40:56 UTC) #4
Julien - ping for review
This is a big change, maybe we could proceed a few properties at a time ...
6 years, 9 months ago (2014-03-21 03:57:24 UTC) #5
Julien - ping for review
6 years, 9 months ago (2014-03-21 03:57:42 UTC) #6
Rik
There are still issues that need to be resolved before you should land this. For ...
6 years, 9 months ago (2014-03-21 04:48:41 UTC) #7
abarth-chromium
On 2014/03/21 04:48:41, Rik wrote: > There are still issues that need to be resolved ...
6 years, 9 months ago (2014-03-21 12:58:13 UTC) #8
abarth-chromium
On 2014/03/21 03:57:24, Julien Chaffraix - PST wrote: > This function creates a double-standard where ...
6 years, 9 months ago (2014-03-21 12:59:55 UTC) #9
Mike Lawther (Google)
On 2014/03/21 12:59:55, abarth wrote: > On 2014/03/21 03:57:24, Julien Chaffraix - PST wrote: > ...
6 years, 9 months ago (2014-03-21 22:08:41 UTC) #10
eseidel
Can we discuss this over IRC or VC? I'm excited for this change, but daunted ...
6 years, 9 months ago (2014-03-24 17:36:59 UTC) #11
dstockwell
On 2014/03/21 04:48:41, Rik wrote: > There are still issues that need to be resolved ...
6 years, 9 months ago (2014-03-24 21:40:55 UTC) #12
dstockwell
6 years, 9 months ago (2014-03-25 08:40:02 UTC) #13
Closing this issue in favor of splitting this patch up into smaller units.

Powered by Google App Engine
This is Rietveld 408576698