Spec is here: https://drafts.csswg.org/css-env-1/
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b5aa6bf1f11d6e94548b10f12a245933c78a0cfb commit b5aa6bf1f11d6e94548b10f12a245933c78a0cfb Author: Becca Hughes <beccahughes@chromium.org> Date: Thu May 31 22:13:01 2018 [CSS Env Vars] Parse env() Parse environment variables using the env() syntax. This does not include resolving them which will be in a subsequent CL. BUG= 847651 Change-Id: I80f502afe53146da6cc58b450b20c6b1c323d354 Reviewed-on: https://chromium-review.googlesource.com/1077589 Commit-Queue: Becca Hughes <beccahughes@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#563396} [modify] https://crrev.com/b5aa6bf1f11d6e94548b10f12a245933c78a0cfb/third_party/blink/renderer/core/BUILD.gn [modify] https://crrev.com/b5aa6bf1f11d6e94548b10f12a245933c78a0cfb/third_party/blink/renderer/core/css/CSSValueKeywords.json5 [modify] https://crrev.com/b5aa6bf1f11d6e94548b10f12a245933c78a0cfb/third_party/blink/renderer/core/css/cssom/css_unparsed_value.cc [modify] https://crrev.com/b5aa6bf1f11d6e94548b10f12a245933c78a0cfb/third_party/blink/renderer/core/css/parser/css_variable_parser.cc [modify] https://crrev.com/b5aa6bf1f11d6e94548b10f12a245933c78a0cfb/third_party/blink/renderer/core/css/resolver/css_variable_resolver.cc [modify] https://crrev.com/b5aa6bf1f11d6e94548b10f12a245933c78a0cfb/third_party/blink/renderer/core/css/resolver/css_variable_resolver.h [add] https://crrev.com/b5aa6bf1f11d6e94548b10f12a245933c78a0cfb/third_party/blink/renderer/core/css/resolver/css_variable_resolver_test.cc [modify] https://crrev.com/b5aa6bf1f11d6e94548b10f12a245933c78a0cfb/third_party/blink/renderer/platform/runtime_enabled_features.json5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e04b630822af76d605349a5da8786cf2aec9a180 commit e04b630822af76d605349a5da8786cf2aec9a180 Author: Becca Hughes <beccahughes@chromium.org> Date: Fri Jun 01 19:47:25 2018 [CSS Env Vars] Resolve & invalidate variables Adds a StyleEnvironmentVariables class to store names and values of env() variables. There is a static per-renderer instance that is the root and stores global variables. There is also a document specific version of this class that is bound to a Document and is a child of the static class. This stores document level variables. Updating a variable will trigger an invalidation on the documents that are using the variable. BUG= 847651 Change-Id: Ia86b52a955c32c5e9d8c0a6953e50cc0958131a7 Reviewed-on: https://chromium-review.googlesource.com/1081491 Reviewed-by: Rune Lillesveen <futhark@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Becca Hughes <beccahughes@chromium.org> Cr-Commit-Position: refs/heads/master@{#563762} [modify] https://crrev.com/e04b630822af76d605349a5da8786cf2aec9a180/third_party/blink/renderer/core/BUILD.gn [modify] https://crrev.com/e04b630822af76d605349a5da8786cf2aec9a180/third_party/blink/renderer/core/css/BUILD.gn [add] https://crrev.com/e04b630822af76d605349a5da8786cf2aec9a180/third_party/blink/renderer/core/css/document_style_environment_variables.cc [add] https://crrev.com/e04b630822af76d605349a5da8786cf2aec9a180/third_party/blink/renderer/core/css/document_style_environment_variables.h [modify] https://crrev.com/e04b630822af76d605349a5da8786cf2aec9a180/third_party/blink/renderer/core/css/resolver/css_variable_resolver.cc [modify] https://crrev.com/e04b630822af76d605349a5da8786cf2aec9a180/third_party/blink/renderer/core/css/resolver/css_variable_resolver_test.cc [modify] https://crrev.com/e04b630822af76d605349a5da8786cf2aec9a180/third_party/blink/renderer/core/css/style_engine.cc [modify] https://crrev.com/e04b630822af76d605349a5da8786cf2aec9a180/third_party/blink/renderer/core/css/style_engine.h [add] https://crrev.com/e04b630822af76d605349a5da8786cf2aec9a180/third_party/blink/renderer/core/css/style_environment_variables.cc [add] https://crrev.com/e04b630822af76d605349a5da8786cf2aec9a180/third_party/blink/renderer/core/css/style_environment_variables.h [add] https://crrev.com/e04b630822af76d605349a5da8786cf2aec9a180/third_party/blink/renderer/core/css/style_environment_variables_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/90e2795754aaf6e82ab27b9403d9367cea4b1936 commit 90e2795754aaf6e82ab27b9403d9367cea4b1936 Author: Mostyn Bramley-Moore <mostynb@vewd.com> Date: Fri Jun 01 22:25:15 2018 [jumbo] avoid redefinition of kTestColor const https://chromium-review.googlesource.com/c/chromium/src/+/1081491 introduced two anonymous-namespaced kTestColor's in two source files that end up in the same jumbo unit. Let's rename one. BUG= 847651 Change-Id: I92840266f9a96619985810c646927dee24353b3f Reviewed-on: https://chromium-review.googlesource.com/1083193 Reviewed-by: Becca Hughes <beccahughes@chromium.org> Reviewed-by: Rune Lillesveen <futhark@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com> Commit-Queue: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#563834} [modify] https://crrev.com/90e2795754aaf6e82ab27b9403d9367cea4b1936/third_party/blink/renderer/core/css/style_environment_variables_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b2491b1fef4a059d63b1541d448317cb0604b9a6 commit b2491b1fef4a059d63b1541d448317cb0604b9a6 Author: Becca Hughes <beccahughes@chromium.org> Date: Sat Jun 02 00:07:44 2018 [CSS Env Vars] Move feature to experimental Move CSS env() to experimental so it can be toggled from about://flags. BUG= 847651 Change-Id: Ic1de147f097bcebe64a6783c6be7217f046f4532 Reviewed-on: https://chromium-review.googlesource.com/1083812 Commit-Queue: Becca Hughes <beccahughes@chromium.org> Commit-Queue: Emil A Eklund <eae@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#563873} [modify] https://crrev.com/b2491b1fef4a059d63b1541d448317cb0604b9a6/third_party/blink/renderer/platform/runtime_enabled_features.json5
There are still some bits to do around user defined properties and feature detection but these are separate bugs. The core implementation is done so I will close this for now.
@Becca please note 855134
Comment 1 by beccahughes@chromium.org
, May 29 2018