20 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_RESPONSIVE_IMAGE_FILTER_H_
21 #define NET_INSTAWEB_REWRITER_PUBLIC_RESPONSIVE_IMAGE_FILTER_H_
28 #include "pagespeed/kernel/base/basictypes.h"
29 #include "pagespeed/kernel/base/string.h"
30 #include "pagespeed/kernel/base/string_util.h"
31 #include "pagespeed/kernel/html/html_element.h"
32 #include "pagespeed/kernel/html/html_filter.h"
34 namespace net_instaweb {
38 : element(element_arg), resolution(resolution_arg) {}
44 typedef std::vector<ResponsiveImageCandidate> ResponsiveImageCandidateVector;
62 typedef std::map<HtmlElement*, ResponsiveVirtualImages>
63 ResponsiveImageCandidateMap;
76 static const char kNonInlinableVirtualImage[];
77 static const char kInlinableVirtualImage[];
78 static const char kFullsizedVirtualImage[];
83 virtual void StartElementImpl(HtmlElement* element) {}
85 virtual void EndElementImpl(HtmlElement* element);
87 virtual const char* Name()
const {
return "ResponsiveImageFirst"; }
90 void AddHiResImages(HtmlElement* element);
91 ResponsiveImageCandidate AddHiResVersion(
92 HtmlElement* img,
const HtmlElement::Attribute& src_attr,
93 int orig_width,
int orig_height, StringPiece responsive_attribute_value,
96 friend class ResponsiveImageSecondFilter;
98 std::vector<double> densities_;
99 ResponsiveImageCandidateMap candidate_map_;
110 virtual void StartElementImpl(HtmlElement* element) {}
112 virtual void EndElementImpl(HtmlElement* element);
113 virtual void EndDocument();
115 virtual const char* Name()
const {
return "ResponsiveImageSecond"; }
122 void CombineHiResImages(HtmlElement* orig_element,
124 void Cleanup(HtmlElement* orig_element,
126 void InsertPlaceholderDebugComment(
129 const GoogleString responsive_js_url_;
132 bool zoom_filter_enabled_;
Definition: common_filter.h:47
Definition: responsive_image_filter.h:104
virtual void StartDocumentImpl()
ResponsiveImageCandidateVector non_inlinable_candidates
Definition: responsive_image_filter.h:54
Definition: responsive_image_filter.h:48
ResponsiveImageCandidate inlinable_candidate
Definition: responsive_image_filter.h:57
static const char kOriginalImage[]
Labels for different images used by Responsive image filters.
Definition: responsive_image_filter.h:75
ResponsiveImageCandidate fullsized_candidate
Definition: responsive_image_filter.h:60
ScriptUsage GetScriptUsage() const override
Definition: responsive_image_filter.h:119
Definition: rewrite_driver.h:98
Definition: responsive_image_filter.h:36
virtual void StartDocumentImpl()
Definition: responsive_image_filter.h:72