net_instaweb::DivStructureFilter Class Reference

#include "div_structure_filter.h"

Inheritance diagram for net_instaweb::DivStructureFilter:
net_instaweb::EmptyHtmlFilter net_instaweb::HtmlFilter

List of all members.

Public Member Functions

virtual void StartDocument ()
virtual void StartElement (HtmlElement *element)
virtual void EndElement (HtmlElement *element)
virtual const char * Name () const
 The name of this filter -- used for logging and debugging.

Static Public Member Functions

static GoogleString GetDivCountStackEncoding (const std::vector< int > &div_count_stack)

Static Public Attributes

static const char kParamName []

Detailed Description

This filter as it stands adds to all anchor href's a special query parameter, unique for each link, representing vaguely the link's location on a page, based on the div structure of the page.

In its current simple/functional form, the query parameters are of the form "0.1.0.3", a sort of series of DOM-coordinates of a DOM restricted to

and elements. This example could be the 4th link in the first div of the second div of the first main div, or the 2nd link (following 2 divs) in the first div in the first div (following one link) in the first top-level div.
Todo:
TODO(jhoch): Next step is to encode/condense these parameter values (at the very least use a base higher than 10).

Member Function Documentation

virtual void net_instaweb::DivStructureFilter::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::DivStructureFilter::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
Generated on Tue May 29 16:33:59 2012 for Page Speed Optimization Libraries by  doxygen 1.6.3