19 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_COMMON_FILTER_H_
20 #define NET_INSTAWEB_REWRITER_PUBLIC_COMMON_FILTER_H_
24 #include "pagespeed/kernel/base/basictypes.h"
25 #include "pagespeed/kernel/base/string.h"
26 #include "pagespeed/kernel/base/string_util.h"
27 #include "pagespeed/kernel/html/empty_html_filter.h"
29 namespace net_instaweb {
31 class HtmlCharactersNode;
34 class ResponseHeaders;
66 HtmlElement* noscript_element()
const {
return noscript_element_; }
85 virtual void StartElement(HtmlElement* element);
86 virtual void EndElement(HtmlElement* element);
91 virtual void Characters(HtmlCharactersNode* characters);
108 HtmlElement* element);
112 void ResolveUrl(StringPiece input_url, GoogleUrl* out_url);
139 const ResponseHeaders* headers,
140 GoogleString* content,
141 GoogleString* mime_type,
142 GoogleString* charset);
160 const {
return RewriteDriver::kInlineOnlyAuthorizedResources; }
168 ServerContext* server_context()
const {
return server_context_; }
169 const RewriteOptions* rewrite_options() {
return rewrite_options_; }
175 virtual void StartElementImpl(HtmlElement* element) = 0;
176 virtual void EndElementImpl(HtmlElement* element) = 0;
187 HtmlElement* noscript_element_;
189 HtmlElement* end_body_point_;
ResourcePtr CreateInputResourceOrInsertDebugComment(StringPiece input_url, HtmlElement *element)
Definition: common_filter.h:48
virtual RewriteDriver::InlineAuthorizationPolicy AllowUnauthorizedDomain() const
Definition: common_filter.h:159
virtual void StartDocumentImpl()=0
bool DebugMode() const
Definition: common_filter.h:124
void InsertNodeAtBodyEnd(HtmlNode *data)
virtual const char * LoggingId()
Definition: common_filter.h:180
bool CanAddPagespeedOnloadToImage(const HtmlElement &)
bool DebugMode() const
Definition: rewrite_driver.h:1070
virtual void Characters(HtmlCharactersNode *characters)
virtual void LogFilterModifiedContent()
bool BaseUrlIsValid() const
void ResolveUrl(StringPiece input_url, GoogleUrl *out_url)
Definition: rewrite_driver.h:98
Definition: server_context.h:101
static const char kCreateResourceFailedDebugMsg[]
Debug message to be inserted when resource creation fails.
Definition: common_filter.h:51
InlineAuthorizationPolicy
See CreateInputResource.
Definition: rewrite_driver.h:135
const GoogleUrl & decoded_base_url() const
virtual void StartDocument()
Note: Don't overload these methods, overload the implementers instead!
const GoogleUrl & base_url() const
Getters.
virtual bool IntendedForInlining() const
Definition: common_filter.h:165
ResourcePtr CreateInputResource(StringPiece input_url, bool *is_authorized)
Definition: rewrite_options.h:83
static bool ExtractMetaTagDetails(const HtmlElement &element, const ResponseHeaders *headers, GoogleString *content, GoogleString *mime_type, GoogleString *charset)