W3C home > Mailing lists > Public > www-style@w3.org > June 2008

Re: WebKit now supports CSS Variables

From: Andrew Fedoniouk <news@terrainformatica.com>
Date: Tue, 24 Jun 2008 15:44:30 -0700
Message-ID: <486178CE.2020609@terrainformatica.com>
To: David Hyatt <hyatt@apple.com>
CC: Daniel Glazman <daniel.glazman@disruptive-innovations.com>, Håkon Wium Lie <howcome@opera.com>, Maciej Stachowiak <mjs@apple.com>, www-style list <www-style@w3.org>

David Hyatt wrote:
>
> On Jun 24, 2008, at 5:00 PM, Andrew Fedoniouk wrote:
>
>>
>> Daniel Glazman wrote:
>>>
>>> No, seriously, nobody here thinks of making the parser extensible by
>>> variables declarations. So the rules above _are_ all valid and the only
>>> option is value resolution after parsing. If you don't do that, then
>>> you have constants, not variables. Because you will never be able to
>>> assign again the variable's value since it's evaluated at parse time !
>>>
>> Daniel, could you explain why do you need to "assign again the 
>> variable's value"?
>> What are use cases? If there are any then what stops you of updating 
>> styles
>> in current implementations by using JS?
>>
>> @const and @var handling have significantly different processing models.
>> @const handling happens at parse time and @var is getting evaluated 
>> at runtime.
>>
>> That is significant shift. E.g. 4bits are required for representing 
>> most of
>> enumeration attributes in current CSS. @const is not changing this 
>> requirement.
>> And @var handling requires significantly more - in memory and CPU 
>> senses.
>
> No it doesn't.
>
> The back end CSS declaration simply holds a chained list of terms 
> constituting the unresolved expression.  The medium-specific front end 
> can hold a cache from unresolved declaration to the resolved 
> medium-specific version of the declaration.  The build-up of the 
> medium-specific cache can be done lazily.  In an absolute worst-case 
> scenario I suppose you would double the memory consumed by 
> declarations, but these comprise an utterly insignificant portion of a 
> page's overall memory use.
Particular mileage may vary of course. 
The only thing that is known: current CSS uses enumeration attributes 
that require 2-5bits for storage.
Handling is trivial as with any other enumerations. CSS Varaibles simply 
require storage to be increased at least
to the size of pointer (32bits usually) plus additional handling of 
linked lists with all goodies like cache misses, etc.
Again that is not about particular implementations but rather about 
minimal requirements.
May I ask this question again? For the sake of what? How current JS 
scripts will benefit from this?

-- 
Andrew Fedoniouk.

http://terrainformatica.com
Received on Tuesday, 24 June 2008 22:45:21 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:55:07 GMT