Page Speed Optimization Libraries  1.4.26.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
net_instaweb::AddHeadFilter Class Reference

#include "add_head_filter.h"

Inheritance diagram for net_instaweb::AddHeadFilter:
net_instaweb::EmptyHtmlFilter net_instaweb::HtmlFilter

List of all members.

Public Member Functions

 AddHeadFilter (HtmlParse *parser, bool combine_multiple_heads)
virtual void StartDocument ()
virtual void StartElement (HtmlElement *element)
virtual void EndDocument ()
 Note: EndDocument will be called imediately before the last Flush call.
virtual void EndElement (HtmlElement *element)
virtual void Flush ()
virtual const char * Name () const
 The name of this filter -- used for logging and debugging.

Detailed Description

Adds a 'head' element before the 'body', if none was found during parsing. This enables downstream filters to assume that there will be a head.


Member Function Documentation

virtual void net_instaweb::AddHeadFilter::Flush ( ) [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().

Reimplemented from net_instaweb::EmptyHtmlFilter.

virtual void net_instaweb::AddHeadFilter::StartDocument ( ) [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 void net_instaweb::AddHeadFilter::StartElement ( HtmlElement element) [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.

Todo:
TODO(jmarantz): consider passing handles rather than pointers and reference-counting them instead to save memory on long documents.

Reimplemented from net_instaweb::EmptyHtmlFilter.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines