22 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_INSERT_GA_FILTER_H_
23 #define NET_INSTAWEB_REWRITER_PUBLIC_INSERT_GA_FILTER_H_
29 namespace net_instaweb {
31 class HtmlCharactersNode;
37 extern const char kGAExperimentSnippet[];
38 extern const char kGAJsSnippet[];
39 extern const char kGASpeedTracking[];
52 virtual void StartElementImpl(HtmlElement* element);
53 virtual void EndElementImpl(HtmlElement* element);
55 virtual void Characters(HtmlCharactersNode* characters);
57 virtual const char* Name()
const {
return "InsertGASnippet"; }
61 GoogleString ConstructExperimentSnippet()
const;
64 GoogleString MakeFullExperimentSnippet()
const;
67 void HandleEndBody(HtmlElement* body);
71 void AddScriptNode(HtmlElement* current_element, GoogleString text,
72 bool insert_immediately_after_current);
76 void HandleEndScript(HtmlElement* script);
80 bool FoundSnippetInBuffer()
const;
83 Variable* inserted_ga_snippets_count_;
87 HtmlElement* script_element_;
89 bool added_analytics_js_;
91 bool added_experiment_snippet_;
104 bool increase_speed_tracking_;
Definition: common_filter.h:48
static void InitStats(Statistics *stats)
Set up statistics for this filter.
virtual void StartDocumentImpl()
Definition: insert_ga_filter.h:43
Definition: rewrite_driver.h:98
virtual void Characters(HtmlCharactersNode *characters)
HTML Events we expect to be in <script> elements.