This will match the spec and make font shorthands work correctly. http://dev.w3.org/csswg/css-variables/#variables-in-shorthands
Any update here?
Change up for review at https://codereview.chromium.org/2089593002/ - just had to dedicate some time to resolving merge conflicts and adding 'const' in all the bits it's now needed!
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365 commit 6b045cf7e0fe8f7eb94dc94508d75dbde7e63365 Author: andymutton <andymutton@chromium.org> Date: Wed Jun 29 00:42:45 2016 Expand custom property shorthands to longhand with pending value. Introduces CSSPendingSubstitutionValue for each longhand, containing a reference back to the shorthand property. Changes CSSVariableResolver to just resolve variables, rather than resolving and applying them (a task that StyleBuilderCustom can pretty easily take care of). Introduces a property cache on StyleResolverState to limit the amount of parsing required during resolution. This is somewhat unattractive to me, but there was a lack of better alternatives. BUG= 612634 Review-Url: https://codereview.chromium.org/2089593002 Cr-Commit-Position: refs/heads/master@{#402620} [add] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/LayoutTests/fast/css/variables/longhand-pending-shorthand-substitution.html [modify] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/Source/core/core.gypi [add] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/Source/core/css/CSSPendingSubstitutionValue.cpp [add] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/Source/core/css/CSSPendingSubstitutionValue.h [modify] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/Source/core/css/CSSValue.cpp [modify] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/Source/core/css/CSSValue.h [modify] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/Source/core/css/StylePropertySerializer.cpp [modify] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp [modify] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/Source/core/css/resolver/CSSVariableResolver.cpp [modify] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/Source/core/css/resolver/CSSVariableResolver.h [modify] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp [modify] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/Source/core/css/resolver/StyleResolverState.cpp [modify] https://crrev.com/6b045cf7e0fe8f7eb94dc94508d75dbde7e63365/third_party/WebKit/Source/core/css/resolver/StyleResolverState.h
Comment 1 by timloh@chromium.org
, Jun 2 2016