19 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_JS_OUTLINE_FILTER_H_
20 #define NET_INSTAWEB_REWRITER_PUBLIC_JS_OUTLINE_FILTER_H_
29 #include "pagespeed/kernel/base/basictypes.h"
30 #include "pagespeed/kernel/base/string.h"
31 #include "pagespeed/kernel/html/html_element.h"
32 #include "pagespeed/kernel/html/html_filter.h"
33 #include "pagespeed/kernel/html/html_node.h"
35 namespace net_instaweb {
43 static const char kFilterId[];
47 virtual void StartElementImpl(HtmlElement* element);
48 virtual void EndElementImpl(HtmlElement* element);
53 virtual void Characters(HtmlCharactersNode* characters);
55 virtual const char* Name()
const {
return "OutlineJs"; }
56 ScriptUsage GetScriptUsage()
const override {
return kWillInjectScripts; }
59 bool WriteResource(
const GoogleString& content,
OutputResource* resource,
60 MessageHandler* handler);
61 void OutlineScript(HtmlElement* element,
const GoogleString& content);
65 HtmlElement* inline_element_;
67 HtmlCharactersNode* inline_chars_;
69 size_t size_threshold_bytes_;
Definition: common_filter.h:47
Filter to take explicit <style> and <script> tags and outline them to files.
Definition: js_outline_filter.h:39
Definition: rewrite_driver.h:98
Definition: server_context.h:100
virtual void Characters(HtmlCharactersNode *characters)
HTML Events we expect to be in <script> elements.
Definition: output_resource.h:44
virtual void StartDocumentImpl()