|
enum | InputPortion { kInputIncludesEnd,
kInputDoesNotIncludeEnd
} |
|
|
static const char | kStylesheet [] |
|
static const char | kAlternate [] |
|
static const char | kUriValue [] |
|
When parsing streaming input, we need to be told if the given input portion goes up to end-of-file (since it affects whether something may continue the last token of the input).
An instance of CssTagScanner should be created to use TransformUrlsStreaming; other APIs do not need this. *transformer will be used to to transform URLs in CSS, and *handler for logging.
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.
static bool net_instaweb::CssTagScanner::ParseCssElement |
( |
HtmlElement * |
element, |
|
|
HtmlElement::Attribute ** |
href, |
|
|
const char ** |
media, |
|
|
StringPieceVector * |
nonstandard_attributes |
|
) |
| |
|
static |
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.
Many callers don't care about nonstandard attributes, so we provide a version that discards that information.
nonstandard attributes
GoogleString net_instaweb::CssTagScanner::RetainedForReparse |
( |
| ) |
const |
|
inline |
Returns what was retained by TransformUrlsStreaming for reparsing. Meant for use in tests.
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.
bool net_instaweb::CssTagScanner::TransformUrlsStreaming |
( |
StringPiece |
contents, |
|
|
InputPortion |
input_portion, |
|
|
Writer * |
writer |
|
) |
| |
Like above, but handles incomplete input. In such a case, all chunks other than the last one should be served with input_portion == kInputDoesNotIncludeEnd. Note that this method store some state for reparsing, so you can't concurrently run two streams through the same CssTagScanner object.
The documentation for this class was generated from the following file: