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

Classes

class  Transformer
 

Public Member Functions

 CssTagScanner (HtmlParse *html_parse)
 
bool ParseCssElement (HtmlElement *element, HtmlElement::Attribute **href, const char **media, StringPieceVector *nonstandard_attributes)
 
bool ParseCssElement (HtmlElement *element, HtmlElement::Attribute **href, const char **media)
 

Static Public Member Functions

static bool TransformUrls (const StringPiece &contents, Writer *writer, Transformer *transformer, MessageHandler *handler)
 
static bool HasImport (const StringPiece &contents, MessageHandler *handler)
 
static bool HasUrl (const StringPiece &contents)
 Detemines whether this CSS contains a URI value (aka URL).
 
static bool IsStylesheetOrAlternate (const StringPiece &attribute_value)
 
static bool IsAlternateStylesheet (const StringPiece &attribute_value)
 Does this rel attribute value represent an alternate stylesheet?
 

Static Public Attributes

static const char kStylesheet []
 
static const char kAlternate []
 
static const char kUriValue []
 

Member Function Documentation

static bool net_instaweb::CssTagScanner::HasImport ( const StringPiece &  contents,
MessageHandler *  handler 
)
static

Does this CSS file contain ? If so, it cannot be combined with previous CSS files. This may give false-positives, but no false-negatives.

static bool net_instaweb::CssTagScanner::IsStylesheetOrAlternate ( const StringPiece &  attribute_value)
static

Does this attribute value represent a stylesheet or alternate stylesheet? Should be called with element->AttributeValue(HtmlName::kRel) as the arg.

bool net_instaweb::CssTagScanner::ParseCssElement ( HtmlElement *  element,
HtmlElement::Attribute **  href,
const char **  media,
StringPieceVector *  nonstandard_attributes 
)

Examines an HTML element to determine if it's a CSS link, extracting out the href, the media type (if any) and any nonstandard attributes. If it's not CSS, href is set to NULL, media is set to "", and no nonstandard attributes are identified. NULL may be passed for nonstandard_attributes to indicate the caller doesn't need them collected.

bool net_instaweb::CssTagScanner::ParseCssElement ( HtmlElement *  element,
HtmlElement::Attribute **  href,
const char **  media 
)
inline

Many callers don't care about nonstandard attributes, so we provide a version that discards that information.

nonstandard attributes

static bool net_instaweb::CssTagScanner::TransformUrls ( const StringPiece &  contents,
Writer *  writer,
Transformer transformer,
MessageHandler *  handler 
)
static

Scans the contents of a CSS file, looking for the pattern url(xxx). Performs an arbitrary mutation on all such URLs. If xxx is quoted with single-quotes or double-quotes, those are retained and the URL inside is transformed.


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