19 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_CSS_COMBINE_FILTER_H_
20 #define NET_INSTAWEB_REWRITER_PUBLIC_CSS_COMBINE_FILTER_H_
29 namespace net_instaweb {
32 class HtmlIEDirectiveNode;
36 class UrlSegmentEncoder;
55 virtual void StartElementImpl(
HtmlElement* element);
56 virtual void EndElementImpl(
HtmlElement* element) {}
60 virtual const char*
Name()
const {
return "CssCombine"; }
62 return &multipart_encoder_;
66 virtual const char* id()
const {
return RewriteOptions::kCssCombinerId; }
72 CssCombiner* combiner();
73 void NextCombination(StringPiece debug_help);
74 Context* MakeContext();
76 scoped_ptr<Context> context_;
77 UrlMultipartEncoder multipart_encoder_;
78 bool end_document_found_;
81 Variable* css_combine_opportunities_;
virtual void DetermineEnabled(GoogleString *disabled_reason)
Base class for implementations of monitoring statistics.
Definition: statistics.h:342
virtual void IEDirective(HtmlIEDirectiveNode *directive)
virtual RewriteContext * MakeRewriteContext()
Definition: html_element.h:42
static const char kCssCombineOpportunities[]
Definition: css_combine_filter.h:44
virtual const UrlSegmentEncoder * encoder() const
Definition: css_combine_filter.h:61
static const char kCssFileCountReduction[]
CSS file reduction (Optimally this equals kCssCombineOpportunities).
Definition: css_combine_filter.h:46
std::string GoogleString
PAGESPEED_KERNEL_BASE_STRING_H_.
Definition: string.h:24
virtual void StartDocumentImpl()
Definition: rewrite_filter.h:35
Definition: rewrite_driver.h:100
Definition: rewrite_context.h:155
Definition: css_combine_filter.h:39
Definition: url_segment_encoder.h:33
Leaf node representing an HTML IE directive.
Definition: html_node.h:213
virtual void EndDocument()
virtual const char * Name() const
The name of this filter – used for logging and debugging.
Definition: css_combine_filter.h:60