20 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_CACHE_HTML_FILTER_H_
21 #define NET_INSTAWEB_REWRITER_PUBLIC_CACHE_HTML_FILTER_H_
25 #include "net/instaweb/htmlparse/public/html_writer_filter.h"
26 #include "net/instaweb/rewriter/cache_html_info.pb.h"
33 #include "net/instaweb/util/public/json.h"
35 namespace net_instaweb {
48 virtual void StartDocument();
49 virtual void StartElement(HtmlElement* element);
50 virtual void EndElement(HtmlElement* element);
51 virtual void EndDocument();
52 void WriteString(StringPiece str);
54 virtual const char* Name()
const {
return "CacheHtmlFilter"; }
58 void SendNonCacheableObject(
const Json::Value& json);
62 GoogleString GetXpathOfCurrentElement(HtmlElement* element);
66 AttributesToNonCacheableValuesMap attribute_non_cacheable_values_map_;
67 std::vector<int> panel_number_num_instances_;
69 StringWriter string_writer_;
70 const HtmlElement* current_non_cacheable_element_;
71 GoogleString current_panel_id_;
73 CacheHtmlInfo cache_html_info_;
75 std::vector<int> num_children_stack_;
Definition: property_cache.h:186
Definition: rewrite_driver.h:98
Definition: rewrite_options.h:81
Definition: cache_html_filter.h:43