19 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_DEDUP_INLINED_IMAGES_FILTER_H_
20 #define NET_INSTAWEB_REWRITER_PUBLIC_DEDUP_INLINED_IMAGES_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/html_element.h"
28 #include "pagespeed/kernel/html/html_filter.h"
30 namespace net_instaweb {
55 static void InitStats(Statistics* statistics);
58 virtual void EndDocument();
59 virtual void StartElementImpl(HtmlElement* element);
60 virtual void EndElementImpl(HtmlElement* element);
61 virtual void DetermineEnabled(GoogleString* disabled_reason);
63 virtual const char* Name()
const {
return "DedupInlinedImages"; }
64 ScriptUsage GetScriptUsage()
const override {
return kWillInjectScripts; }
67 bool IsDedupCandidate(HtmlElement* element, StringPiece* src_iff_true);
68 void InsertOurScriptElement(HtmlElement* before);
70 bool script_inserted_;
71 StringStringMap hash_to_id_map_;
75 Variable* num_dedup_inlined_images_candidates_found_;
77 Variable* num_dedup_inlined_images_candidates_replaced_;
Definition: common_filter.h:47
static const char kDiiInitializer[]
public for the test harness only.
Definition: dedup_inlined_images_filter.h:45
static const char kCandidatesFound[]
Statistics' names.
Definition: dedup_inlined_images_filter.h:48
static void InitStats(Statistics *statistics)
May be called multiple times, if there are multiple statistics objects.
static const char kCandidatesReplaced[]
No. of those replaced with JS.
Definition: dedup_inlined_images_filter.h:49
static const unsigned int kMinimumImageCutoff
Dont dedup if smaller.
Definition: dedup_inlined_images_filter.h:43
Definition: rewrite_driver.h:98
virtual void StartDocumentImpl()
Definition: dedup_inlined_images_filter.h:41