19 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_CSS_INLINE_FILTER_H_
20 #define NET_INSTAWEB_REWRITER_PUBLIC_CSS_INLINE_FILTER_H_
24 #include "net/instaweb/http/public/semantic_type.h"
34 namespace net_instaweb {
45 static const char kNumCssInlined[];
51 virtual void StartElementImpl(HtmlElement* element) {}
52 virtual void EndElementImpl(HtmlElement* element);
53 virtual const char* Name()
const {
return "InlineCss"; }
59 return driver()->
options()->HasInlineUnauthorizedResourceType(
60 semantic_type::kStylesheet) ?
61 RewriteDriver::kInlineUnauthorizedResources :
62 RewriteDriver::kInlineOnlyAuthorizedResources;
66 static void InitStats(Statistics* statistics);
67 static bool HasClosingStyleTag(StringPiece contents);
72 void set_id(
const char*
id) { id_ = id; }
76 virtual ResourcePtr
CreateResource(
const char* url,
bool* is_authorized);
82 bool ShouldInline(
const ResourcePtr& resource,
83 const StringPiece& attrs_attribute,
84 GoogleString* reason)
const;
85 void RenderInline(
const ResourcePtr& resource,
const CachedResult& cached,
86 const GoogleUrl&
base_url,
const StringPiece& text,
87 HtmlElement* element);
90 const size_t size_threshold_bytes_;
95 Variable* num_css_inlined_;
Definition: common_filter.h:48
virtual bool IntendedForInlining() const
Definition: css_inline_filter.h:64
virtual void StartDocumentImpl()
void set_id(const char *id)
Definition: css_inline_filter.h:72
Definition: rewrite_driver.h:98
InlineAuthorizationPolicy
See CreateInputResource.
Definition: rewrite_driver.h:135
Inline small CSS files.
Definition: css_inline_filter.h:43
virtual RewriteDriver::InlineAuthorizationPolicy AllowUnauthorizedDomain() const
Definition: css_inline_filter.h:57
virtual ResourcePtr CreateResource(const char *url, bool *is_authorized)
const GoogleUrl & base_url() const
Getters.
const RewriteOptions * options() const
Return the options used for this RewriteDriver.
Definition: rewrite_driver.h:478