Ejemplo n.º 1
0
const String CachedCSSStyleSheet::sheetText(bool enforceMIMEType, bool* hasValidMIMEType) const 
{ 
    ASSERT(!isPurgeable());

    if (!m_data || m_data->isEmpty() || !canUseSheet(enforceMIMEType, hasValidMIMEType))
        return String();
    
    if (!m_decodedSheetText.isNull())
        return m_decodedSheetText;
    
    // Don't cache the decoded text, regenerating is cheap and it can use quite a bit of memory
    String sheetText = m_decoder->decode(m_data->data(), m_data->size());
    sheetText += m_decoder->flush();
    return sheetText;
}
Ejemplo n.º 2
0
const String CSSStyleSheetResource::sheetText(
    MIMETypeCheck mimeTypeCheck) const {
    if (!canUseSheet(mimeTypeCheck))
        return String();

    // Use cached decoded sheet text when available
    if (!m_decodedSheetText.isNull()) {
        // We should have the decoded sheet text cached when the resource is fully
        // loaded.
        DCHECK_EQ(getStatus(), Resource::Cached);

        return m_decodedSheetText;
    }

    if (!data() || data()->isEmpty())
        return String();

    return decodedText();
}