19 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_COMMON_FILTER_H_
20 #define NET_INSTAWEB_REWRITER_PUBLIC_COMMON_FILTER_H_
26 #include "pagespeed/kernel/base/basictypes.h"
27 #include "pagespeed/kernel/base/string.h"
28 #include "pagespeed/kernel/base/string_util.h"
29 #include "pagespeed/kernel/html/empty_html_filter.h"
30 #include "pagespeed/kernel/html/html_element.h"
31 #include "pagespeed/kernel/html/html_node.h"
32 #include "pagespeed/kernel/http/google_url.h"
33 #include "pagespeed/kernel/http/response_headers.h"
35 namespace net_instaweb {
65 HtmlElement* noscript_element()
const {
return noscript_element_; }
84 virtual void StartElement(HtmlElement* element);
85 virtual void EndElement(HtmlElement* element);
90 virtual void Characters(HtmlCharactersNode* characters);
107 HtmlElement* element);
111 void ResolveUrl(StringPiece input_url, GoogleUrl* out_url);
138 const ResponseHeaders* headers,
139 GoogleString* content,
140 GoogleString* mime_type,
141 GoogleString* charset);
159 const {
return RewriteDriver::kInlineOnlyAuthorizedResources; }
171 ServerContext* server_context()
const {
return server_context_; }
172 const RewriteOptions* rewrite_options() {
return rewrite_options_; }
178 virtual void StartElementImpl(HtmlElement* element) = 0;
179 virtual void EndElementImpl(HtmlElement* element) = 0;
190 HtmlElement* noscript_element_;
192 HtmlElement* end_body_point_;
ResourcePtr CreateInputResourceOrInsertDebugComment(StringPiece input_url, HtmlElement *element)
Definition: common_filter.h:47
virtual RewriteDriver::InlineAuthorizationPolicy AllowUnauthorizedDomain() const
Definition: common_filter.h:158
virtual void StartDocumentImpl()=0
bool DebugMode() const
Definition: common_filter.h:123
void AddJsToElement(StringPiece js, HtmlElement *script)
void InsertNodeAtBodyEnd(HtmlNode *data)
virtual const char * LoggingId()
Definition: common_filter.h:183
bool CanAddPagespeedOnloadToImage(const HtmlElement &)
bool DebugMode() const
Definition: rewrite_driver.h:1123
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:100
static const char kCreateResourceFailedDebugMsg[]
Debug message to be inserted when resource creation fails.
Definition: common_filter.h:50
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:164
ResourcePtr CreateInputResource(StringPiece input_url, bool *is_authorized)
Definition: rewrite_options.h:84
static bool ExtractMetaTagDetails(const HtmlElement &element, const ResponseHeaders *headers, GoogleString *content, GoogleString *mime_type, GoogleString *charset)