#include "css_filter.h"
Classes | |
class | Context |
Context used by CssFilter under async flow. More... | |
Public Member Functions | |
CssFilter (RewriteDriver *driver, CacheExtender *cache_extender, ImageRewriteFilter *image_rewriter, ImageCombineFilter *image_combiner) | |
virtual void | StartDocumentImpl () |
virtual void | StartElementImpl (HtmlElement *element) |
virtual void | Characters (HtmlCharactersNode *characters) |
Called for raw characters between tags. | |
virtual void | EndElementImpl (HtmlElement *element) |
virtual const char * | Name () const |
The name of this filter -- used for logging and debugging. | |
virtual const char * | id () const |
virtual int | FilterCacheFormatVersion () const |
RewriteContext * | MakeNestedFlatteningContextInNewSlot (const ResourcePtr &resource, const GoogleString &location, CssFilter::Context *rewriter, RewriteContext *parent, CssHierarchy *hierarchy) |
Static Public Member Functions | |
static void | Initialize (Statistics *statistics) |
static void | Terminate () |
static void | InitializeAtExitManager () |
Static Public Attributes | |
static const char | kBlocksRewritten [] |
static const char | kParseFailures [] |
static const char | kRewritesDropped [] |
static const char | kTotalBytesSaved [] |
static const char | kTotalOriginalBytes [] |
static const char | kUses [] |
Protected Member Functions | |
virtual RewriteContext * | MakeRewriteContext () |
virtual const UrlSegmentEncoder * | encoder () const |
virtual RewriteContext * | MakeNestedRewriteContext (RewriteContext *parent, const ResourceSlotPtr &slot) |
Friends | |
class | Context |
Find and parse all CSS in the page and apply transformations including: minification, combining, refactoring, and optimizing sub-resources.
Currently only does basic minification.
Note that CssCombineFilter currently does combining (although there is a bug) but CssFilter will eventually replace this.
Currently only deals with inline <style> tags and external <link> resources. It does not consider style= attributes on arbitrary elements.
net_instaweb::CssFilter::CssFilter | ( | RewriteDriver * | driver, | |
CacheExtender * | cache_extender, | |||
ImageRewriteFilter * | image_rewriter, | |||
ImageCombineFilter * | image_combiner | |||
) |
cache_extender |
virtual const UrlSegmentEncoder* net_instaweb::CssFilter::encoder | ( | ) | const [protected, virtual] |
All RewriteFilters define how they encode URLs and other associated information needed for a rewrite into a URL. The default implementation handles a single URL with no extra data. The filter owns the encoder.
Reimplemented from net_instaweb::RewriteFilter.
static void net_instaweb::CssFilter::InitializeAtExitManager | ( | ) | [static] |
Note: AtExitManager needs to be initialized or you get a nasty error: Check failed: false. Tried to RegisterCallback without an AtExitManager. This is called by Initialize.
virtual RewriteContext* net_instaweb::CssFilter::MakeNestedRewriteContext | ( | RewriteContext * | parent, | |
const ResourceSlotPtr & | slot | |||
) | [protected, virtual] |
Generates a nested RewriteContext appropriate for this filter. Default implementation returns NULL. This is used to implement ajax rewriting.
Reimplemented from net_instaweb::RewriteFilter.
virtual RewriteContext* net_instaweb::CssFilter::MakeRewriteContext | ( | ) | [protected, virtual] |
Generates a RewriteContext appropriate for this filter. Default implementation returns NULL. This must be overridden by filters. This is used to implement Fetch.
Reimplemented from net_instaweb::RewriteFilter.
virtual void net_instaweb::CssFilter::StartDocumentImpl | ( | ) | [virtual] |
Overload these implementer methods: Intentionally left abstract so that implementers don't forget to change the name from Blah to BlahImpl.
Implements net_instaweb::CommonFilter.