コード例 #1
0
void CSSPreloadScanner::emitRule()
{
    if (equalIgnoringCase("import", m_rule.data(), m_rule.size())) {
        String value = parseCSSStringOrURL(m_ruleValue.data(), m_ruleValue.size());
        if (!value.isEmpty())
            m_document->cachedResourceLoader()->preload(CachedResource::CSSStyleSheet, value, String(), m_scanningBody);
    }
    m_rule.clear();
    m_ruleValue.clear();
}
コード例 #2
0
void CSSPreloadScanner::emitRule()
{
    if (equalIgnoringCase("import", m_rule.data(), m_rule.size())) {
        String value = parseCSSStringOrURL(m_ruleValue.data(), m_ruleValue.size());
// CAPPFIX_WEB_WEBGL
        if (!value.isEmpty()) {
            ResourceRequest request(m_document->completeURL(value));
            m_document->cachedResourceLoader()->preload(CachedResource::CSSStyleSheet, request, String(), m_scanningBody);
        }
// CAPPFIX_WEB_WEBGL_END
        m_state = Initial;
    } else if (equalIgnoringCase("charset", m_rule.data(), m_rule.size()))
        m_state = Initial;
    else
        m_state = DoneParsingImportRules;
    m_rule.clear();
    m_ruleValue.clear();
}
コード例 #3
0
void CSSPreloadScanner::emitRule()
{
    if (ruleEqualIgnoringCase(m_rule, "import")) {
        String url = parseCSSStringOrURL(m_ruleValue.data(), m_ruleValue.size());
        if (!url.isEmpty()) {
            KURL baseElementURL; // FIXME: This should be passed in from the HTMLPreloadScaner via scan()!
            OwnPtr<PreloadRequest> request = PreloadRequest::create("css", url, baseElementURL, CachedResource::CSSStyleSheet);
            // FIXME: Should this be including the charset in the preload request?
            m_requests->append(request.release());
        }
        m_state = Initial;
    } else if (ruleEqualIgnoringCase(m_rule, "charset"))
        m_state = Initial;
    else
        m_state = DoneParsingImportRules;
    m_rule.clear();
    m_ruleValue.clear();
}
コード例 #4
0
void CSSPreloadScanner::emitRule()
{
    StringView rule(m_rule.data(), m_rule.size());
    if (equalLettersIgnoringASCIICase(rule, "import")) {
        String url = parseCSSStringOrURL(m_ruleValue.data(), m_ruleValue.size());
        if (!url.isEmpty()) {
            URL baseElementURL; // FIXME: This should be passed in from the HTMLPreloadScanner via scan(): without it we will get relative URLs wrong.
            // FIXME: Should this be including the charset in the preload request?
            m_requests->append(std::make_unique<PreloadRequest>("css", url, baseElementURL, CachedResource::CSSStyleSheet, String()));
        }
        m_state = Initial;
    } else if (equalLettersIgnoringASCIICase(rule, "charset"))
        m_state = Initial;
    else
        m_state = DoneParsingImportRules;
    m_rule.clear();
    m_ruleValue.clear();
}
コード例 #5
0
void CSSPreloadScanner::emitRule(const SegmentedString& source)
{
    if (equalIgnoringCase("import", m_rule.characters(), m_rule.length())) {
        String url = parseCSSStringOrURL(m_ruleValue.characters(), m_ruleValue.length());
        if (!url.isEmpty()) {
            KURL baseElementURL; // FIXME: This should be passed in from the HTMLPreloadScaner via scan()!
            TextPosition position = TextPosition(source.currentLine(), source.currentColumn());
            OwnPtr<PreloadRequest> request = PreloadRequest::create("css", position, url, baseElementURL, CachedResource::CSSStyleSheet);
            // FIXME: Should this be including the charset in the preload request?
            m_requests->append(request.release());
        }
        m_state = Initial;
    } else if (equalIgnoringCase("charset", m_rule.characters(), m_rule.length()))
        m_state = Initial;
    else
        m_state = DoneParsingImportRules;
    m_rule.clear();
    m_ruleValue.clear();
}