示例#1
0
static void setPropertySwitchesFromRuntimeFeatures(BoolVector& properties)
{
    CSSPropertyID regionProperites[] = {
        CSSPropertyWebkitFlowInto,
        CSSPropertyWebkitFlowFrom,
        CSSPropertyWebkitRegionOverflow,
        CSSPropertyWebkitRegionBreakAfter,
        CSSPropertyWebkitRegionBreakBefore,
        CSSPropertyWebkitRegionBreakInside
    };
    setCSSPropertiesEnabled(regionProperites, WTF_ARRAY_LENGTH(regionProperites), RuntimeEnabledFeatures::cssRegionsEnabled());
    CSSPropertyID exclusionProperties[] = {
        CSSPropertyWebkitWrap,
        CSSPropertyWebkitWrapFlow,
        CSSPropertyWebkitShapeMargin,
        CSSPropertyWebkitShapePadding,
        CSSPropertyWebkitWrapThrough,
        CSSPropertyWebkitShapeInside,
        CSSPropertyWebkitShapeOutside,
    };
    setCSSPropertiesEnabled(exclusionProperties, WTF_ARRAY_LENGTH(exclusionProperties), RuntimeEnabledFeatures::cssExclusionsEnabled());

    RuntimeCSSEnabled::setCSSPropertyEnabled(CSSPropertyBackgroundBlendMode, RuntimeEnabledFeatures::cssCompositingEnabled());
    RuntimeCSSEnabled::setCSSPropertyEnabled(CSSPropertyMixBlendMode, RuntimeEnabledFeatures::cssCompositingEnabled());
}
static void setPropertySwitchesFromRuntimeFeatures()
{
    CSSPropertyID css3TextDecorationProperties[] = {
        CSSPropertyTextDecorationColor,
        CSSPropertyTextDecorationLine,
        CSSPropertyTextDecorationStyle,
        CSSPropertyTextUnderlinePosition,
    };
    setCSSPropertiesEnabled(css3TextDecorationProperties, WTF_ARRAY_LENGTH(css3TextDecorationProperties), RuntimeEnabledFeatures::css3TextDecorationsEnabled());
    CSSPropertyID css3TextProperties[] = {
        CSSPropertyTextAlignLast,
        CSSPropertyTextJustify,
    };
    setCSSPropertiesEnabled(css3TextProperties, WTF_ARRAY_LENGTH(css3TextProperties), RuntimeEnabledFeatures::css3TextEnabled());
    CSSPropertyID cssGridLayoutProperties[] = {
        CSSPropertyGridAutoColumns,
        CSSPropertyGridAutoRows,
        CSSPropertyGridTemplateColumns,
        CSSPropertyGridTemplateRows,
        CSSPropertyGridColumnStart,
        CSSPropertyGridColumnEnd,
        CSSPropertyGridRowStart,
        CSSPropertyGridRowEnd,
        CSSPropertyGridColumn,
        CSSPropertyGridRow,
        CSSPropertyGridArea,
        CSSPropertyGridAutoFlow,
        CSSPropertyGridTemplateAreas,
        CSSPropertyGridTemplate,
        CSSPropertyGrid,
        CSSPropertyJustifySelf,
        CSSPropertyJustifyItems
    };
    setCSSPropertiesEnabled(cssGridLayoutProperties, WTF_ARRAY_LENGTH(cssGridLayoutProperties), RuntimeEnabledFeatures::cssGridLayoutEnabled());
    CSSPropertyID cssObjectFitPositionProperties[] = {
        CSSPropertyObjectFit,
        CSSPropertyObjectPosition
    };
    setCSSPropertiesEnabled(cssObjectFitPositionProperties, WTF_ARRAY_LENGTH(cssObjectFitPositionProperties), RuntimeEnabledFeatures::objectFitPositionEnabled());

    CSSPropertyID animationProperties[] = {
        CSSPropertyAnimation,
        CSSPropertyAnimationName,
        CSSPropertyAnimationDuration,
        CSSPropertyAnimationTimingFunction,
        CSSPropertyAnimationDelay,
        CSSPropertyAnimationIterationCount,
        CSSPropertyAnimationDirection,
        CSSPropertyAnimationFillMode,
        CSSPropertyAnimationPlayState
    };
    setCSSPropertiesEnabled(animationProperties, WTF_ARRAY_LENGTH(animationProperties), RuntimeEnabledFeatures::cssAnimationUnprefixedEnabled());

    RuntimeCSSEnabled::setCSSPropertyEnabled(CSSPropertyMixBlendMode, RuntimeEnabledFeatures::cssCompositingEnabled());
    RuntimeCSSEnabled::setCSSPropertyEnabled(CSSPropertyIsolation, RuntimeEnabledFeatures::cssCompositingEnabled());
    RuntimeCSSEnabled::setCSSPropertyEnabled(CSSPropertyTouchActionDelay, RuntimeEnabledFeatures::cssTouchActionDelayEnabled());
    RuntimeCSSEnabled::setCSSPropertyEnabled(CSSPropertyMaskSourceType, RuntimeEnabledFeatures::cssMaskSourceTypeEnabled());
    RuntimeCSSEnabled::setCSSPropertyEnabled(CSSPropertyColumnFill, RuntimeEnabledFeatures::regionBasedColumnsEnabled());
    RuntimeCSSEnabled::setCSSPropertyEnabled(CSSPropertyScrollBehavior, RuntimeEnabledFeatures::cssomSmoothScrollEnabled());
}