当前位置: 首页>>代码示例>>C++>>正文


C++ StyleResolver::appendAuthorStylesheets方法代码示例

本文整理汇总了C++中StyleResolver::appendAuthorStylesheets方法的典型用法代码示例。如果您正苦于以下问题:C++ StyleResolver::appendAuthorStylesheets方法的具体用法?C++ StyleResolver::appendAuthorStylesheets怎么用?C++ StyleResolver::appendAuthorStylesheets使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在StyleResolver的用法示例。


在下文中一共展示了StyleResolver::appendAuthorStylesheets方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: updateActiveStyleSheets

bool DocumentStyleSheetCollection::updateActiveStyleSheets(UpdateFlag updateFlag)
{
    if (m_document->inStyleRecalc()) {
        // SVG <use> element may manage to invalidate style selector in the middle of a style recalc.
        // https://bugs.webkit.org/show_bug.cgi?id=54344
        // FIXME: This should be fixed in SVG and the call site replaced by ASSERT(!m_inStyleRecalc).
        m_needsUpdateActiveStylesheetsOnStyleRecalc = true;
        m_document->scheduleForcedStyleRecalc();
        return false;

    }
    if (!m_document->renderer() || !m_document->attached())
        return false;

    Vector<RefPtr<StyleSheet> > newStylesheets;
    collectActiveStyleSheets(newStylesheets);

    StyleResolverUpdateType styleResolverUpdateType;
    bool requiresFullStyleRecalc;
    analyzeStyleSheetChange(updateFlag, newStylesheets, styleResolverUpdateType, requiresFullStyleRecalc);

    if (styleResolverUpdateType == Reconstruct)
        m_document->clearStyleResolver();
    else {
        StyleResolver* styleResolver = m_document->styleResolver();
        if (styleResolverUpdateType == Reset) {
            styleResolver->resetAuthorStyle();
            styleResolver->appendAuthorStylesheets(0, newStylesheets);
        } else {
            ASSERT(styleResolverUpdateType == Additive);
            styleResolver->appendAuthorStylesheets(m_authorStyleSheets.size(), newStylesheets);
        }
        resetCSSFeatureFlags();
    }
    m_authorStyleSheets.swap(newStylesheets);

    m_usesRemUnits = styleSheetsUseRemUnits(m_authorStyleSheets);
    m_needsUpdateActiveStylesheetsOnStyleRecalc = false;

    m_document->notifySeamlessChildDocumentsOfStylesheetUpdate();

    return requiresFullStyleRecalc;
}
开发者ID:,项目名称:,代码行数:43,代码来源:


注:本文中的StyleResolver::appendAuthorStylesheets方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。