Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.1.0-core
-
None
Description
With selector of kind X[attr = "foo.gif"] is used and skin compression is on, the generated css is malformed.
The bug is that attribute set containing a "dot" in the syntax is not rendering correctly in the generated css when skin compression is on.
The cause is that we look for "." to determine the beginning of a new selector and add that to be compressed. So when attribute set contains something like img[src*="/foo/bar/img.gif"], the code thinks that ".gif"]" part is a selector.
The solution is to skip the attribute set which is mentioned in between square braces when processing selectors for compression.
I also observed that the existing public method CSSGenerationUtils.getStyleClasses() should actually be renamed to CSSGenerationUtils.getNonNamespacedStyleClasses() to reflect exactly what it is doing. Also this is not part of published API as it is in "org.apache.myfaces.trinidadinternal.style.util". So we can change it.