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; }
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(); }