On Jun 26, 2008, at 9:09 PM, Andrew Fedoniouk wrote: > > Daniel Glazman wrote: >> Håkon Wium Lie wrote: >>> Not according to the proposal, section 3.3: >>> >>> The declaration becomes invalid if the variable does not exist. >> Oops, we'll fix that ;-) >> </Daniel> > > Consider the following: > > @variables > { > ThemeColor: #fe8d12; > } > > body > { > color: var(ThemeColor); > } > > div > { > color: inherit; > } > > Question: what would be the value of div::color? > In other words: what value non-existent variable is being evaluated > to? > Some sort of 'undefined' > No.... inherit values in the CSS back end (in the declaration) are their own type. You get an inherit value... variables don't affect this at all. > One more question: > > @variables > { > ThemeSomething: #fe8d12; > } > > body > { > background: var(ThemeSomething) green; > } > > Question is: where var(ThemeSomething) will go? The CSS declaration contains a property/value pair for "background." The shorthand is not expanded. None of this is in the spec., but in my implementation I have a special value that represents the whole unresolved right side, a CSSVariableDependentValue. If you ask for its cssText you'll get the raw expression, e.g., "var(ThemeSomething) green." I don't think there's any need for this class to be exposed... it can just be a CUSTOM value in the CSS OM. > > What will happen if variable will be changed from "#fe8d12" > to, say, "url(yeek.png)" in runtime? > Any calls to a variable remain unchanged in the back end declarations. The medium-specific front end information will update to try to resolve the new value (and when that fails, the property/ value pair will be ignored.) I encourage you to write tests against the WebKit implementation and try it out. You might answer your own questions and/or find bugs that way that would help us refine the implementation. dave (hyatt@apple.com)Received on Friday, 27 June 2008 03:06:45 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:55:07 GMT