New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 612634 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature

Blocking:
issue 465126
issue 616661



Sign in to add a comment

Implement Shorthand CSS Custom Properties with pending substitution values in longhands.

Project Member Reported by andymutton@chromium.org, May 17 2016

Issue description

This will match the spec and make font shorthands work correctly.

http://dev.w3.org/csswg/css-variables/#variables-in-shorthands
 
Blocking: 616661
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!
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 29 2016

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

Status: Fixed (was: Assigned)

Sign in to add a comment