19 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_JS_DISABLE_FILTER_H_
20 #define NET_INSTAWEB_REWRITER_PUBLIC_JS_DISABLE_FILTER_H_
25 #include "pagespeed/kernel/base/basictypes.h"
26 #include "pagespeed/kernel/base/string.h"
27 #include "pagespeed/kernel/html/html_element.h"
28 #include "pagespeed/kernel/html/html_filter.h"
29 #include "pagespeed/kernel/http/user_agent_matcher.h"
31 namespace net_instaweb {
45 static const char kEnableJsExperimental[];
46 static const char kElementOnloadCode[];
48 virtual void DetermineEnabled(GoogleString* disabled_reason);
50 virtual const char* Name()
const {
51 return "JsDisableFilter";
54 ScriptUsage GetScriptUsage()
const override {
return kWillInjectScripts; }
57 virtual void StartDocumentImpl();
59 virtual void StartElementImpl(HtmlElement* element);
61 virtual void EndElementImpl(HtmlElement* element);
63 virtual void EndDocument();
66 void InsertJsDeferExperimentalScript();
71 void InsertMetaTagForIE(HtmlElement* element);
75 bool ie_meta_tag_written_;
76 int prefetch_js_elements_count_;
77 int max_prefetch_js_elements_;
78 GoogleString prefetch_js_elements_;
79 bool should_look_for_prefetch_js_elements_;
80 UserAgentMatcher::PrefetchMechanism prefetch_mechanism_;
Definition: common_filter.h:47
Definition: rewrite_driver.h:98
Definition: js_disable_filter.h:40