#330: Lazy evaluation of req.chrome
--------------------------+--------------------
Reporter: peter | Owner: nobody
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: dashboard | Version:
Resolution: | Keywords:
--------------------------+--------------------
Comment (by peter):
Replying to [comment:2 olemis]:
> Replying to [ticket:330 peter]:
> > For optimal performance req.chrome should be evaluated only if
necessary.
> > This currently violated on multiple places in request handlers,
filters and mainly by trachacks:TracThemeEngine plugin.
> >
>
> Could you please mention where is it exactly that
trachacks:ThemeEnginePlugin violates lazy instantiation of `req.chrome` ?
>
> [...]
> > However there has been no investigation on trachacks:TracThemeEngine
yet. Until this is fixed there is no benefits in fixing BH code at all.
>
> I'm the maintainer of that plugin . I've not noticed something like that
, so I ask : What's wrong exactly ?
When the plugin is installed and active it's post_process_request() will
be invoked for every request. AFAICT there is nothing in that code that
would differentiate requests (API vs UI requests) so add_stylesheet() will
be called for all of them which then calls add_link() that evaluates
req.chrome.
There might be other cases as well (maybe in Trac itself also) but this is
the one I stumbled upon when I was investigating why does my solution for
lazy whitelabeling have no effect at all.
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/330#comment:3>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound (incubating) issue tracker