71 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_DELAY_IMAGES_FILTER_H_
72 #define NET_INSTAWEB_REWRITER_PUBLIC_DELAY_IMAGES_FILTER_H_
78 namespace net_instaweb {
82 class StaticAssetManager;
87 static const char kDelayImagesSuffix[];
88 static const char kDelayImagesInlineSuffix[];
89 static const char kImageOnloadCode[];
90 static const char kImageOnloadJsSnippet[];
96 virtual void StartElementImpl(HtmlElement* element) { }
97 virtual void EndElementImpl(HtmlElement* element);
99 virtual void EndDocument();
101 virtual const char* Name()
const {
return "DelayImages"; }
103 virtual void DetermineEnabled(GoogleString* disabled_reason);
105 static void InitStats(Statistics* statistics);
106 static void Terminate();
111 void MaybeAddImageOnloadJsSnippet(HtmlElement* element);
114 void InsertLowResImagesAndJs(HtmlElement* element,
bool insert_after_element);
117 void InsertHighResJs(HtmlElement* element);
121 bool ShouldRewriteInplace()
const;
126 int num_low_res_inlined_images_;
127 StringStringMap low_res_data_map_;
132 bool insert_low_res_images_inplace_;
138 bool lazyload_highres_images_;
140 bool is_script_inserted_;
142 bool added_image_onload_js_;
Definition: common_filter.h:48
Definition: static_asset_manager.h:44
Definition: rewrite_driver.h:98
virtual void StartDocumentImpl()
Definition: delay_images_filter.h:85