New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 55 users
Status: Fixed
Owner:
Last visit 16 days ago
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature


Sign in to add a comment
[META] Implement CSS Custom Properties (CSS Variables)
Project Member Reported by alancutter@chromium.org, Mar 8 2015 Back to list
Tracking bug for implementing the CSS Custom Properties spec: http://dev.w3.org/csswg/css-variables/

 
Comment 1 by timloh@chromium.org, Mar 12 2015
Status: Started
I hear Levi has started on this :O

Intent to implement: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/vZ0am_AdxxE
In that case, could anyone update the status accordingly? It's currently still being tagged as "no active development" over here: https://www.chromestatus.com/features/6401356696911872
Comment 3 by tkent@chromium.org, Apr 24 2015
Cc: ashej...@chromium.org
Issue 479177 has been merged into this issue.
Project Member Comment 4 by bugdroid1@chromium.org, Nov 2 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9c1158564a3da22aff4d6519ca876492d8c74105

commit 9c1158564a3da22aff4d6519ca876492d8c74105
Author: leviw <leviw@chromium.org>
Date: Mon Nov 02 22:20:53 2015

CSS Custom Properties (Variables)

Support for CSS Custom Properties level 1: https://drafts.csswg.org/css-variables/

When enabled, the CSS parser falls back on checking for variable references
instead of just clearing for most parser errors (see
CSSParserValueList::checkForVariableReferencesOrDestroyAndClear). In these
cases, CSS parser tokens are copied into a CSSVariableData object which
also copies and concatenates the strings referenced by the tokens into a
single backing string.

CSSVariableParser handles validating the token ranges pass the relatively
permissive parsing specifications for custom properties.

An additional applyMatchedProperties phase is added to handle resolving
variables before high/low priority properties so they can use the
resolved values from variable references. This should be gated on the
presence of variable references in the document.

CSSVariableResolver handles validating and resolving variable references
in both custom and standard properties.

Notable pieces left to implement:
- support pending-substitution values for shorthands.
- support for custom properties in the CSSOM (not specced).
- optimize style recalc for changing properties.

The included tests (save one timloh suggested) are imported from Mozilla's
test suite.

Intent to implement: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/vZ0am_AdxxE/9MD8cDitXxMJ

BUG=465126

Review URL: https://codereview.chromium.org/1192983003

Cr-Commit-Position: refs/heads/master@{#357448}

[modify] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/TestExpectations
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/fast/css/variables/reference-with-no-closing-parenthesis-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/fast/css/variables/reference-with-no-closing-parenthesis.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/support/ahem.css
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/support/external-variable-declaration.css
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/support/external-variable-font-face.css
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/support/external-variable-reference.css
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/support/external-variable-supports.css
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-01-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-01.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-02-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-02.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-03-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-03.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-04-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-04.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-05-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-05.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-06-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-06.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-07-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-07.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-08-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-08.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-09-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-09.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-10-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-10.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-11-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-11.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-12-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-12.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-13-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-13.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-14-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-14.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-15-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-15.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-16-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-16.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-17-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-17.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-18-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-18.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-19-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-19.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-20-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-20.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-21-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-21.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-22-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-22.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-23-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-23.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-24-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-24.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-25-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-25.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-26-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-26.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-28-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-28.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-29-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-29.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-30-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-30.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-31-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-31.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-32-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-32.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-33-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-33.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-34-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-34.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-35-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-35.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-36-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-36.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-37-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-37.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-38-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-38.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-39-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-39.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-40-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-40.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-41-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-41.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-42-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-42.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-43-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-43.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-44-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-44.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-45-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-45.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-46-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-46.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-47-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-47.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-48-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-48.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-49-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-49.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-50-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-50.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-51-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-51.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-52-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-52.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-53-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-53.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-54-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-54.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-55-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-55.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-56-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-56.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-57-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-57.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-58-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-58.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-59-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-59.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-60-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-60.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-declaration-01-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-declaration-01.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-font-face-01-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-font-face-01.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-reference-01-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-reference-01.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-supports-01-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-supports-01.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-font-face-01-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-font-face-01.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-font-face-02-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-font-face-02.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-01-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-01.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-02-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-02.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-03-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-03.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-04-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-04.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-05-expected.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-05.html
[add] http://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105/third_party/
Project Member Comment 5 by bugdroid1@chromium.org, Nov 4 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6a5f6be53895f140c03b47b1703c23de24c1ed5f

commit 6a5f6be53895f140c03b47b1703c23de24c1ed5f
Author: leviw <leviw@chromium.org>
Date: Wed Nov 04 03:32:56 2015

CSS Custom Properties (Variables)

Support for CSS Custom Properties level 1: https://drafts.csswg.org/css-variables/

When enabled, the CSS parser falls back on checking for variable references
instead of just clearing for most parser errors (see
CSSParserValueList::checkForVariableReferencesOrDestroyAndClear). In these
cases, CSS parser tokens are copied into a CSSVariableData object which
also copies and concatenates the strings referenced by the tokens into a
single backing string.

CSSVariableParser handles validating the token ranges pass the relatively
permissive parsing specifications for custom properties.

An additional applyMatchedProperties phase is added to handle resolving
variables before high/low priority properties so they can use the
resolved values from variable references. This should be gated on the
presence of variable references in the document.

CSSVariableResolver handles validating and resolving variable references
in both custom and standard properties.

Notable pieces left to implement:
- support pending-substitution values for shorthands.
- support for custom properties in the CSSOM (not specced).
- optimize style recalc for changing properties.

The included tests (save one timloh suggested) are imported from Mozilla's
test suite.

Intent to implement: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/vZ0am_AdxxE/9MD8cDitXxMJ

BUG=465126

Committed: https://crrev.com/9c1158564a3da22aff4d6519ca876492d8c74105
Cr-Commit-Position: refs/heads/master@{#357448}

Review URL: https://codereview.chromium.org/1192983003

Cr-Commit-Position: refs/heads/master@{#357748}

[modify] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/TestExpectations
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/fast/css/variables/reference-with-no-closing-parenthesis-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/fast/css/variables/reference-with-no-closing-parenthesis.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/support/ahem.css
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/support/external-variable-declaration.css
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/support/external-variable-font-face.css
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/support/external-variable-reference.css
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/support/external-variable-supports.css
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-01-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-01.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-02-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-02.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-03-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-03.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-04-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-04.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-05-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-05.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-06-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-06.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-07-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-07.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-08-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-08.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-09-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-09.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-10-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-10.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-11-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-11.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-12-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-12.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-13-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-13.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-14-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-14.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-15-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-15.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-16-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-16.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-17-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-17.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-18-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-18.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-19-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-19.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-20-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-20.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-21-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-21.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-22-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-22.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-23-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-23.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-24-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-24.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-25-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-25.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-26-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-26.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-28-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-28.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-29-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-29.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-30-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-30.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-31-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-31.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-32-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-32.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-33-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-33.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-34-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-34.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-35-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-35.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-36-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-36.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-37-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-37.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-38-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-38.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-39-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-39.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-40-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-40.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-41-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-41.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-42-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-42.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-43-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-43.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-44-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-44.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-45-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-45.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-46-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-46.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-47-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-47.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-48-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-48.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-49-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-49.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-50-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-50.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-51-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-51.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-52-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-52.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-53-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-53.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-54-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-54.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-55-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-55.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-56-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-56.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-57-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-57.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-58-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-58.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-59-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-59.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-60-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-declaration-60.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-declaration-01-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-declaration-01.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-font-face-01-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-font-face-01.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-reference-01-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-reference-01.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-supports-01-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-external-supports-01.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-font-face-01-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-font-face-01.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-font-face-02-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-font-face-02.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-01-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-01.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-02-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-02.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-03-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-03.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-04-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-04.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/gecko/variables/variable-reference-05-expected.html
[add] http://crrev.com/6a5f6be53895f140c03b47b1703c23de24c1ed5f/third_party/WebKit/LayoutTests/imported/
This doesn't yet seem to work with `style.setProperty()`, is that being tracked anywhere?

Here's an example that works in Firefox but not in Chrome Canary:
https://jsbin.com/giqacedubo/1/edit?css,js,output
Comment 7 by le...@chromium.org, Nov 4 2015
Blockedon: chromium:551553
Comment 8 by le...@chromium.org, Nov 4 2015
Filed 551553
Labels: M-49
Project Member Comment 10 by bugdroid1@chromium.org, Nov 5 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c270f07d9c73788ab9785a67061f2e8b7d232dc4

commit c270f07d9c73788ab9785a67061f2e8b7d232dc4
Author: sigbjornf <sigbjornf@opera.com>
Date: Wed Nov 04 07:28:33 2015

Oilpan: fix build after r357748.

TBR=oilpan-reviews
BUG=465126
NOTRY=true

Review URL: https://codereview.chromium.org/1422463008

Cr-Commit-Position: refs/heads/master@{#357776}

[modify] http://crrev.com/c270f07d9c73788ab9785a67061f2e8b7d232dc4/third_party/WebKit/Source/core/css/CSSCustomPropertyDeclaration.cpp
[modify] http://crrev.com/c270f07d9c73788ab9785a67061f2e8b7d232dc4/third_party/WebKit/Source/core/css/CSSVariableReferenceValue.cpp

Comment 11 by shans@chromium.org, Nov 26 2015
Cc: le...@chromium.org
Owner: shans@chromium.org
Project Member Comment 12 by bugdroid1@chromium.org, Nov 26 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7ec1eb82ba5261e1f1eb9df4b202c67cbde1f690

commit 7ec1eb82ba5261e1f1eb9df4b202c67cbde1f690
Author: shans <shans@chromium.org>
Date: Thu Nov 26 11:04:15 2015

Switch CSSVariableResolver to use CSSParserTokenRange internally.

BUG=465126

Review URL: https://codereview.chromium.org/1477093002

Cr-Commit-Position: refs/heads/master@{#361868}

[modify] http://crrev.com/7ec1eb82ba5261e1f1eb9df4b202c67cbde1f690/third_party/WebKit/Source/core/css/resolver/CSSVariableResolver.cpp
[modify] http://crrev.com/7ec1eb82ba5261e1f1eb9df4b202c67cbde1f690/third_party/WebKit/Source/core/css/resolver/CSSVariableResolver.h

Project Member Comment 13 by bugdroid1@chromium.org, Dec 3 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e9e72810a4bd7900a69f86f40884ddb310189a92

commit e9e72810a4bd7900a69f86f40884ddb310189a92
Author: shans <shans@chromium.org>
Date: Thu Dec 03 05:16:46 2015

Store custom property backing strings in resolved CSSVariableData objects.

This is a defensive change - it seems unlikely that CSS Variables
can persist beyond the style sheets that create them, but it's also
easy and cheap to ensure that resolved CSS variables pin their
backing strings.

It's worth noting that resolved CSS Variables can *only* reference
either their own string, or strings from other *already resolved*
variables.

BUG=465126

Review URL: https://codereview.chromium.org/1498713002

Cr-Commit-Position: refs/heads/master@{#362913}

[modify] http://crrev.com/e9e72810a4bd7900a69f86f40884ddb310189a92/third_party/WebKit/Source/core/css/CSSVariableData.h
[modify] http://crrev.com/e9e72810a4bd7900a69f86f40884ddb310189a92/third_party/WebKit/Source/core/css/resolver/CSSVariableResolver.cpp

> it seems unlikely that CSS Variables can persist beyond the style sheets that create them

Why would you say that? I think interoperability between different stylesheets, libraries, CSS and JavaScript is one of the primary selling points of custom properties.

Unless I misunderstand what you're staying.
Yes, I was making a technical comment on the lifecycle of memory associated with particular custom property instances, not a philosophical comment on the potential uses of them.
Comment 16 by aga...@gmail.com, Dec 6 2015
Hi everybody. I tested the CSS-variables on my Chrome 49.0.2583.0 canary (64-bit) and found a bug in http://jsfiddle.net/Serator/bv50s6g5/2/.

`box-shadow: 0 100vh var(--green) inset;` is not working properly.
Great, file an issue about it.
Project Member Comment 18 by bugdroid1@chromium.org, Dec 8 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/690e60bfadaf3a92dd12e47b00c9b018a93506f4

commit 690e60bfadaf3a92dd12e47b00c9b018a93506f4
Author: shans <shans@chromium.org>
Date: Tue Dec 08 00:50:00 2015

Expose custom property values to getComputedStyle.

BUG=465126

Review URL: https://codereview.chromium.org/1501313002

Cr-Commit-Position: refs/heads/master@{#363641}

[add] http://crrev.com/690e60bfadaf3a92dd12e47b00c9b018a93506f4/third_party/WebKit/LayoutTests/fast/css/variables/read-from-computed-style.html
[modify] http://crrev.com/690e60bfadaf3a92dd12e47b00c9b018a93506f4/third_party/WebKit/Source/core/css/CSSComputedStyleDeclaration.cpp
[modify] http://crrev.com/690e60bfadaf3a92dd12e47b00c9b018a93506f4/third_party/WebKit/Source/core/css/CSSComputedStyleDeclaration.h
[modify] http://crrev.com/690e60bfadaf3a92dd12e47b00c9b018a93506f4/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] http://crrev.com/690e60bfadaf3a92dd12e47b00c9b018a93506f4/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.h

Project Member Comment 19 by bugdroid1@chromium.org, Dec 11 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f9d34ee27d83c1eff117adfa5c1e92142c0f50c

commit 5f9d34ee27d83c1eff117adfa5c1e92142c0f50c
Author: shans <shans@chromium.org>
Date: Fri Dec 11 09:03:54 2015

Ensure we don't crash when asking for variables that don't exist from the computed style.

BUG=465126

Review URL: https://codereview.chromium.org/1510963002

Cr-Commit-Position: refs/heads/master@{#364650}

[modify] http://crrev.com/5f9d34ee27d83c1eff117adfa5c1e92142c0f50c/third_party/WebKit/LayoutTests/fast/css/variables/read-from-computed-style.html
[modify] http://crrev.com/5f9d34ee27d83c1eff117adfa5c1e92142c0f50c/third_party/WebKit/Source/core/css/CSSComputedStyleDeclaration.cpp
[modify] http://crrev.com/5f9d34ee27d83c1eff117adfa5c1e92142c0f50c/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp

Comment 20 by acte...@gmail.com, Dec 13 2015
I found bug: not working CSS3 animation with custom properties (I mean animation of --cproperty: Npx; ).
Comment 21 by shans@chromium.org, Dec 13 2015
1. That is not a bug - custom properties in level 1 are token streams, not typed values, so animation is not possible (as per the specification).

2. When you do find bugs, please file them separately and block this tracking bug on them, rather than appending them here directly.
Comment 22 by acte...@gmail.com, Dec 13 2015
I thinked that custom properties can be animated. :(
Sad. 

I wanted separate animations for multiple CSS backgrounds. 
Comment 23 by phistuck@gmail.com, Dec 13 2015
@shans -
Since non project members cannot set the "blocked on" value, they better just add a comment here with the new issue number for now, at least until status of this issue is "Fixed".
Comment 24 by samli@chromium.org, Dec 15 2015
Blockedon: chromium:569812
Project Member Comment 25 by bugdroid1@chromium.org, Dec 16 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2f99aca8d8b529627da91711101e21c842435c0f

commit 2f99aca8d8b529627da91711101e21c842435c0f
Author: shans <shans@chromium.org>
Date: Wed Dec 16 07:10:49 2015

Apply inherited / initial value when custom property reference fails to
resolve / parse.

This fixes a couple of the imported Firefox bugs that test falling back
on the inherited value when a custom property reference becomes invalid
at computation time. We were previously falling back to property values
from other rules instead.

BUG=465126

Review URL: https://codereview.chromium.org/1523243003

Cr-Commit-Position: refs/heads/master@{#365494}

[modify] http://crrev.com/2f99aca8d8b529627da91711101e21c842435c0f/third_party/WebKit/LayoutTests/TestExpectations
[modify] http://crrev.com/2f99aca8d8b529627da91711101e21c842435c0f/third_party/WebKit/Source/core/css/resolver/CSSVariableResolver.cpp

I filed this issue relating to custom properties failing when defined in a specific order:

https://code.google.com/p/chromium/issues/detail?id=570316

Not sure how to set this as 'blocking' on the bug tracker. Help appreciated :)
Blockedon: chromium:570316
Comment 28 Deleted
Comment 29 by acte...@gmail.com, Dec 16 2015
Will be possible in future make Bitmap as CSS variable of type "image"? 
I thinked about make support for "ImageBitmap" in CSS. 

Fixed question. 
Blockedon: chromium:570164
Project Member Comment 31 by bugdroid1@chromium.org, Dec 18 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2a9ce42ea227c59df51704d988ff887e2f6011e3

commit 2a9ce42ea227c59df51704d988ff887e2f6011e3
Author: shans <shans@chromium.org>
Date: Fri Dec 18 01:25:38 2015

Show custom properties in the computed style pane of the inspector.

BUG=465126

Review URL: https://codereview.chromium.org/1521323002

Cr-Commit-Position: refs/heads/master@{#365964}

[modify] http://crrev.com/2a9ce42ea227c59df51704d988ff887e2f6011e3/third_party/WebKit/LayoutTests/http/tests/inspector/elements-test.js
[add] http://crrev.com/2a9ce42ea227c59df51704d988ff887e2f6011e3/third_party/WebKit/LayoutTests/inspector/elements/styles-3/styles-variables-expected.txt
[add] http://crrev.com/2a9ce42ea227c59df51704d988ff887e2f6011e3/third_party/WebKit/LayoutTests/inspector/elements/styles-3/styles-variables.html
[modify] http://crrev.com/2a9ce42ea227c59df51704d988ff887e2f6011e3/third_party/WebKit/Source/core/css/CSSComputedStyleDeclaration.cpp
[modify] http://crrev.com/2a9ce42ea227c59df51704d988ff887e2f6011e3/third_party/WebKit/Source/core/css/CSSComputedStyleDeclaration.h
[modify] http://crrev.com/2a9ce42ea227c59df51704d988ff887e2f6011e3/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] http://crrev.com/2a9ce42ea227c59df51704d988ff887e2f6011e3/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.h
[modify] http://crrev.com/2a9ce42ea227c59df51704d988ff887e2f6011e3/third_party/WebKit/Source/core/inspector/InspectorCSSAgent.cpp
[modify] http://crrev.com/2a9ce42ea227c59df51704d988ff887e2f6011e3/third_party/WebKit/Source/core/style/StyleVariableData.h

Blocking: chromium:582836
Chrome 49 (& latest Opera) can't correctly interpret the property below although Firefox is able to.

`transform-origin: 50% 50% var(--radius);`
Comment 34 by phistuck@gmail.com, Feb 23 2016
Can you file a new issue for that? You can comment back here with the issue number.
Comment 35 Deleted
Sure, Check out the CodePen example in it

https://bugs.chromium.org/p/chromium/issues/detail?id=589303
CSS Custom Property value for background-color isn't applied to dialog::backdrop pseudo element.

See: Issue 594096
Blockedon: 594096
Blockedon: 612634
Status: Fixed
Sign in to add a comment