Page Speed Optimization Libraries  1.2.24.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions
net_instaweb::HtmlFilter Class Reference
Inheritance diagram for net_instaweb::HtmlFilter:
net_instaweb::EmptyHtmlFilter net_instaweb::HtmlWriterFilter net_instaweb::AddHeadFilter net_instaweb::AddInstrumentationFilter net_instaweb::BaseTagFilter net_instaweb::BlinkBackgroundFilter net_instaweb::CanonicalAttributes net_instaweb::CollapseWhitespaceFilter net_instaweb::CommonFilter net_instaweb::CssInlineImportToLinkFilter net_instaweb::DebugFilter net_instaweb::DeferIframeFilter net_instaweb::DelayImagesFilter net_instaweb::DetectReflowJsDeferFilter net_instaweb::DeterministicJsFilter net_instaweb::DivStructureFilter net_instaweb::ElideAttributesFilter net_instaweb::ExplicitCloseTag net_instaweb::GoogleAnalyticsFilter net_instaweb::HandleNoscriptRedirectFilter net_instaweb::HtmlAttributeQuoteRemoval net_instaweb::JsDeferDisabledFilter net_instaweb::JsDisableFilter net_instaweb::LoggingFilter net_instaweb::PedanticFilter net_instaweb::RemoveCommentsFilter net_instaweb::RewrittenContentScanningFilter net_instaweb::ScanFilter net_instaweb::StripNonCacheableFilter net_instaweb::StripScriptsFilter net_instaweb::SupportNoscriptFilter net_instaweb::BlinkFilter net_instaweb::ComputeVisibleTextFilter net_instaweb::FlushEarlyContentWriterFilter net_instaweb::SuppressPreheadFilter

List of all members.

Public Member Functions

virtual void StartDocument ()=0
virtual void EndDocument ()=0
 Note: EndDocument will be called imediately before the last Flush call.
virtual void StartElement (HtmlElement *element)=0
virtual void EndElement (HtmlElement *element)=0
virtual void Cdata (HtmlCdataNode *cdata)=0
 Called for CDATA blocks (e.g. <![CDATA[foobar]]>)
virtual void Comment (HtmlCommentNode *comment)=0
 Called for HTML comments that aren't IE directives (e.g. ).
virtual void IEDirective (HtmlIEDirectiveNode *directive)=0
virtual void Characters (HtmlCharactersNode *characters)=0
 Called for raw characters between tags.
virtual void Directive (HtmlDirectiveNode *directive)=0
 Called for HTML directives (e.g. <!doctype foobar>).
virtual void Flush ()=0
virtual void DetermineEnabled ()=0
bool is_enabled () const
virtual const char * Name () const =0
 The name of this filter -- used for logging and debugging.

Protected Member Functions

void set_is_enabled (bool is_enabled)

Member Function Documentation

virtual void net_instaweb::HtmlFilter::DetermineEnabled ( ) [pure virtual]
virtual void net_instaweb::HtmlFilter::Flush ( ) [pure 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().

Implemented in net_instaweb::CombiningFilter, net_instaweb::GoogleAnalyticsFilter, net_instaweb::JsCombineFilter, net_instaweb::JavascriptFilter, net_instaweb::EmptyHtmlFilter, net_instaweb::BlinkFilter, net_instaweb::MetaTagFilter, net_instaweb::HtmlWriterFilter, net_instaweb::CssCombineFilter, net_instaweb::CssInlineImportToLinkFilter, net_instaweb::ScanFilter, net_instaweb::CssOutlineFilter, net_instaweb::JsOutlineFilter, net_instaweb::AddHeadFilter, net_instaweb::FlushHtmlFilter, and net_instaweb::DebugFilter.

virtual void net_instaweb::HtmlFilter::IEDirective ( HtmlIEDirectiveNode directive) [pure virtual]

Called for an IE directive; typically used for CSS styling. See http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx

Todo:
TODO(mdsteele): Should we try to maintain the nested structure of the conditionals, in the same way that we maintain nesting of elements?

Implemented in net_instaweb::GoogleAnalyticsFilter, net_instaweb::LoggingFilter, net_instaweb::JsCombineFilter, net_instaweb::JavascriptFilter, net_instaweb::EmptyHtmlFilter, net_instaweb::ComputeVisibleTextFilter, net_instaweb::CssCombineFilter, net_instaweb::HtmlWriterFilter, and net_instaweb::ScanFilter.

bool net_instaweb::HtmlFilter::is_enabled ( ) const [inline]

Intended to be called from DetermineEnabled implementations in filters. Returns whether a filter is enabled.

virtual void net_instaweb::HtmlFilter::StartDocument ( ) [pure virtual]
virtual void net_instaweb::HtmlFilter::StartElement ( HtmlElement element) [pure virtual]

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