<div dir="ltr"><span style="color:rgb(80,0,80)">On Sun, Apr 7, 2013 at 4:17 PM, Jon Rimmer </span><span dir="ltr" style="color:rgb(80,0,80)">&lt;<a href="mailto:jon.rimmer@gmail.com" target="_blank">jon.rimmer@gmail.com</a>&gt;</span><span style="color:rgb(80,0,80)"> wrote:</span><br>

<div class="gmail_quote"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>The debate over the syntax of &quot;CSS variables&quot; is long and storied, and is marked by misused terminology and misunderstanding in general. Most objections from developers stem from a preference for a $foo style syntax, as used in the SASS preprocessor. However, SASS&#39;s kind of &quot;variables&quot; are not really variables, they are preprocessor defines. &quot;CSS variables&quot; as implemented by this feature are also not variables either, nor do they match what SASS does. They as better referred to custom properties, and indeed, the full title of the specification has already changed to reflect this[1]. The $foo syntax is not a good fit for custom properties, but is being reserved for other, variable-esque things, that might be added to CSS in the future[2].</div>



<div><br></div><div>CSS Custom Properties are an important feature. They support the basic use case of defining some value, like a colour, in a single location, then using it in others. Unlike preprocessor defines however, they participate in the cascade, meaning a value can easily be overridden for a section of a page if required. They also play an important role in Web Components, where they provide a method for encapsulated widgets to provide a styling interface to their users[3]. Furthermore, it&#39;s also possible to imagine CSS libraries like Bootstrap using custom properties to allow them to be configured without having to rebuild the entire library with the preprocessor, or as a way to provide custom styling information that can be consumed by JavaScript UI libraries such as jQuery Mobile (in that sense, they are more analogous to HTML&#39;s data-* attributes than variables).</div>



<div><br></div><div>As well as being in Chrome, custom property support is also being developed by Mozilla[4]. It is an actively edited W3C spec that is expected to reach Last Call status soon[5]. Given that situation, removing it from WebKit seems a very negative step. If it is removed and remains unimplemented in Safari and other WebKit browsers, then they will continue to fall behind competing layout engines. If it is removed now and must be resurrected at a later date, then the total cost is likely to be greater than making the effort to turn it on and take ownership of it *now*.</div>


</div></blockquote><div><br></div></div><div>I definitely see a value in keeping the feature.  However, there is a practical problem of someone having to maintain the code.  Now that all contributors who have previously worked on this feature has left to work on Blink, I don&#39;t see who can be maintaining this code in WebKit.  Are you volunteering to maintain the code?  If not, then who is?<br>


<br>Not having this feature will be unfortunate and we might need to add it back in the future, but that&#39;s much better than leaving unmaintained code in our codebase.</div><div><br></div><div>- R. Niwa</div>
<div><br></div></div></div></div>
</div><br></div>