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
> > >>
> > >>
> > >>
> >
>
>

Reply via email to