Hi all, I have had a need for a literal() function to accept and replace some values from @def. To be specific, I needed to make some transparent PNGs working in IE6, which is just not doable withing CssResource at this time.
The approach described here: http://osdir.com/ml/GoogleWebToolkitContributors/2009-03/msg00461.html that is using literal()value()literal() in order to get this: .some { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src='http://some/url.png',sizingMethod='scale'); } apparently literal()value()literal() approach produces extera whitespace around value(), which makes IE6 stop parsing rest of the stylesheet. I came with solution, which would allow you to use values defined with @def or @url, inside IdentValue(), that means in literal() function as well. To make use of it, you would write your CSS like this: .some { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src='{tabShadowUrl}',sizingMethod='scale'); } the values in curly braces gets replaced by value of @def/@url if present. My patch only works for one value in a property. If this seems any useful, and I hope it is, since it is the only way to get transparent PNGs (common use case) working in CssResource & IE6, I would welcome any suggestion on how to improve my hackish code, and support multiple replacements in a single property. Thank you, the patch is in the files, named: subref_literal_replacements.patch
-- http://groups.google.com/group/Google-Web-Toolkit-Contributors
