Page Speed Optimization Libraries
1.2.24.1
|
#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 | InitStats (Statistics *statistics) |
static void | Initialize () |
Initialize & Terminate must be paired. | |
static void | Terminate () |
static void | InitializeAtExitManager () |
Static Public Attributes | |
static const char | kBlocksRewritten [] |
static const char | kParseFailures [] |
static const char | kFallbackRewrites [] |
static const char | kFallbackFailures [] |
static const char | kRewritesDropped [] |
static const char | kTotalBytesSaved [] |
static const char | kTotalOriginalBytes [] |
static const char | kUses [] |
static const char | kCharsetMismatch [] |
static const char | kInvalidUrl [] |
static const char | kLimitExceeded [] |
static const char | kMinifyFailed [] |
static const char | kRecursion [] |
static const char | kComplexQueries [] |
Protected Member Functions | |
virtual RewriteContext * | MakeRewriteContext () |
virtual const UrlSegmentEncoder * | encoder () const |
virtual RewriteContext * | MakeNestedRewriteContext (RewriteContext *parent, const ResourceSlotPtr &slot) |
Friends | |
class | Context |
class | CssFlattenImportsContext |
for statistics | |
class | CssHierarchy |
for statistics |
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.
static void net_instaweb::CssFilter::InitStats | ( | Statistics * | statistics | ) | [static] |
May be called multiple times, in case there are multiple statistics objects.
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.