Perhaps there can be a change to allow exceptions to the compression. Something like a prefix or postfix that prevents specific class names from being compressed.
I am not a big fan of JavaScript using style classes to affect behavior, but I don't see a good reason to not help support it if that is something someone wants. On 11/15/07, Simon Lessard <[EMAIL PROTECTED]> wrote: > Hi Renzo, > > The optimization is not mainly for the CSS size, but for the generated page > markup. Trinidad set a styleClass on almost every single HTML element, so > the content-size is not much bigger without compression, but noticeably > bigger enough to worth it. > > > On Nov 15, 2007 3:27 AM, Renzo Tomaselli <[EMAIL PROTECTED]> wrote: > > > > The picture is almost clear now - although class alteration by js is > exactly what I'm doing. Unfortunately it's based on element recognition by > class name, which cannot work unless compression is fully disabled. I will > investigate about Jeanne's trick on using multiple token selectors, looks > funny. > > Btw, I wonder about the real optimization extents that compression is > presumed to achieve, also considering that browsers do cache css. > > > > -- Renzo > > > > > > > > > > > > Simon Lessard wrote: > > > > > > > > On Nov 14, 2007 2:19 PM, Jeanne Waldman <[EMAIL PROTECTED]> wrote: > > > > > The fact that it generates both compressed and uncompressed in this test > > > case is not a bug, but as designed. > > > > > > Oh true, my bad, else doing some styleClass alteration at runtime using > JavaScript would become impossible since the style class wouldn't be in the > final CSS. > > > > > > > > > > In selectors without a namespace, like af|, I output both compressed and > > > uncompressed since these could be a user's styleclass that they are > > > using in a way that doesn't get compressed, like through their own html > > > tags. > > > I don't think this is the reason for Renzo's problem, but instead it is > > > because he wasn't turning compression off. The problem must be that he > > > sets styleClass="invisible" and this gets compressed because the > > > renderer calls renderStyleClass which compresses it if compression is > > > enabled. > > > > > > Another workaround might be to try adding to the styleClass attribute > > > another styleclass name that is not written in the skin css file. > > > Then it won't compress. The reason is that when we process the skin css > > > file, we get the selector and put it in a map of selector->compressed > > > selector. If it isn't in the skin css file, it won't get in this map, > > > thus it won't get compressed, even when renderStyleClass is called. > > > This is a kludge, no doubt about it. But it will keep you from having to > > > uncompress everything. > > > > > > - Jeanne > > > > > > > > > Renzo Tomaselli wrote: > > > > Thanks, Simon. Disabling compression makes things working like they > did > > > > previously. > > > > Btw, the reason why it used to work with previous versions was that > > > > until some versions ago (1.0.1) we could disable compression on: > > > > > > > > > org.apache.myfaces.trinidadinternal.DISABLE_CONTENT_COMPRESSION > > > > > > > > while now it's org.apache.myfaces.trinidad. > > > > Moreover, the best solution would be to compress only Trinidad classes > - > > > > leaving custom classes as they are, but I gues this is impossible if > > > > translation occurs after css merging. > > > > > > > > -- Renzo > > > > > > > > Simon Lessard wrote: > > > >> Hmmm, sounds like a bug. In compression mode, only .xe0 should be > > > >> generated. You can try to disable content compression for now using > > > >> > > > >> <context-param> > > > >> > <param-name>org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION > > > >> </param-name> > > > >> <param-value>true</param-value> > > > >> </context-param> > > > >> > > > >> Regards, > > > >> > > > >> ~ Simon > > > >> > > > >> On Nov 14, 2007 3:55 AM, Renzo Tomaselli < [EMAIL PROTECTED] > > > > > > > > > >> <mailto:[EMAIL PROTECTED]>> wrote: > > > >> > > > >> Hi, I noticed an unpleasant effect due to Trinidad class > > > >> compression/aliasing. If I define my own class such as: > > > >> > > > >> .invisible { > > > >> display: none; > > > >> visibility: hidden; > > > >> } > > > >> > > > >> then the generated css contains: > > > >> > > > >> .invisible,.xe0 {display:none;visibility:hidden} > > > >> > > > >> The rendered html page contains always *both* classes, even in > places > > > >> where xhtml source specified just .invisible. > > > >> The final result is that any js code looking for .invisible > fails. > > > >> I'm using Trinidad 1.0.3. Till 1.0.1 these things were running > > > >> properly. > > > >> Even adding dummy attributes to my classes seems not working: an > alias > > > >> is generated anyway, and used in html (in place of original class > > > >> name). > > > >> Should I disable alisasing - leaving original class names ? Is > that > > > >> possible at all ? > > > >> > > > >> -- Renzo > > > >> > > > >> > > > >> > > > > > > > > >

