Page Speed Optimization Libraries
1.13.35.1
|
#include "google_analytics_filter.h"
Public Types | |
typedef StringPieceVector | MethodVector |
Public Types inherited from net_instaweb::HtmlFilter | |
enum | ScriptUsage { kWillInjectScripts, kMayInjectScripts, kNeverInjectsScripts } |
Describes a filter's relationship with scripts. More... | |
Public Member Functions | |
GoogleAnalyticsFilter (HtmlParse *html_parse, Statistics *statistics) | |
GoogleAnalyticsFilter (HtmlParse *html_parse, Statistics *statistics, MethodVector *glue_methods, MethodVector *unhandled_methods) | |
The filter will take ownership of the method vectors. | |
virtual void | StartDocument () |
virtual void | EndDocument () |
virtual void | StartElement (HtmlElement *element) |
virtual void | EndElement (HtmlElement *element) |
virtual void | Flush () |
virtual void | Characters (HtmlCharactersNode *characters_node) |
Expected HTML Events in <script> elements. | |
virtual void | Comment (HtmlCommentNode *comment) |
Unexpected HTML Events in <script> elements. | |
virtual void | Cdata (HtmlCdataNode *cdata) |
Called for CDATA blocks (e.g. <![CDATA[foobar]]>) | |
virtual void | IEDirective (HtmlIEDirectiveNode *directive) |
virtual const char * | Name () const |
The name of this filter – used for logging and debugging. | |
ScriptUsage | GetScriptUsage () const override |
Public Member Functions inherited from net_instaweb::EmptyHtmlFilter | |
virtual void | Directive (HtmlDirectiveNode *directive) |
Called for HTML directives (e.g. <!doctype foobar>). | |
virtual void | DetermineEnabled (GoogleString *disabled_reason) |
virtual bool | CanModifyUrls () |
ScriptUsage | GetScriptUsage () const override |
Public Member Functions inherited from net_instaweb::HtmlFilter | |
virtual void | RenderDone () |
bool | is_enabled () const |
void | set_is_enabled (bool is_enabled) |
Static Public Member Functions | |
static void | InitStats (Statistics *statistics) |
Static Public Attributes | |
static const char | kPageLoadCount [] |
static const char | kRewrittenCount [] |
Filter <script> tags. Rewrite qualifying sync loads of Google Analytics as async loads.
|
virtual |
Note: EndDocument will be called immediately before the last Flush call. (which also means that in the RewriteDriver use it is called before rendering for the last flush window).
Reimplemented from net_instaweb::EmptyHtmlFilter.
|
virtual |
Notifies the Filter that a flush is occurring. A filter that's generating streamed output should flush at this time. A filter that's mutating elements can mutate any element seen since the most recent flush; once an element is flushed it is already on the wire to its destination and it's too late to mutate. Flush is initiated by an application calling HttpParse::Flush().
Flush() is called after all other handlers during a HttpParse::Flush(), except RenderDone(), which (if in use) happens after Flush().
Reimplemented from net_instaweb::EmptyHtmlFilter.
|
inlineoverridevirtual |
Note: there is also kRequiresScriptExecutionFilterSet in rewrite_options.cc, which identifies filters that will leave broken pages if javascript is disabled, and hence require noscript handing. The set of filters that CanInjectScripts is larger, as it includes filters that might inject beacons or other optional functionality that is not page-critical.
Implements net_instaweb::HtmlFilter.
|
virtual |
Called for an IE directive; typically used for CSS styling. See http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx
Reimplemented from net_instaweb::EmptyHtmlFilter.
|
virtual |
Starts a new document. Filters should clear their state in this function, as the same Filter instance may be used for multiple HTML documents.
Reimplemented from net_instaweb::EmptyHtmlFilter.
|
virtual |
When an HTML element is encountered during parsing, each filter's StartElement method is called. The HtmlElement lives for the entire duration of the document.
Reimplemented from net_instaweb::EmptyHtmlFilter.