Page Speed Optimization Libraries  1.13.35.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Friends | List of all members
net_instaweb::CssInlineFilter Class Reference

Inline small CSS files. More...

#include "css_inline_filter.h"

Inheritance diagram for net_instaweb::CssInlineFilter:
net_instaweb::CommonFilter net_instaweb::EmptyHtmlFilter net_instaweb::HtmlFilter net_instaweb::GoogleFontCssInlineFilter

Public Member Functions

 CssInlineFilter (RewriteDriver *driver)
 
virtual void StartDocumentImpl ()
 
virtual void StartElementImpl (HtmlElement *element)
 
virtual void EndElementImpl (HtmlElement *element)
 
virtual const char * Name () const
 The name of this filter – used for logging and debugging.
 
virtual
RewriteDriver::InlineAuthorizationPolicy 
AllowUnauthorizedDomain () const
 
virtual bool IntendedForInlining () const
 
- Public Member Functions inherited from net_instaweb::CommonFilter
 CommonFilter (RewriteDriver *driver)
 
const GoogleUrlbase_url () const
 Getters. More...
 
const GoogleUrldecoded_base_url () const
 
RewriteDriverdriver () const
 
HtmlElementnoscript_element () const
 
void InsertNodeAtBodyEnd (HtmlNode *data)
 
virtual void StartDocument ()
 Note: Don't overload these methods, overload the implementers instead!
 
virtual void StartElement (HtmlElement *element)
 
virtual void EndElement (HtmlElement *element)
 
virtual void Characters (HtmlCharactersNode *characters)
 
ResourcePtr CreateInputResource (StringPiece input_url, RewriteDriver::InputRole role, bool *is_authorized)
 
ResourcePtr CreateInputResourceOrInsertDebugComment (StringPiece input_url, RewriteDriver::InputRole role, HtmlElement *element)
 
void ResolveUrl (StringPiece input_url, GoogleUrl *out_url)
 
bool IsRelativeUrlLoadPermittedByCsp (StringPiece url, CspDirective role)
 
bool BaseUrlIsValid () const
 
bool DebugMode () const
 
bool CanAddPagespeedOnloadToImage (const HtmlElement &)
 
virtual void LogFilterModifiedContent ()
 
void AddJsToElement (StringPiece js, HtmlElement *script)
 
- Public Member Functions inherited from net_instaweb::EmptyHtmlFilter
virtual void EndDocument ()
 
virtual void Cdata (HtmlCdataNode *cdata)
 Called for CDATA blocks (e.g. <![CDATA[foobar]]>)
 
virtual void Comment (HtmlCommentNode *comment)
 Called for HTML comments that aren't IE directives (e.g. ).
 
virtual void IEDirective (HtmlIEDirectiveNode *directive)
 
virtual void Directive (HtmlDirectiveNode *directive)
 Called for HTML directives (e.g. <!doctype foobar>).
 
virtual void Flush ()
 
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 bool HasClosingStyleTag (StringPiece contents)
 
- Static Public Member Functions inherited from net_instaweb::CommonFilter
static bool ExtractMetaTagDetails (const HtmlElement &element, const ResponseHeaders *headers, GoogleString *content, GoogleString *mime_type, GoogleString *charset)
 

Static Public Attributes

static const char kNumCssInlined []
 
- Static Public Attributes inherited from net_instaweb::CommonFilter
static const char kCreateResourceFailedDebugMsg []
 Debug message to be inserted when resource creation fails.
 

Protected Member Functions

void set_id (const char *id)
 
virtual ResourcePtr CreateResource (const char *url, bool *is_authorized)
 
void set_size_threshold_bytes (size_t size)
 
- Protected Member Functions inherited from net_instaweb::CommonFilter
ServerContextserver_context () const
 
const RewriteOptionsrewrite_options ()
 
virtual const char * LoggingId ()
 

Friends

class Context
 

Additional Inherited Members

- Public Types inherited from net_instaweb::HtmlFilter
enum  ScriptUsage { kWillInjectScripts, kMayInjectScripts, kNeverInjectsScripts }
 Describes a filter's relationship with scripts. More...
 

Detailed Description

Inline small CSS files.

Member Function Documentation

virtual RewriteDriver::InlineAuthorizationPolicy net_instaweb::CssInlineFilter::AllowUnauthorizedDomain ( ) const
inlinevirtual

Inlining css from unauthorized domains into HTML is considered safe because it does not cause any new content to be executed compared to the unoptimized page.

Reimplemented from net_instaweb::CommonFilter.

virtual ResourcePtr net_instaweb::CssInlineFilter::CreateResource ( const char *  url,
bool *  is_authorized 
)
protectedvirtual

Delegated from InlineRewriteContext::CreateResource — see there for semantics.

Reimplemented in net_instaweb::GoogleFontCssInlineFilter.

virtual bool net_instaweb::CssInlineFilter::IntendedForInlining ( ) const
inlinevirtual

Returns true if the filter intends to inline the resource it fetches. This is to support AllowWhenInlining. Unlike AllowUnauthorizedDomain() this doesn't have security implications and is just used for performance tuning.

Reimplemented from net_instaweb::CommonFilter.

void net_instaweb::CssInlineFilter::set_id ( const char *  id)
inlineprotected

Changes filter id code (which shows up in cache keys and .pagespeed.id. URLs). Expects id to be a literal.

virtual void net_instaweb::CssInlineFilter::StartDocumentImpl ( )
virtual

Overload these implementer methods: Intentionally left abstract so that implementers don't forget to change the name from Blah to BlahImpl.

Implements net_instaweb::CommonFilter.


The documentation for this class was generated from the following file: