| /* This file is automatically generated from CSSPropertyNames.in by makeprop, do not edit */ |
| |
| #include "config.h" |
| #include "StyleBuilder.h" |
| |
| #include "CSSPrimitiveValueMappings.h" |
| #include "CSSProperty.h" |
| #include "RenderStyle.h" |
| #include "StyleBuilderConverter.h" |
| #include "StyleBuilderCustom.h" |
| #include "StylePropertyShorthand.h" |
| #include "StyleResolver.h" |
| |
| namespace WebCore { |
| |
| class StyleBuilderFunctions { |
| public: |
| static void applyInitialColor(StyleResolver& styleResolver) |
| { |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setColor(RenderStyle::initialColor()); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkColor(RenderStyle::initialColor()); |
| } |
| static void applyInheritColor(StyleResolver& styleResolver) |
| { |
| Color color = styleResolver.parentStyle()->color(); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setColor(color); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkColor(color); |
| } |
| static void applyValueColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto& primitiveValue = downcast<CSSPrimitiveValue>(value); |
| if (primitiveValue.getValueID() == CSSValueCurrentcolor) { |
| applyInheritColor(styleResolver); |
| return; |
| } |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false)); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true)); |
| } |
| static void applyInitialDirection(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setDirection(RenderStyle::initialDirection()); |
| } |
| static void applyInheritDirection(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setDirection(styleResolver.parentStyle()->direction()); |
| } |
| static void applyInitialDisplay(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setDisplay(RenderStyle::initialDisplay()); |
| } |
| static void applyInitialFontStyle(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setItalic(FontCascadeDescription::initialItalic()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInheritFontStyle(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setItalic(styleResolver.parentFontDescription().italic()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyValueFontStyle(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setItalic(downcast<CSSPrimitiveValue>(value)); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInitialTextRendering(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setTextRenderingMode(FontCascadeDescription::initialTextRenderingMode()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInheritTextRendering(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setTextRenderingMode(styleResolver.parentFontDescription().textRenderingMode()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyValueTextRendering(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setTextRenderingMode(downcast<CSSPrimitiveValue>(value)); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyValueFontFeatureSettings(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setFeatureSettings(StyleBuilderConverter::convertFontFeatureSettings(styleResolver, value)); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInitialWebkitFontKerning(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setKerning(FontCascadeDescription::initialKerning()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInheritWebkitFontKerning(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setKerning(styleResolver.parentFontDescription().kerning()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyValueWebkitFontKerning(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setKerning(downcast<CSSPrimitiveValue>(value)); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInitialWebkitFontSmoothing(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setFontSmoothing(FontCascadeDescription::initialFontSmoothing()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInheritWebkitFontSmoothing(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setFontSmoothing(styleResolver.parentFontDescription().fontSmoothing()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyValueWebkitFontSmoothing(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setFontSmoothing(downcast<CSSPrimitiveValue>(value)); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInitialFontVariantPosition(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setVariantPosition(FontCascadeDescription::initialVariantPosition()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInheritFontVariantPosition(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setVariantPosition(styleResolver.parentFontDescription().variantPosition()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyValueFontVariantPosition(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setVariantPosition(downcast<CSSPrimitiveValue>(value)); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInitialFontVariantCaps(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setVariantCaps(FontCascadeDescription::initialVariantCaps()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInheritFontVariantCaps(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setVariantCaps(styleResolver.parentFontDescription().variantCaps()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyValueFontVariantCaps(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setVariantCaps(downcast<CSSPrimitiveValue>(value)); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInitialFontVariantAlternates(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setVariantAlternates(FontCascadeDescription::initialVariantAlternates()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInheritFontVariantAlternates(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setVariantAlternates(styleResolver.parentFontDescription().variantAlternates()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyValueFontVariantAlternates(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setVariantAlternates(downcast<CSSPrimitiveValue>(value)); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInitialWebkitLocale(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setLocale(FontCascadeDescription::initialLocale()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInheritWebkitLocale(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setLocale(styleResolver.parentFontDescription().locale()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInitialWebkitTextOrientation(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextOrientation(RenderStyle::initialTextOrientation()); |
| } |
| static void applyInheritWebkitTextOrientation(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextOrientation(styleResolver.parentStyle()->textOrientation()); |
| } |
| static void applyInitialWebkitWritingMode(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setWritingMode(RenderStyle::initialWritingMode()); |
| } |
| static void applyInheritWebkitWritingMode(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setWritingMode(styleResolver.parentStyle()->writingMode()); |
| } |
| static void applyInitialWebkitTextZoom(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextZoom(RenderStyle::initialTextZoom()); |
| } |
| static void applyInheritWebkitTextZoom(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextZoom(styleResolver.parentStyle()->textZoom()); |
| } |
| static void applyInitialFontSynthesis(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setFontSynthesis(FontCascadeDescription::initialFontSynthesis()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInheritFontSynthesis(StyleResolver& styleResolver) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setFontSynthesis(styleResolver.parentFontDescription().fontSynthesis()); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyValueFontSynthesis(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto fontDescription = styleResolver.fontDescription(); |
| fontDescription.setFontSynthesis(StyleBuilderConverter::convertFontSynthesis(styleResolver, value)); |
| styleResolver.setFontDescription(fontDescription); |
| } |
| static void applyInitialWebkitRubyPosition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRubyPosition(RenderStyle::initialRubyPosition()); |
| } |
| static void applyInheritWebkitRubyPosition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRubyPosition(styleResolver.parentStyle()->rubyPosition()); |
| } |
| static void applyValueWebkitRubyPosition(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setRubyPosition(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialAlignmentBaseline(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setAlignmentBaseline(SVGRenderStyle::initialAlignmentBaseline()); |
| } |
| static void applyInheritAlignmentBaseline(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setAlignmentBaseline(styleResolver.parentStyle()->svgStyle().alignmentBaseline()); |
| } |
| static void applyValueAlignmentBaseline(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setAlignmentBaseline(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialAnimationDelay(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| list.animation(0).setDelay(Animation::initialDelay()); |
| for (size_t i = 1; i < list.size(); ++i) |
| list.animation(i).clearDelay(); |
| } |
| static void applyInheritAnimationDelay(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| const AnimationList* parentList = styleResolver.parentStyle()->animations(); |
| size_t i = 0, parentSize = parentList ? parentList->size() : 0; |
| for ( ; i < parentSize && parentList->animation(i).isDelaySet(); ++i) { |
| if (list.size() <= i) |
| list.append(Animation::create()); |
| list.animation(i).setDelay(parentList->animation(i).delay()); |
| list.animation(i).setAnimationMode(parentList->animation(i).animationMode()); |
| } |
| |
| /* Reset any remaining animations to not have the property set. */ |
| for ( ; i < list.size(); ++i) |
| list.animation(i).clearDelay(); |
| } |
| static void applyValueAnimationDelay(StyleResolver& styleResolver, CSSValue& value) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| size_t childIndex = 0; |
| if (is<CSSValueList>(value)) { |
| /* Walk each value and put it into an animation, creating new animations as needed. */ |
| for (auto& currentValue : downcast<CSSValueList>(value)) { |
| if (childIndex <= list.size()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationDelay(list.animation(childIndex), currentValue); |
| ++childIndex; |
| } |
| } else { |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationDelay(list.animation(childIndex), value); |
| childIndex = 1; |
| } |
| for ( ; childIndex < list.size(); ++childIndex) { |
| /* Reset all remaining animations to not have the property set. */ |
| list.animation(childIndex).clearDelay(); |
| } |
| } |
| static void applyInitialAnimationDirection(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| list.animation(0).setDirection(Animation::initialDirection()); |
| for (size_t i = 1; i < list.size(); ++i) |
| list.animation(i).clearDirection(); |
| } |
| static void applyInheritAnimationDirection(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| const AnimationList* parentList = styleResolver.parentStyle()->animations(); |
| size_t i = 0, parentSize = parentList ? parentList->size() : 0; |
| for ( ; i < parentSize && parentList->animation(i).isDirectionSet(); ++i) { |
| if (list.size() <= i) |
| list.append(Animation::create()); |
| list.animation(i).setDirection(parentList->animation(i).direction()); |
| list.animation(i).setAnimationMode(parentList->animation(i).animationMode()); |
| } |
| |
| /* Reset any remaining animations to not have the property set. */ |
| for ( ; i < list.size(); ++i) |
| list.animation(i).clearDirection(); |
| } |
| static void applyValueAnimationDirection(StyleResolver& styleResolver, CSSValue& value) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| size_t childIndex = 0; |
| if (is<CSSValueList>(value)) { |
| /* Walk each value and put it into an animation, creating new animations as needed. */ |
| for (auto& currentValue : downcast<CSSValueList>(value)) { |
| if (childIndex <= list.size()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationDirection(list.animation(childIndex), currentValue); |
| ++childIndex; |
| } |
| } else { |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationDirection(list.animation(childIndex), value); |
| childIndex = 1; |
| } |
| for ( ; childIndex < list.size(); ++childIndex) { |
| /* Reset all remaining animations to not have the property set. */ |
| list.animation(childIndex).clearDirection(); |
| } |
| } |
| static void applyInitialAnimationDuration(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| list.animation(0).setDuration(Animation::initialDuration()); |
| for (size_t i = 1; i < list.size(); ++i) |
| list.animation(i).clearDuration(); |
| } |
| static void applyInheritAnimationDuration(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| const AnimationList* parentList = styleResolver.parentStyle()->animations(); |
| size_t i = 0, parentSize = parentList ? parentList->size() : 0; |
| for ( ; i < parentSize && parentList->animation(i).isDurationSet(); ++i) { |
| if (list.size() <= i) |
| list.append(Animation::create()); |
| list.animation(i).setDuration(parentList->animation(i).duration()); |
| list.animation(i).setAnimationMode(parentList->animation(i).animationMode()); |
| } |
| |
| /* Reset any remaining animations to not have the property set. */ |
| for ( ; i < list.size(); ++i) |
| list.animation(i).clearDuration(); |
| } |
| static void applyValueAnimationDuration(StyleResolver& styleResolver, CSSValue& value) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| size_t childIndex = 0; |
| if (is<CSSValueList>(value)) { |
| /* Walk each value and put it into an animation, creating new animations as needed. */ |
| for (auto& currentValue : downcast<CSSValueList>(value)) { |
| if (childIndex <= list.size()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationDuration(list.animation(childIndex), currentValue); |
| ++childIndex; |
| } |
| } else { |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationDuration(list.animation(childIndex), value); |
| childIndex = 1; |
| } |
| for ( ; childIndex < list.size(); ++childIndex) { |
| /* Reset all remaining animations to not have the property set. */ |
| list.animation(childIndex).clearDuration(); |
| } |
| } |
| static void applyInitialAnimationFillMode(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| list.animation(0).setFillMode(Animation::initialFillMode()); |
| for (size_t i = 1; i < list.size(); ++i) |
| list.animation(i).clearFillMode(); |
| } |
| static void applyInheritAnimationFillMode(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| const AnimationList* parentList = styleResolver.parentStyle()->animations(); |
| size_t i = 0, parentSize = parentList ? parentList->size() : 0; |
| for ( ; i < parentSize && parentList->animation(i).isFillModeSet(); ++i) { |
| if (list.size() <= i) |
| list.append(Animation::create()); |
| list.animation(i).setFillMode(parentList->animation(i).fillMode()); |
| list.animation(i).setAnimationMode(parentList->animation(i).animationMode()); |
| } |
| |
| /* Reset any remaining animations to not have the property set. */ |
| for ( ; i < list.size(); ++i) |
| list.animation(i).clearFillMode(); |
| } |
| static void applyValueAnimationFillMode(StyleResolver& styleResolver, CSSValue& value) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| size_t childIndex = 0; |
| if (is<CSSValueList>(value)) { |
| /* Walk each value and put it into an animation, creating new animations as needed. */ |
| for (auto& currentValue : downcast<CSSValueList>(value)) { |
| if (childIndex <= list.size()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationFillMode(list.animation(childIndex), currentValue); |
| ++childIndex; |
| } |
| } else { |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationFillMode(list.animation(childIndex), value); |
| childIndex = 1; |
| } |
| for ( ; childIndex < list.size(); ++childIndex) { |
| /* Reset all remaining animations to not have the property set. */ |
| list.animation(childIndex).clearFillMode(); |
| } |
| } |
| static void applyInitialAnimationIterationCount(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| list.animation(0).setIterationCount(Animation::initialIterationCount()); |
| for (size_t i = 1; i < list.size(); ++i) |
| list.animation(i).clearIterationCount(); |
| } |
| static void applyInheritAnimationIterationCount(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| const AnimationList* parentList = styleResolver.parentStyle()->animations(); |
| size_t i = 0, parentSize = parentList ? parentList->size() : 0; |
| for ( ; i < parentSize && parentList->animation(i).isIterationCountSet(); ++i) { |
| if (list.size() <= i) |
| list.append(Animation::create()); |
| list.animation(i).setIterationCount(parentList->animation(i).iterationCount()); |
| list.animation(i).setAnimationMode(parentList->animation(i).animationMode()); |
| } |
| |
| /* Reset any remaining animations to not have the property set. */ |
| for ( ; i < list.size(); ++i) |
| list.animation(i).clearIterationCount(); |
| } |
| static void applyValueAnimationIterationCount(StyleResolver& styleResolver, CSSValue& value) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| size_t childIndex = 0; |
| if (is<CSSValueList>(value)) { |
| /* Walk each value and put it into an animation, creating new animations as needed. */ |
| for (auto& currentValue : downcast<CSSValueList>(value)) { |
| if (childIndex <= list.size()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationIterationCount(list.animation(childIndex), currentValue); |
| ++childIndex; |
| } |
| } else { |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationIterationCount(list.animation(childIndex), value); |
| childIndex = 1; |
| } |
| for ( ; childIndex < list.size(); ++childIndex) { |
| /* Reset all remaining animations to not have the property set. */ |
| list.animation(childIndex).clearIterationCount(); |
| } |
| } |
| static void applyInitialAnimationName(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| list.animation(0).setName(Animation::initialName()); |
| for (size_t i = 1; i < list.size(); ++i) |
| list.animation(i).clearName(); |
| } |
| static void applyInheritAnimationName(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| const AnimationList* parentList = styleResolver.parentStyle()->animations(); |
| size_t i = 0, parentSize = parentList ? parentList->size() : 0; |
| for ( ; i < parentSize && parentList->animation(i).isNameSet(); ++i) { |
| if (list.size() <= i) |
| list.append(Animation::create()); |
| list.animation(i).setName(parentList->animation(i).name()); |
| list.animation(i).setAnimationMode(parentList->animation(i).animationMode()); |
| } |
| |
| /* Reset any remaining animations to not have the property set. */ |
| for ( ; i < list.size(); ++i) |
| list.animation(i).clearName(); |
| } |
| static void applyValueAnimationName(StyleResolver& styleResolver, CSSValue& value) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| size_t childIndex = 0; |
| if (is<CSSValueList>(value)) { |
| /* Walk each value and put it into an animation, creating new animations as needed. */ |
| for (auto& currentValue : downcast<CSSValueList>(value)) { |
| if (childIndex <= list.size()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationName(list.animation(childIndex), currentValue); |
| ++childIndex; |
| } |
| } else { |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationName(list.animation(childIndex), value); |
| childIndex = 1; |
| } |
| for ( ; childIndex < list.size(); ++childIndex) { |
| /* Reset all remaining animations to not have the property set. */ |
| list.animation(childIndex).clearName(); |
| } |
| } |
| static void applyInitialAnimationPlayState(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| list.animation(0).setPlayState(Animation::initialPlayState()); |
| for (size_t i = 1; i < list.size(); ++i) |
| list.animation(i).clearPlayState(); |
| } |
| static void applyInheritAnimationPlayState(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| const AnimationList* parentList = styleResolver.parentStyle()->animations(); |
| size_t i = 0, parentSize = parentList ? parentList->size() : 0; |
| for ( ; i < parentSize && parentList->animation(i).isPlayStateSet(); ++i) { |
| if (list.size() <= i) |
| list.append(Animation::create()); |
| list.animation(i).setPlayState(parentList->animation(i).playState()); |
| list.animation(i).setAnimationMode(parentList->animation(i).animationMode()); |
| } |
| |
| /* Reset any remaining animations to not have the property set. */ |
| for ( ; i < list.size(); ++i) |
| list.animation(i).clearPlayState(); |
| } |
| static void applyValueAnimationPlayState(StyleResolver& styleResolver, CSSValue& value) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| size_t childIndex = 0; |
| if (is<CSSValueList>(value)) { |
| /* Walk each value and put it into an animation, creating new animations as needed. */ |
| for (auto& currentValue : downcast<CSSValueList>(value)) { |
| if (childIndex <= list.size()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationPlayState(list.animation(childIndex), currentValue); |
| ++childIndex; |
| } |
| } else { |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationPlayState(list.animation(childIndex), value); |
| childIndex = 1; |
| } |
| for ( ; childIndex < list.size(); ++childIndex) { |
| /* Reset all remaining animations to not have the property set. */ |
| list.animation(childIndex).clearPlayState(); |
| } |
| } |
| static void applyInitialAnimationTimingFunction(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| list.animation(0).setTimingFunction(Animation::initialTimingFunction()); |
| for (size_t i = 1; i < list.size(); ++i) |
| list.animation(i).clearTimingFunction(); |
| } |
| static void applyInheritAnimationTimingFunction(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| const AnimationList* parentList = styleResolver.parentStyle()->animations(); |
| size_t i = 0, parentSize = parentList ? parentList->size() : 0; |
| for ( ; i < parentSize && parentList->animation(i).isTimingFunctionSet(); ++i) { |
| if (list.size() <= i) |
| list.append(Animation::create()); |
| list.animation(i).setTimingFunction(parentList->animation(i).timingFunction()); |
| list.animation(i).setAnimationMode(parentList->animation(i).animationMode()); |
| } |
| |
| /* Reset any remaining animations to not have the property set. */ |
| for ( ; i < list.size(); ++i) |
| list.animation(i).clearTimingFunction(); |
| } |
| static void applyValueAnimationTimingFunction(StyleResolver& styleResolver, CSSValue& value) |
| { |
| AnimationList& list = styleResolver.style()->ensureAnimations(); |
| size_t childIndex = 0; |
| if (is<CSSValueList>(value)) { |
| /* Walk each value and put it into an animation, creating new animations as needed. */ |
| for (auto& currentValue : downcast<CSSValueList>(value)) { |
| if (childIndex <= list.size()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationTimingFunction(list.animation(childIndex), currentValue); |
| ++childIndex; |
| } |
| } else { |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationTimingFunction(list.animation(childIndex), value); |
| childIndex = 1; |
| } |
| for ( ; childIndex < list.size(); ++childIndex) { |
| /* Reset all remaining animations to not have the property set. */ |
| list.animation(childIndex).clearTimingFunction(); |
| } |
| } |
| static void applyInitialBackgroundAttachment(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isAttachmentSet() || layers.attachment() == FillLayer::initialFillAttachment(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setAttachment(FillLayer::initialFillAttachment(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearAttachment(); |
| } |
| static void applyInheritBackgroundAttachment(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isAttachmentSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setAttachment(parent->attachment()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearAttachment(); |
| } |
| static void applyValueBackgroundAttachment(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillAttachment(CSSPropertyBackgroundAttachment, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillAttachment(CSSPropertyBackgroundAttachment, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearAttachment(); |
| } |
| static void applyInitialBackgroundBlendMode(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isBlendModeSet() || layers.blendMode() == FillLayer::initialFillBlendMode(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setBlendMode(FillLayer::initialFillBlendMode(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearBlendMode(); |
| } |
| static void applyInheritBackgroundBlendMode(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isBlendModeSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setBlendMode(parent->blendMode()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearBlendMode(); |
| } |
| static void applyValueBackgroundBlendMode(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillBlendMode(CSSPropertyBackgroundBlendMode, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillBlendMode(CSSPropertyBackgroundBlendMode, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearBlendMode(); |
| } |
| static void applyInitialBackgroundClip(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isClipSet() || layers.clip() == FillLayer::initialFillClip(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setClip(FillLayer::initialFillClip(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearClip(); |
| } |
| static void applyInheritBackgroundClip(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isClipSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setClip(parent->clip()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearClip(); |
| } |
| static void applyValueBackgroundClip(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillClip(CSSPropertyBackgroundClip, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillClip(CSSPropertyBackgroundClip, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearClip(); |
| } |
| static void applyInitialBackgroundColor(StyleResolver& styleResolver) |
| { |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBackgroundColor(RenderStyle::initialBackgroundColor()); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBackgroundColor(RenderStyle::initialBackgroundColor()); |
| } |
| static void applyInheritBackgroundColor(StyleResolver& styleResolver) |
| { |
| Color color = styleResolver.parentStyle()->backgroundColor(); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBackgroundColor(color); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBackgroundColor(color); |
| } |
| static void applyValueBackgroundColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto& primitiveValue = downcast<CSSPrimitiveValue>(value); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBackgroundColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false)); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBackgroundColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true)); |
| } |
| static void applyInitialBackgroundImage(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isImageSet() || layers.image() == FillLayer::initialFillImage(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setImage(FillLayer::initialFillImage(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearImage(); |
| } |
| static void applyInheritBackgroundImage(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isImageSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setImage(parent->image()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearImage(); |
| } |
| static void applyValueBackgroundImage(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillImage(CSSPropertyBackgroundImage, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillImage(CSSPropertyBackgroundImage, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearImage(); |
| } |
| static void applyInitialBackgroundOrigin(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isOriginSet() || layers.origin() == FillLayer::initialFillOrigin(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setOrigin(FillLayer::initialFillOrigin(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearOrigin(); |
| } |
| static void applyInheritBackgroundOrigin(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isOriginSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setOrigin(parent->origin()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearOrigin(); |
| } |
| static void applyValueBackgroundOrigin(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillOrigin(CSSPropertyBackgroundOrigin, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillOrigin(CSSPropertyBackgroundOrigin, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearOrigin(); |
| } |
| static void applyInitialBackgroundPositionX(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isXPositionSet() || layers.xPosition() == FillLayer::initialFillXPosition(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setXPosition(FillLayer::initialFillXPosition(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearXPosition(); |
| } |
| static void applyInheritBackgroundPositionX(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isXPositionSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setXPosition(parent->xPosition()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearXPosition(); |
| } |
| static void applyValueBackgroundPositionX(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillXPosition(CSSPropertyBackgroundPositionX, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillXPosition(CSSPropertyBackgroundPositionX, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearXPosition(); |
| } |
| static void applyInitialBackgroundPositionY(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isYPositionSet() || layers.yPosition() == FillLayer::initialFillYPosition(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setYPosition(FillLayer::initialFillYPosition(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearYPosition(); |
| } |
| static void applyInheritBackgroundPositionY(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isYPositionSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setYPosition(parent->yPosition()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearYPosition(); |
| } |
| static void applyValueBackgroundPositionY(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillYPosition(CSSPropertyBackgroundPositionY, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillYPosition(CSSPropertyBackgroundPositionY, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearYPosition(); |
| } |
| static void applyInitialBackgroundRepeatX(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isRepeatXSet() || layers.repeatX() == FillLayer::initialFillRepeatX(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setRepeatX(FillLayer::initialFillRepeatX(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearRepeatX(); |
| } |
| static void applyInheritBackgroundRepeatX(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isRepeatXSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setRepeatX(parent->repeatX()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearRepeatX(); |
| } |
| static void applyValueBackgroundRepeatX(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillRepeatX(CSSPropertyBackgroundRepeatX, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillRepeatX(CSSPropertyBackgroundRepeatX, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearRepeatX(); |
| } |
| static void applyInitialBackgroundRepeatY(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isRepeatYSet() || layers.repeatY() == FillLayer::initialFillRepeatY(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setRepeatY(FillLayer::initialFillRepeatY(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearRepeatY(); |
| } |
| static void applyInheritBackgroundRepeatY(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isRepeatYSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setRepeatY(parent->repeatY()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearRepeatY(); |
| } |
| static void applyValueBackgroundRepeatY(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillRepeatY(CSSPropertyBackgroundRepeatY, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillRepeatY(CSSPropertyBackgroundRepeatY, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearRepeatY(); |
| } |
| static void applyInitialBackgroundSize(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isSizeSet() || layers.size() == FillLayer::initialFillSize(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setSize(FillLayer::initialFillSize(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearSize(); |
| } |
| static void applyInheritBackgroundSize(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isSizeSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setSize(parent->size()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearSize(); |
| } |
| static void applyValueBackgroundSize(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillSize(CSSPropertyBackgroundSize, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillSize(CSSPropertyBackgroundSize, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearSize(); |
| } |
| static void applyInitialBaselineShift(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setBaselineShift(SVGRenderStyle::initialBaselineShift()); |
| } |
| static void applyInheritBaselineShift(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setBaselineShift(styleResolver.parentStyle()->svgStyle().baselineShift()); |
| } |
| static void applyInitialBorderBottomColor(StyleResolver& styleResolver) |
| { |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBorderBottomColor(RenderStyle::invalidColor()); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBorderBottomColor(RenderStyle::invalidColor()); |
| } |
| static void applyInheritBorderBottomColor(StyleResolver& styleResolver) |
| { |
| Color color = styleResolver.parentStyle()->borderBottomColor(); |
| if (!color.isValid()) |
| color = styleResolver.parentStyle()->color(); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBorderBottomColor(color); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBorderBottomColor(color); |
| } |
| static void applyValueBorderBottomColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto& primitiveValue = downcast<CSSPrimitiveValue>(value); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBorderBottomColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false)); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBorderBottomColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true)); |
| } |
| static void applyInitialBorderBottomLeftRadius(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderBottomLeftRadius(RenderStyle::initialBorderRadius()); |
| } |
| static void applyInheritBorderBottomLeftRadius(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderBottomLeftRadius(styleResolver.parentStyle()->borderBottomLeftRadius()); |
| } |
| static void applyValueBorderBottomLeftRadius(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderBottomLeftRadius(StyleBuilderConverter::convertRadius(styleResolver, value)); |
| } |
| static void applyInitialBorderBottomRightRadius(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderBottomRightRadius(RenderStyle::initialBorderRadius()); |
| } |
| static void applyInheritBorderBottomRightRadius(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderBottomRightRadius(styleResolver.parentStyle()->borderBottomRightRadius()); |
| } |
| static void applyValueBorderBottomRightRadius(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderBottomRightRadius(StyleBuilderConverter::convertRadius(styleResolver, value)); |
| } |
| static void applyInitialBorderBottomStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderBottomStyle(RenderStyle::initialBorderStyle()); |
| } |
| static void applyInheritBorderBottomStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderBottomStyle(styleResolver.parentStyle()->borderBottomStyle()); |
| } |
| static void applyValueBorderBottomStyle(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderBottomStyle(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialBorderBottomWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderBottomWidth(RenderStyle::initialBorderWidth()); |
| } |
| static void applyInheritBorderBottomWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderBottomWidth(styleResolver.parentStyle()->borderBottomWidth()); |
| } |
| static void applyValueBorderBottomWidth(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderBottomWidth(StyleBuilderConverter::convertLineWidth<float>(styleResolver, value)); |
| } |
| static void applyInitialBorderCollapse(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderCollapse(RenderStyle::initialBorderCollapse()); |
| } |
| static void applyInheritBorderCollapse(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderCollapse(styleResolver.parentStyle()->borderCollapse()); |
| } |
| static void applyValueBorderCollapse(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderCollapse(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialBorderImageSource(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderImageSource(RenderStyle::initialBorderImageSource()); |
| } |
| static void applyInheritBorderImageSource(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderImageSource(styleResolver.parentStyle()->borderImageSource()); |
| } |
| static void applyValueBorderImageSource(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderImageSource(StyleBuilderConverter::convertStyleImage<CSSPropertyBorderImageSource>(styleResolver, value)); |
| } |
| static void applyInitialBorderLeftColor(StyleResolver& styleResolver) |
| { |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBorderLeftColor(RenderStyle::invalidColor()); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBorderLeftColor(RenderStyle::invalidColor()); |
| } |
| static void applyInheritBorderLeftColor(StyleResolver& styleResolver) |
| { |
| Color color = styleResolver.parentStyle()->borderLeftColor(); |
| if (!color.isValid()) |
| color = styleResolver.parentStyle()->color(); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBorderLeftColor(color); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBorderLeftColor(color); |
| } |
| static void applyValueBorderLeftColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto& primitiveValue = downcast<CSSPrimitiveValue>(value); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBorderLeftColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false)); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBorderLeftColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true)); |
| } |
| static void applyInitialBorderLeftStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderLeftStyle(RenderStyle::initialBorderStyle()); |
| } |
| static void applyInheritBorderLeftStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderLeftStyle(styleResolver.parentStyle()->borderLeftStyle()); |
| } |
| static void applyValueBorderLeftStyle(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderLeftStyle(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialBorderLeftWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderLeftWidth(RenderStyle::initialBorderWidth()); |
| } |
| static void applyInheritBorderLeftWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderLeftWidth(styleResolver.parentStyle()->borderLeftWidth()); |
| } |
| static void applyValueBorderLeftWidth(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderLeftWidth(StyleBuilderConverter::convertLineWidth<float>(styleResolver, value)); |
| } |
| static void applyInitialBorderRightColor(StyleResolver& styleResolver) |
| { |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBorderRightColor(RenderStyle::invalidColor()); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBorderRightColor(RenderStyle::invalidColor()); |
| } |
| static void applyInheritBorderRightColor(StyleResolver& styleResolver) |
| { |
| Color color = styleResolver.parentStyle()->borderRightColor(); |
| if (!color.isValid()) |
| color = styleResolver.parentStyle()->color(); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBorderRightColor(color); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBorderRightColor(color); |
| } |
| static void applyValueBorderRightColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto& primitiveValue = downcast<CSSPrimitiveValue>(value); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBorderRightColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false)); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBorderRightColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true)); |
| } |
| static void applyInitialBorderRightStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderRightStyle(RenderStyle::initialBorderStyle()); |
| } |
| static void applyInheritBorderRightStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderRightStyle(styleResolver.parentStyle()->borderRightStyle()); |
| } |
| static void applyValueBorderRightStyle(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderRightStyle(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialBorderRightWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderRightWidth(RenderStyle::initialBorderWidth()); |
| } |
| static void applyInheritBorderRightWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderRightWidth(styleResolver.parentStyle()->borderRightWidth()); |
| } |
| static void applyValueBorderRightWidth(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderRightWidth(StyleBuilderConverter::convertLineWidth<float>(styleResolver, value)); |
| } |
| static void applyInitialBorderTopColor(StyleResolver& styleResolver) |
| { |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBorderTopColor(RenderStyle::invalidColor()); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBorderTopColor(RenderStyle::invalidColor()); |
| } |
| static void applyInheritBorderTopColor(StyleResolver& styleResolver) |
| { |
| Color color = styleResolver.parentStyle()->borderTopColor(); |
| if (!color.isValid()) |
| color = styleResolver.parentStyle()->color(); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBorderTopColor(color); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBorderTopColor(color); |
| } |
| static void applyValueBorderTopColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto& primitiveValue = downcast<CSSPrimitiveValue>(value); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setBorderTopColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false)); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkBorderTopColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true)); |
| } |
| static void applyInitialBorderTopLeftRadius(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderTopLeftRadius(RenderStyle::initialBorderRadius()); |
| } |
| static void applyInheritBorderTopLeftRadius(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderTopLeftRadius(styleResolver.parentStyle()->borderTopLeftRadius()); |
| } |
| static void applyValueBorderTopLeftRadius(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderTopLeftRadius(StyleBuilderConverter::convertRadius(styleResolver, value)); |
| } |
| static void applyInitialBorderTopRightRadius(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderTopRightRadius(RenderStyle::initialBorderRadius()); |
| } |
| static void applyInheritBorderTopRightRadius(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderTopRightRadius(styleResolver.parentStyle()->borderTopRightRadius()); |
| } |
| static void applyValueBorderTopRightRadius(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderTopRightRadius(StyleBuilderConverter::convertRadius(styleResolver, value)); |
| } |
| static void applyInitialBorderTopStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderTopStyle(RenderStyle::initialBorderStyle()); |
| } |
| static void applyInheritBorderTopStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderTopStyle(styleResolver.parentStyle()->borderTopStyle()); |
| } |
| static void applyValueBorderTopStyle(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderTopStyle(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialBorderTopWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderTopWidth(RenderStyle::initialBorderWidth()); |
| } |
| static void applyInheritBorderTopWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderTopWidth(styleResolver.parentStyle()->borderTopWidth()); |
| } |
| static void applyValueBorderTopWidth(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderTopWidth(StyleBuilderConverter::convertLineWidth<float>(styleResolver, value)); |
| } |
| static void applyInitialBottom(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBottom(RenderStyle::initialOffset()); |
| } |
| static void applyInheritBottom(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBottom(styleResolver.parentStyle()->bottom()); |
| } |
| static void applyValueBottom(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBottom(StyleBuilderConverter::convertLengthOrAuto(styleResolver, value)); |
| } |
| static void applyInitialBoxSizing(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxSizing(RenderStyle::initialBoxSizing()); |
| } |
| static void applyInheritBoxSizing(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxSizing(styleResolver.parentStyle()->boxSizing()); |
| } |
| static void applyValueBoxSizing(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBoxSizing(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialBreakAfter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakAfter(RenderStyle::initialBreakBetween()); |
| } |
| static void applyInheritBreakAfter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakAfter(styleResolver.parentStyle()->breakAfter()); |
| } |
| static void applyValueBreakAfter(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBreakAfter(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialBreakBefore(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakBefore(RenderStyle::initialBreakBetween()); |
| } |
| static void applyInheritBreakBefore(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakBefore(styleResolver.parentStyle()->breakBefore()); |
| } |
| static void applyValueBreakBefore(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBreakBefore(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialBreakInside(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakInside(RenderStyle::initialBreakInside()); |
| } |
| static void applyInheritBreakInside(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakInside(styleResolver.parentStyle()->breakInside()); |
| } |
| static void applyValueBreakInside(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBreakInside(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialBufferedRendering(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setBufferedRendering(SVGRenderStyle::initialBufferedRendering()); |
| } |
| static void applyInheritBufferedRendering(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setBufferedRendering(styleResolver.parentStyle()->svgStyle().bufferedRendering()); |
| } |
| static void applyValueBufferedRendering(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setBufferedRendering(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialCaptionSide(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setCaptionSide(RenderStyle::initialCaptionSide()); |
| } |
| static void applyInheritCaptionSide(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setCaptionSide(styleResolver.parentStyle()->captionSide()); |
| } |
| static void applyValueCaptionSide(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setCaptionSide(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialClear(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setClear(RenderStyle::initialClear()); |
| } |
| static void applyInheritClear(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setClear(styleResolver.parentStyle()->clear()); |
| } |
| static void applyValueClear(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setClear(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitClipPath(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setClipPath(RenderStyle::initialClipPath()); |
| } |
| static void applyInheritWebkitClipPath(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setClipPath(styleResolver.parentStyle()->clipPath()); |
| } |
| static void applyValueWebkitClipPath(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setClipPath(StyleBuilderConverter::convertClipPath(styleResolver, value)); |
| } |
| static void applyInitialClipPath(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setClipperResource(SVGRenderStyle::initialClipperResource()); |
| } |
| static void applyInheritClipPath(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setClipperResource(styleResolver.parentStyle()->svgStyle().clipperResource()); |
| } |
| static void applyValueClipPath(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setClipperResource(StyleBuilderConverter::convertSVGURIReference(styleResolver, value)); |
| } |
| static void applyInitialClipRule(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setClipRule(SVGRenderStyle::initialClipRule()); |
| } |
| static void applyInheritClipRule(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setClipRule(styleResolver.parentStyle()->svgStyle().clipRule()); |
| } |
| static void applyValueClipRule(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setClipRule(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialColorInterpolation(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setColorInterpolation(SVGRenderStyle::initialColorInterpolation()); |
| } |
| static void applyInheritColorInterpolation(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setColorInterpolation(styleResolver.parentStyle()->svgStyle().colorInterpolation()); |
| } |
| static void applyValueColorInterpolation(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setColorInterpolation(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialColorInterpolationFilters(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setColorInterpolationFilters(SVGRenderStyle::initialColorInterpolationFilters()); |
| } |
| static void applyInheritColorInterpolationFilters(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setColorInterpolationFilters(styleResolver.parentStyle()->svgStyle().colorInterpolationFilters()); |
| } |
| static void applyValueColorInterpolationFilters(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setColorInterpolationFilters(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialColorRendering(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setColorRendering(SVGRenderStyle::initialColorRendering()); |
| } |
| static void applyInheritColorRendering(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setColorRendering(styleResolver.parentStyle()->svgStyle().colorRendering()); |
| } |
| static void applyValueColorRendering(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setColorRendering(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitCursorVisibility(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setCursorVisibility(RenderStyle::initialCursorVisibility()); |
| } |
| static void applyInheritWebkitCursorVisibility(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setCursorVisibility(styleResolver.parentStyle()->cursorVisibility()); |
| } |
| static void applyValueWebkitCursorVisibility(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setCursorVisibility(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialCx(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setCx(RenderStyle::initialZeroLength()); |
| } |
| static void applyInheritCx(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setCx(styleResolver.parentStyle()->cx()); |
| } |
| static void applyValueCx(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setCx(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialCy(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setCy(RenderStyle::initialZeroLength()); |
| } |
| static void applyInheritCy(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setCy(styleResolver.parentStyle()->cy()); |
| } |
| static void applyValueCy(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setCy(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialDominantBaseline(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setDominantBaseline(SVGRenderStyle::initialDominantBaseline()); |
| } |
| static void applyInheritDominantBaseline(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setDominantBaseline(styleResolver.parentStyle()->svgStyle().dominantBaseline()); |
| } |
| static void applyValueDominantBaseline(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setDominantBaseline(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialEmptyCells(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setEmptyCells(RenderStyle::initialEmptyCells()); |
| } |
| static void applyInheritEmptyCells(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setEmptyCells(styleResolver.parentStyle()->emptyCells()); |
| } |
| static void applyValueEmptyCells(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setEmptyCells(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialFillOpacity(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setFillOpacity(SVGRenderStyle::initialFillOpacity()); |
| } |
| static void applyInheritFillOpacity(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setFillOpacity(styleResolver.parentStyle()->svgStyle().fillOpacity()); |
| } |
| static void applyValueFillOpacity(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setFillOpacity(StyleBuilderConverter::convertOpacity(styleResolver, value)); |
| } |
| static void applyInitialFillRule(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setFillRule(SVGRenderStyle::initialFillRule()); |
| } |
| static void applyInheritFillRule(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setFillRule(styleResolver.parentStyle()->svgStyle().fillRule()); |
| } |
| static void applyValueFillRule(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setFillRule(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialFloat(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFloating(RenderStyle::initialFloating()); |
| } |
| static void applyInheritFloat(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFloating(styleResolver.parentStyle()->floating()); |
| } |
| static void applyValueFloat(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setFloating(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialFloodColor(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setFloodColor(SVGRenderStyle::initialFloodColor()); |
| } |
| static void applyInheritFloodColor(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setFloodColor(styleResolver.parentStyle()->svgStyle().floodColor()); |
| } |
| static void applyValueFloodColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setFloodColor(StyleBuilderConverter::convertSVGColor(styleResolver, value)); |
| } |
| static void applyInitialFloodOpacity(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setFloodOpacity(SVGRenderStyle::initialFloodOpacity()); |
| } |
| static void applyInheritFloodOpacity(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setFloodOpacity(styleResolver.parentStyle()->svgStyle().floodOpacity()); |
| } |
| static void applyValueFloodOpacity(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setFloodOpacity(StyleBuilderConverter::convertOpacity(styleResolver, value)); |
| } |
| static void applyInitialGlyphOrientationHorizontal(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setGlyphOrientationHorizontal(SVGRenderStyle::initialGlyphOrientationHorizontal()); |
| } |
| static void applyInheritGlyphOrientationHorizontal(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setGlyphOrientationHorizontal(styleResolver.parentStyle()->svgStyle().glyphOrientationHorizontal()); |
| } |
| static void applyValueGlyphOrientationHorizontal(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setGlyphOrientationHorizontal(StyleBuilderConverter::convertGlyphOrientation(styleResolver, value)); |
| } |
| static void applyInitialGlyphOrientationVertical(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setGlyphOrientationVertical(SVGRenderStyle::initialGlyphOrientationVertical()); |
| } |
| static void applyInheritGlyphOrientationVertical(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setGlyphOrientationVertical(styleResolver.parentStyle()->svgStyle().glyphOrientationVertical()); |
| } |
| static void applyValueGlyphOrientationVertical(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setGlyphOrientationVertical(StyleBuilderConverter::convertGlyphOrientationOrAuto(styleResolver, value)); |
| } |
| static void applyInitialHangingPunctuation(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHangingPunctuation(RenderStyle::initialHangingPunctuation()); |
| } |
| static void applyInheritHangingPunctuation(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHangingPunctuation(styleResolver.parentStyle()->hangingPunctuation()); |
| } |
| static void applyValueHangingPunctuation(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setHangingPunctuation(StyleBuilderConverter::convertHangingPunctuation(styleResolver, value)); |
| } |
| static void applyInitialHeight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHeight(RenderStyle::initialSize()); |
| } |
| static void applyInheritHeight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHeight(styleResolver.parentStyle()->height()); |
| } |
| static void applyValueHeight(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setHeight(StyleBuilderConverter::convertLengthSizing(styleResolver, value)); |
| } |
| static void applyInitialImageRendering(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setImageRendering(RenderStyle::initialImageRendering()); |
| } |
| static void applyInheritImageRendering(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setImageRendering(styleResolver.parentStyle()->imageRendering()); |
| } |
| static void applyValueImageRendering(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setImageRendering(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialKerning(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setKerning(SVGRenderStyle::initialKerning()); |
| } |
| static void applyInheritKerning(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setKerning(styleResolver.parentStyle()->svgStyle().kerning()); |
| } |
| static void applyValueKerning(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setKerning(StyleBuilderConverter::convertSVGLength(styleResolver, value)); |
| } |
| static void applyInitialLeft(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLeft(RenderStyle::initialOffset()); |
| } |
| static void applyInheritLeft(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLeft(styleResolver.parentStyle()->left()); |
| } |
| static void applyValueLeft(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setLeft(StyleBuilderConverter::convertLengthOrAuto(styleResolver, value)); |
| } |
| static void applyInitialLetterSpacing(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLetterSpacing(RenderStyle::initialLetterSpacing()); |
| } |
| static void applyInheritLetterSpacing(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLetterSpacing(styleResolver.parentStyle()->letterSpacing()); |
| } |
| static void applyValueLetterSpacing(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setLetterSpacing(StyleBuilderConverter::convertSpacing(styleResolver, value)); |
| } |
| static void applyInitialLightingColor(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setLightingColor(SVGRenderStyle::initialLightingColor()); |
| } |
| static void applyInheritLightingColor(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setLightingColor(styleResolver.parentStyle()->svgStyle().lightingColor()); |
| } |
| static void applyValueLightingColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setLightingColor(StyleBuilderConverter::convertSVGColor(styleResolver, value)); |
| } |
| static void applyInitialLineHeight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineHeight(RenderStyle::initialLineHeight()); |
| } |
| static void applyInheritLineHeight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineHeight(styleResolver.parentStyle()->specifiedLineHeight()); |
| } |
| static void applyValueLineHeight(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto convertedValue = StyleBuilderConverter::convertLineHeight(styleResolver, value); |
| if (convertedValue) |
| styleResolver.style()->setLineHeight(convertedValue.value()); |
| } |
| static void applyInitialListStyleImage(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setListStyleImage(RenderStyle::initialListStyleImage()); |
| } |
| static void applyInheritListStyleImage(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setListStyleImage(styleResolver.parentStyle()->listStyleImage()); |
| } |
| static void applyValueListStyleImage(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setListStyleImage(StyleBuilderConverter::convertStyleImage<CSSPropertyListStyleImage>(styleResolver, value)); |
| } |
| static void applyInitialListStylePosition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setListStylePosition(RenderStyle::initialListStylePosition()); |
| } |
| static void applyInheritListStylePosition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setListStylePosition(styleResolver.parentStyle()->listStylePosition()); |
| } |
| static void applyValueListStylePosition(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setListStylePosition(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialListStyleType(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setListStyleType(RenderStyle::initialListStyleType()); |
| } |
| static void applyInheritListStyleType(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setListStyleType(styleResolver.parentStyle()->listStyleType()); |
| } |
| static void applyValueListStyleType(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setListStyleType(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialMarginBottom(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginBottom(RenderStyle::initialMargin()); |
| } |
| static void applyInheritMarginBottom(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginBottom(styleResolver.parentStyle()->marginBottom()); |
| } |
| static void applyValueMarginBottom(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMarginBottom(StyleBuilderConverter::convertLengthOrAuto(styleResolver, value)); |
| } |
| static void applyInitialMarginLeft(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginLeft(RenderStyle::initialMargin()); |
| } |
| static void applyInheritMarginLeft(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginLeft(styleResolver.parentStyle()->marginLeft()); |
| } |
| static void applyValueMarginLeft(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMarginLeft(StyleBuilderConverter::convertLengthOrAuto(styleResolver, value)); |
| } |
| static void applyInitialMarginRight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginRight(RenderStyle::initialMargin()); |
| } |
| static void applyInheritMarginRight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginRight(styleResolver.parentStyle()->marginRight()); |
| } |
| static void applyValueMarginRight(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMarginRight(StyleBuilderConverter::convertLengthOrAuto(styleResolver, value)); |
| } |
| static void applyInitialMarginTop(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginTop(RenderStyle::initialMargin()); |
| } |
| static void applyInheritMarginTop(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginTop(styleResolver.parentStyle()->marginTop()); |
| } |
| static void applyValueMarginTop(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMarginTop(StyleBuilderConverter::convertLengthOrAuto(styleResolver, value)); |
| } |
| static void applyInitialMarkerEnd(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setMarkerEndResource(SVGRenderStyle::initialMarkerEndResource()); |
| } |
| static void applyInheritMarkerEnd(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setMarkerEndResource(styleResolver.parentStyle()->svgStyle().markerEndResource()); |
| } |
| static void applyValueMarkerEnd(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setMarkerEndResource(StyleBuilderConverter::convertSVGURIReference(styleResolver, value)); |
| } |
| static void applyInitialMarkerMid(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setMarkerMidResource(SVGRenderStyle::initialMarkerMidResource()); |
| } |
| static void applyInheritMarkerMid(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setMarkerMidResource(styleResolver.parentStyle()->svgStyle().markerMidResource()); |
| } |
| static void applyValueMarkerMid(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setMarkerMidResource(StyleBuilderConverter::convertSVGURIReference(styleResolver, value)); |
| } |
| static void applyInitialMarkerStart(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setMarkerStartResource(SVGRenderStyle::initialMarkerStartResource()); |
| } |
| static void applyInheritMarkerStart(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setMarkerStartResource(styleResolver.parentStyle()->svgStyle().markerStartResource()); |
| } |
| static void applyValueMarkerStart(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setMarkerStartResource(StyleBuilderConverter::convertSVGURIReference(styleResolver, value)); |
| } |
| static void applyInitialMask(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setMaskerResource(SVGRenderStyle::initialMaskerResource()); |
| } |
| static void applyInheritMask(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setMaskerResource(styleResolver.parentStyle()->svgStyle().maskerResource()); |
| } |
| static void applyValueMask(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setMaskerResource(StyleBuilderConverter::convertSVGURIReference(styleResolver, value)); |
| } |
| static void applyInitialMaskType(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setMaskType(SVGRenderStyle::initialMaskType()); |
| } |
| static void applyInheritMaskType(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setMaskType(styleResolver.parentStyle()->svgStyle().maskType()); |
| } |
| static void applyValueMaskType(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setMaskType(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialMaxHeight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMaxHeight(RenderStyle::initialMaxSize()); |
| } |
| static void applyInheritMaxHeight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMaxHeight(styleResolver.parentStyle()->maxHeight()); |
| } |
| static void applyValueMaxHeight(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMaxHeight(StyleBuilderConverter::convertLengthMaxSizing(styleResolver, value)); |
| } |
| static void applyInitialMaxWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMaxWidth(RenderStyle::initialMaxSize()); |
| } |
| static void applyInheritMaxWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMaxWidth(styleResolver.parentStyle()->maxWidth()); |
| } |
| static void applyValueMaxWidth(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMaxWidth(StyleBuilderConverter::convertLengthMaxSizing(styleResolver, value)); |
| } |
| static void applyInitialMinHeight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMinHeight(RenderStyle::initialMinSize()); |
| } |
| static void applyInheritMinHeight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMinHeight(styleResolver.parentStyle()->minHeight()); |
| } |
| static void applyValueMinHeight(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMinHeight(StyleBuilderConverter::convertLengthSizing(styleResolver, value)); |
| } |
| static void applyInitialMinWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMinWidth(RenderStyle::initialMinSize()); |
| } |
| static void applyInheritMinWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMinWidth(styleResolver.parentStyle()->minWidth()); |
| } |
| static void applyValueMinWidth(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMinWidth(StyleBuilderConverter::convertLengthSizing(styleResolver, value)); |
| } |
| static void applyInitialObjectFit(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setObjectFit(RenderStyle::initialObjectFit()); |
| } |
| static void applyInheritObjectFit(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setObjectFit(styleResolver.parentStyle()->objectFit()); |
| } |
| static void applyValueObjectFit(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setObjectFit(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialObjectPosition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setObjectPosition(RenderStyle::initialObjectPosition()); |
| } |
| static void applyInheritObjectPosition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setObjectPosition(styleResolver.parentStyle()->objectPosition()); |
| } |
| static void applyValueObjectPosition(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setObjectPosition(StyleBuilderConverter::convertObjectPosition(styleResolver, value)); |
| } |
| static void applyInitialOpacity(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOpacity(RenderStyle::initialOpacity()); |
| } |
| static void applyInheritOpacity(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOpacity(styleResolver.parentStyle()->opacity()); |
| } |
| static void applyValueOpacity(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setOpacity(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialOrphans(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHasAutoOrphans(); |
| } |
| static void applyInheritOrphans(StyleResolver& styleResolver) |
| { |
| if (styleResolver.parentStyle()->hasAutoOrphans()) { |
| styleResolver.style()->setHasAutoOrphans(); |
| return; |
| } |
| styleResolver.style()->setOrphans(styleResolver.parentStyle()->orphans()); |
| } |
| static void applyValueOrphans(StyleResolver& styleResolver, CSSValue& value) |
| { |
| if (downcast<CSSPrimitiveValue>(value).getValueID() == CSSValueAuto) { |
| styleResolver.style()->setHasAutoOrphans(); |
| return; |
| } |
| styleResolver.style()->setOrphans(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialOutlineColor(StyleResolver& styleResolver) |
| { |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setOutlineColor(RenderStyle::invalidColor()); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkOutlineColor(RenderStyle::invalidColor()); |
| } |
| static void applyInheritOutlineColor(StyleResolver& styleResolver) |
| { |
| Color color = styleResolver.parentStyle()->outlineColor(); |
| if (!color.isValid()) |
| color = styleResolver.parentStyle()->color(); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setOutlineColor(color); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkOutlineColor(color); |
| } |
| static void applyValueOutlineColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto& primitiveValue = downcast<CSSPrimitiveValue>(value); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setOutlineColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false)); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkOutlineColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true)); |
| } |
| static void applyInitialOutlineOffset(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOutlineOffset(RenderStyle::initialOutlineOffset()); |
| } |
| static void applyInheritOutlineOffset(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOutlineOffset(styleResolver.parentStyle()->outlineOffset()); |
| } |
| static void applyValueOutlineOffset(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setOutlineOffset(StyleBuilderConverter::convertComputedLength<float>(styleResolver, value)); |
| } |
| static void applyInitialOutlineWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOutlineWidth(RenderStyle::initialOutlineWidth()); |
| } |
| static void applyInheritOutlineWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOutlineWidth(styleResolver.parentStyle()->outlineWidth()); |
| } |
| static void applyValueOutlineWidth(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setOutlineWidth(StyleBuilderConverter::convertLineWidth<float>(styleResolver, value)); |
| } |
| static void applyInitialOverflowWrap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOverflowWrap(RenderStyle::initialOverflowWrap()); |
| } |
| static void applyInheritOverflowWrap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOverflowWrap(styleResolver.parentStyle()->overflowWrap()); |
| } |
| static void applyValueOverflowWrap(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setOverflowWrap(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialOverflowX(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOverflowX(RenderStyle::initialOverflowX()); |
| } |
| static void applyInheritOverflowX(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOverflowX(styleResolver.parentStyle()->overflowX()); |
| } |
| static void applyValueOverflowX(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setOverflowX(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialOverflowY(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOverflowY(RenderStyle::initialOverflowY()); |
| } |
| static void applyInheritOverflowY(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOverflowY(styleResolver.parentStyle()->overflowY()); |
| } |
| static void applyValueOverflowY(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setOverflowY(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialPaddingBottom(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPaddingBottom(RenderStyle::initialPadding()); |
| } |
| static void applyInheritPaddingBottom(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPaddingBottom(styleResolver.parentStyle()->paddingBottom()); |
| } |
| static void applyValuePaddingBottom(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setPaddingBottom(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialPaddingLeft(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPaddingLeft(RenderStyle::initialPadding()); |
| } |
| static void applyInheritPaddingLeft(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPaddingLeft(styleResolver.parentStyle()->paddingLeft()); |
| } |
| static void applyValuePaddingLeft(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setPaddingLeft(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialPaddingRight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPaddingRight(RenderStyle::initialPadding()); |
| } |
| static void applyInheritPaddingRight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPaddingRight(styleResolver.parentStyle()->paddingRight()); |
| } |
| static void applyValuePaddingRight(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setPaddingRight(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialPaddingTop(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPaddingTop(RenderStyle::initialPadding()); |
| } |
| static void applyInheritPaddingTop(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPaddingTop(styleResolver.parentStyle()->paddingTop()); |
| } |
| static void applyValuePaddingTop(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setPaddingTop(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialPageBreakAfter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakAfter(RenderStyle::initialBreakBetween()); |
| } |
| static void applyInheritPageBreakAfter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakAfter(styleResolver.parentStyle()->breakAfter()); |
| } |
| static void applyValuePageBreakAfter(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBreakAfter(StyleBuilderConverter::convertPageBreakBetween(styleResolver, value)); |
| } |
| static void applyInitialPageBreakBefore(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakBefore(RenderStyle::initialBreakBetween()); |
| } |
| static void applyInheritPageBreakBefore(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakBefore(styleResolver.parentStyle()->breakBefore()); |
| } |
| static void applyValuePageBreakBefore(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBreakBefore(StyleBuilderConverter::convertPageBreakBetween(styleResolver, value)); |
| } |
| static void applyInitialPageBreakInside(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakInside(RenderStyle::initialBreakInside()); |
| } |
| static void applyInheritPageBreakInside(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakInside(styleResolver.parentStyle()->breakInside()); |
| } |
| static void applyValuePageBreakInside(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBreakInside(StyleBuilderConverter::convertPageBreakInside(styleResolver, value)); |
| } |
| static void applyInitialPaintOrder(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setPaintOrder(SVGRenderStyle::initialPaintOrder()); |
| } |
| static void applyInheritPaintOrder(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setPaintOrder(styleResolver.parentStyle()->svgStyle().paintOrder()); |
| } |
| static void applyValuePaintOrder(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setPaintOrder(StyleBuilderConverter::convertPaintOrder(styleResolver, value)); |
| } |
| static void applyInitialPointerEvents(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPointerEvents(RenderStyle::initialPointerEvents()); |
| } |
| static void applyInheritPointerEvents(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPointerEvents(styleResolver.parentStyle()->pointerEvents()); |
| } |
| static void applyValuePointerEvents(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setPointerEvents(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialPosition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPosition(RenderStyle::initialPosition()); |
| } |
| static void applyInheritPosition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPosition(styleResolver.parentStyle()->position()); |
| } |
| static void applyValuePosition(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setPosition(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialQuotes(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setQuotes(RenderStyle::initialQuotes()); |
| } |
| static void applyInheritQuotes(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setQuotes(styleResolver.parentStyle()->quotes()); |
| } |
| static void applyValueQuotes(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setQuotes(StyleBuilderConverter::convertQuotes(styleResolver, value)); |
| } |
| static void applyInitialR(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setR(RenderStyle::initialZeroLength()); |
| } |
| static void applyInheritR(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setR(styleResolver.parentStyle()->r()); |
| } |
| static void applyValueR(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setR(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialResize(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setResize(RenderStyle::initialResize()); |
| } |
| static void applyInheritResize(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setResize(styleResolver.parentStyle()->resize()); |
| } |
| static void applyValueResize(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setResize(StyleBuilderConverter::convertResize(styleResolver, value)); |
| } |
| static void applyInitialRight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRight(RenderStyle::initialOffset()); |
| } |
| static void applyInheritRight(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRight(styleResolver.parentStyle()->right()); |
| } |
| static void applyValueRight(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setRight(StyleBuilderConverter::convertLengthOrAuto(styleResolver, value)); |
| } |
| static void applyInitialRx(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRx(RenderStyle::initialZeroLength()); |
| } |
| static void applyInheritRx(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRx(styleResolver.parentStyle()->rx()); |
| } |
| static void applyValueRx(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setRx(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialRy(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRy(RenderStyle::initialZeroLength()); |
| } |
| static void applyInheritRy(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRy(styleResolver.parentStyle()->ry()); |
| } |
| static void applyValueRy(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setRy(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialShapeRendering(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setShapeRendering(SVGRenderStyle::initialShapeRendering()); |
| } |
| static void applyInheritShapeRendering(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setShapeRendering(styleResolver.parentStyle()->svgStyle().shapeRendering()); |
| } |
| static void applyValueShapeRendering(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setShapeRendering(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialStopColor(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setStopColor(SVGRenderStyle::initialStopColor()); |
| } |
| static void applyInheritStopColor(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setStopColor(styleResolver.parentStyle()->svgStyle().stopColor()); |
| } |
| static void applyValueStopColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setStopColor(StyleBuilderConverter::convertSVGColor(styleResolver, value)); |
| } |
| static void applyInitialStopOpacity(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setStopOpacity(SVGRenderStyle::initialStopOpacity()); |
| } |
| static void applyInheritStopOpacity(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setStopOpacity(styleResolver.parentStyle()->svgStyle().stopOpacity()); |
| } |
| static void applyValueStopOpacity(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setStopOpacity(StyleBuilderConverter::convertOpacity(styleResolver, value)); |
| } |
| static void applyInitialStrokeDasharray(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setStrokeDashArray(SVGRenderStyle::initialStrokeDashArray()); |
| } |
| static void applyInheritStrokeDasharray(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setStrokeDashArray(styleResolver.parentStyle()->svgStyle().strokeDashArray()); |
| } |
| static void applyValueStrokeDasharray(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setStrokeDashArray(StyleBuilderConverter::convertStrokeDashArray(styleResolver, value)); |
| } |
| static void applyInitialStrokeDashoffset(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setStrokeDashOffset(RenderStyle::initialZeroLength()); |
| } |
| static void applyInheritStrokeDashoffset(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setStrokeDashOffset(styleResolver.parentStyle()->strokeDashOffset()); |
| } |
| static void applyValueStrokeDashoffset(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setStrokeDashOffset(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialStrokeLinecap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setCapStyle(SVGRenderStyle::initialCapStyle()); |
| } |
| static void applyInheritStrokeLinecap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setCapStyle(styleResolver.parentStyle()->svgStyle().capStyle()); |
| } |
| static void applyValueStrokeLinecap(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setCapStyle(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialStrokeLinejoin(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setJoinStyle(SVGRenderStyle::initialJoinStyle()); |
| } |
| static void applyInheritStrokeLinejoin(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setJoinStyle(styleResolver.parentStyle()->svgStyle().joinStyle()); |
| } |
| static void applyValueStrokeLinejoin(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setJoinStyle(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialStrokeMiterlimit(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setStrokeMiterLimit(SVGRenderStyle::initialStrokeMiterLimit()); |
| } |
| static void applyInheritStrokeMiterlimit(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setStrokeMiterLimit(styleResolver.parentStyle()->svgStyle().strokeMiterLimit()); |
| } |
| static void applyValueStrokeMiterlimit(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setStrokeMiterLimit(StyleBuilderConverter::convertNumber<float>(styleResolver, value)); |
| } |
| static void applyInitialStrokeOpacity(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setStrokeOpacity(SVGRenderStyle::initialStrokeOpacity()); |
| } |
| static void applyInheritStrokeOpacity(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setStrokeOpacity(styleResolver.parentStyle()->svgStyle().strokeOpacity()); |
| } |
| static void applyValueStrokeOpacity(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setStrokeOpacity(StyleBuilderConverter::convertOpacity(styleResolver, value)); |
| } |
| static void applyInitialStrokeWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setStrokeWidth(RenderStyle::initialOneLength()); |
| } |
| static void applyInheritStrokeWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setStrokeWidth(styleResolver.parentStyle()->strokeWidth()); |
| } |
| static void applyValueStrokeWidth(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setStrokeWidth(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialSpeak(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setSpeak(RenderStyle::initialSpeak()); |
| } |
| static void applyInheritSpeak(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setSpeak(styleResolver.parentStyle()->speak()); |
| } |
| static void applyValueSpeak(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setSpeak(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialTableLayout(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTableLayout(RenderStyle::initialTableLayout()); |
| } |
| static void applyInheritTableLayout(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTableLayout(styleResolver.parentStyle()->tableLayout()); |
| } |
| static void applyValueTableLayout(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTableLayout(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialTabSize(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTabSize(RenderStyle::initialTabSize()); |
| } |
| static void applyInheritTabSize(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTabSize(styleResolver.parentStyle()->tabSize()); |
| } |
| static void applyValueTabSize(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTabSize(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialTextAlign(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextAlign(RenderStyle::initialTextAlign()); |
| } |
| static void applyInheritTextAlign(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextAlign(styleResolver.parentStyle()->textAlign()); |
| } |
| static void applyValueTextAlign(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTextAlign(StyleBuilderConverter::convertTextAlign(styleResolver, value)); |
| } |
| static void applyInitialTextAnchor(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setTextAnchor(SVGRenderStyle::initialTextAnchor()); |
| } |
| static void applyInheritTextAnchor(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setTextAnchor(styleResolver.parentStyle()->svgStyle().textAnchor()); |
| } |
| static void applyValueTextAnchor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setTextAnchor(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialTextDecoration(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextDecoration(RenderStyle::initialTextDecoration()); |
| } |
| static void applyInheritTextDecoration(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextDecoration(styleResolver.parentStyle()->textDecoration()); |
| } |
| static void applyValueTextDecoration(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTextDecoration(StyleBuilderConverter::convertTextDecoration(styleResolver, value)); |
| } |
| static void applyInitialTextOverflow(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextOverflow(RenderStyle::initialTextOverflow()); |
| } |
| static void applyInheritTextOverflow(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextOverflow(styleResolver.parentStyle()->textOverflow()); |
| } |
| static void applyValueTextOverflow(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTextOverflow(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialTextTransform(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextTransform(RenderStyle::initialTextTransform()); |
| } |
| static void applyInheritTextTransform(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextTransform(styleResolver.parentStyle()->textTransform()); |
| } |
| static void applyValueTextTransform(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTextTransform(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialTop(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTop(RenderStyle::initialOffset()); |
| } |
| static void applyInheritTop(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTop(styleResolver.parentStyle()->top()); |
| } |
| static void applyValueTop(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTop(StyleBuilderConverter::convertLengthOrAuto(styleResolver, value)); |
| } |
| static void applyInitialTransitionDelay(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureTransitions(); |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| list.animation(0).setDelay(Animation::initialDelay()); |
| for (size_t i = 1; i < list.size(); ++i) |
| list.animation(i).clearDelay(); |
| } |
| static void applyInheritTransitionDelay(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureTransitions(); |
| const AnimationList* parentList = styleResolver.parentStyle()->transitions(); |
| size_t i = 0, parentSize = parentList ? parentList->size() : 0; |
| for ( ; i < parentSize && parentList->animation(i).isDelaySet(); ++i) { |
| if (list.size() <= i) |
| list.append(Animation::create()); |
| list.animation(i).setDelay(parentList->animation(i).delay()); |
| list.animation(i).setAnimationMode(parentList->animation(i).animationMode()); |
| } |
| |
| /* Reset any remaining animations to not have the property set. */ |
| for ( ; i < list.size(); ++i) |
| list.animation(i).clearDelay(); |
| } |
| static void applyValueTransitionDelay(StyleResolver& styleResolver, CSSValue& value) |
| { |
| AnimationList& list = styleResolver.style()->ensureTransitions(); |
| size_t childIndex = 0; |
| if (is<CSSValueList>(value)) { |
| /* Walk each value and put it into an animation, creating new animations as needed. */ |
| for (auto& currentValue : downcast<CSSValueList>(value)) { |
| if (childIndex <= list.size()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationDelay(list.animation(childIndex), currentValue); |
| ++childIndex; |
| } |
| } else { |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationDelay(list.animation(childIndex), value); |
| childIndex = 1; |
| } |
| for ( ; childIndex < list.size(); ++childIndex) { |
| /* Reset all remaining animations to not have the property set. */ |
| list.animation(childIndex).clearDelay(); |
| } |
| } |
| static void applyInitialTransitionDuration(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureTransitions(); |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| list.animation(0).setDuration(Animation::initialDuration()); |
| for (size_t i = 1; i < list.size(); ++i) |
| list.animation(i).clearDuration(); |
| } |
| static void applyInheritTransitionDuration(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureTransitions(); |
| const AnimationList* parentList = styleResolver.parentStyle()->transitions(); |
| size_t i = 0, parentSize = parentList ? parentList->size() : 0; |
| for ( ; i < parentSize && parentList->animation(i).isDurationSet(); ++i) { |
| if (list.size() <= i) |
| list.append(Animation::create()); |
| list.animation(i).setDuration(parentList->animation(i).duration()); |
| list.animation(i).setAnimationMode(parentList->animation(i).animationMode()); |
| } |
| |
| /* Reset any remaining animations to not have the property set. */ |
| for ( ; i < list.size(); ++i) |
| list.animation(i).clearDuration(); |
| } |
| static void applyValueTransitionDuration(StyleResolver& styleResolver, CSSValue& value) |
| { |
| AnimationList& list = styleResolver.style()->ensureTransitions(); |
| size_t childIndex = 0; |
| if (is<CSSValueList>(value)) { |
| /* Walk each value and put it into an animation, creating new animations as needed. */ |
| for (auto& currentValue : downcast<CSSValueList>(value)) { |
| if (childIndex <= list.size()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationDuration(list.animation(childIndex), currentValue); |
| ++childIndex; |
| } |
| } else { |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationDuration(list.animation(childIndex), value); |
| childIndex = 1; |
| } |
| for ( ; childIndex < list.size(); ++childIndex) { |
| /* Reset all remaining animations to not have the property set. */ |
| list.animation(childIndex).clearDuration(); |
| } |
| } |
| static void applyInitialTransitionProperty(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureTransitions(); |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| list.animation(0).setProperty(Animation::initialProperty()); |
| for (size_t i = 1; i < list.size(); ++i) |
| list.animation(i).clearProperty(); |
| } |
| static void applyInheritTransitionProperty(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureTransitions(); |
| const AnimationList* parentList = styleResolver.parentStyle()->transitions(); |
| size_t i = 0, parentSize = parentList ? parentList->size() : 0; |
| for ( ; i < parentSize && parentList->animation(i).isPropertySet(); ++i) { |
| if (list.size() <= i) |
| list.append(Animation::create()); |
| list.animation(i).setProperty(parentList->animation(i).property()); |
| list.animation(i).setAnimationMode(parentList->animation(i).animationMode()); |
| } |
| |
| /* Reset any remaining animations to not have the property set. */ |
| for ( ; i < list.size(); ++i) |
| list.animation(i).clearProperty(); |
| } |
| static void applyValueTransitionProperty(StyleResolver& styleResolver, CSSValue& value) |
| { |
| AnimationList& list = styleResolver.style()->ensureTransitions(); |
| size_t childIndex = 0; |
| if (is<CSSValueList>(value)) { |
| /* Walk each value and put it into an animation, creating new animations as needed. */ |
| for (auto& currentValue : downcast<CSSValueList>(value)) { |
| if (childIndex <= list.size()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationProperty(list.animation(childIndex), currentValue); |
| ++childIndex; |
| } |
| } else { |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationProperty(list.animation(childIndex), value); |
| childIndex = 1; |
| } |
| for ( ; childIndex < list.size(); ++childIndex) { |
| /* Reset all remaining animations to not have the property set. */ |
| list.animation(childIndex).clearProperty(); |
| } |
| } |
| static void applyInitialTransitionTimingFunction(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureTransitions(); |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| list.animation(0).setTimingFunction(Animation::initialTimingFunction()); |
| for (size_t i = 1; i < list.size(); ++i) |
| list.animation(i).clearTimingFunction(); |
| } |
| static void applyInheritTransitionTimingFunction(StyleResolver& styleResolver) |
| { |
| AnimationList& list = styleResolver.style()->ensureTransitions(); |
| const AnimationList* parentList = styleResolver.parentStyle()->transitions(); |
| size_t i = 0, parentSize = parentList ? parentList->size() : 0; |
| for ( ; i < parentSize && parentList->animation(i).isTimingFunctionSet(); ++i) { |
| if (list.size() <= i) |
| list.append(Animation::create()); |
| list.animation(i).setTimingFunction(parentList->animation(i).timingFunction()); |
| list.animation(i).setAnimationMode(parentList->animation(i).animationMode()); |
| } |
| |
| /* Reset any remaining animations to not have the property set. */ |
| for ( ; i < list.size(); ++i) |
| list.animation(i).clearTimingFunction(); |
| } |
| static void applyValueTransitionTimingFunction(StyleResolver& styleResolver, CSSValue& value) |
| { |
| AnimationList& list = styleResolver.style()->ensureTransitions(); |
| size_t childIndex = 0; |
| if (is<CSSValueList>(value)) { |
| /* Walk each value and put it into an animation, creating new animations as needed. */ |
| for (auto& currentValue : downcast<CSSValueList>(value)) { |
| if (childIndex <= list.size()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationTimingFunction(list.animation(childIndex), currentValue); |
| ++childIndex; |
| } |
| } else { |
| if (list.isEmpty()) |
| list.append(Animation::create()); |
| styleResolver.styleMap()->mapAnimationTimingFunction(list.animation(childIndex), value); |
| childIndex = 1; |
| } |
| for ( ; childIndex < list.size(); ++childIndex) { |
| /* Reset all remaining animations to not have the property set. */ |
| list.animation(childIndex).clearTimingFunction(); |
| } |
| } |
| static void applyInitialUnicodeBidi(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setUnicodeBidi(RenderStyle::initialUnicodeBidi()); |
| } |
| static void applyInheritUnicodeBidi(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setUnicodeBidi(styleResolver.parentStyle()->unicodeBidi()); |
| } |
| static void applyValueUnicodeBidi(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setUnicodeBidi(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialVectorEffect(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setVectorEffect(SVGRenderStyle::initialVectorEffect()); |
| } |
| static void applyInheritVectorEffect(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setVectorEffect(styleResolver.parentStyle()->svgStyle().vectorEffect()); |
| } |
| static void applyValueVectorEffect(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setVectorEffect(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialVerticalAlign(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setVerticalAlign(RenderStyle::initialVerticalAlign()); |
| } |
| static void applyInheritVerticalAlign(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setVerticalAlign(styleResolver.parentStyle()->verticalAlign()); |
| } |
| static void applyInitialVisibility(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setVisibility(RenderStyle::initialVisibility()); |
| } |
| static void applyInheritVisibility(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setVisibility(styleResolver.parentStyle()->visibility()); |
| } |
| static void applyValueVisibility(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setVisibility(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWhiteSpace(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setWhiteSpace(RenderStyle::initialWhiteSpace()); |
| } |
| static void applyInheritWhiteSpace(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setWhiteSpace(styleResolver.parentStyle()->whiteSpace()); |
| } |
| static void applyValueWhiteSpace(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setWhiteSpace(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWidows(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHasAutoWidows(); |
| } |
| static void applyInheritWidows(StyleResolver& styleResolver) |
| { |
| if (styleResolver.parentStyle()->hasAutoWidows()) { |
| styleResolver.style()->setHasAutoWidows(); |
| return; |
| } |
| styleResolver.style()->setWidows(styleResolver.parentStyle()->widows()); |
| } |
| static void applyValueWidows(StyleResolver& styleResolver, CSSValue& value) |
| { |
| if (downcast<CSSPrimitiveValue>(value).getValueID() == CSSValueAuto) { |
| styleResolver.style()->setHasAutoWidows(); |
| return; |
| } |
| styleResolver.style()->setWidows(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setWidth(RenderStyle::initialSize()); |
| } |
| static void applyInheritWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setWidth(styleResolver.parentStyle()->width()); |
| } |
| static void applyValueWidth(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setWidth(StyleBuilderConverter::convertLengthSizing(styleResolver, value)); |
| } |
| static void applyInitialWillChange(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setWillChange(RenderStyle::initialWillChange()); |
| } |
| static void applyInheritWillChange(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setWillChange(styleResolver.parentStyle()->willChange()); |
| } |
| static void applyInitialWordBreak(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setWordBreak(RenderStyle::initialWordBreak()); |
| } |
| static void applyInheritWordBreak(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setWordBreak(styleResolver.parentStyle()->wordBreak()); |
| } |
| static void applyValueWordBreak(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setWordBreak(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWordSpacing(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setWordSpacing(RenderStyle::initialWordSpacing()); |
| } |
| static void applyInheritWordSpacing(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setWordSpacing(styleResolver.parentStyle()->wordSpacing()); |
| } |
| static void applyValueWordSpacing(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto convertedValue = StyleBuilderConverter::convertWordSpacing(styleResolver, value); |
| if (convertedValue) |
| styleResolver.style()->setWordSpacing(convertedValue.value()); |
| } |
| static void applyInitialWordWrap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOverflowWrap(RenderStyle::initialOverflowWrap()); |
| } |
| static void applyInheritWordWrap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOverflowWrap(styleResolver.parentStyle()->overflowWrap()); |
| } |
| static void applyValueWordWrap(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setOverflowWrap(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWritingMode(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setWritingMode(SVGRenderStyle::initialWritingMode()); |
| } |
| static void applyInheritWritingMode(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->accessSVGStyle().setWritingMode(styleResolver.parentStyle()->svgStyle().writingMode()); |
| } |
| static void applyValueWritingMode(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->accessSVGStyle().setWritingMode(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialX(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setX(RenderStyle::initialZeroLength()); |
| } |
| static void applyInheritX(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setX(styleResolver.parentStyle()->x()); |
| } |
| static void applyValueX(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setX(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialY(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setY(RenderStyle::initialZeroLength()); |
| } |
| static void applyInheritY(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setY(styleResolver.parentStyle()->y()); |
| } |
| static void applyValueY(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setY(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialZIndex(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHasAutoZIndex(); |
| } |
| static void applyInheritZIndex(StyleResolver& styleResolver) |
| { |
| if (styleResolver.parentStyle()->hasAutoZIndex()) { |
| styleResolver.style()->setHasAutoZIndex(); |
| return; |
| } |
| styleResolver.style()->setZIndex(styleResolver.parentStyle()->zIndex()); |
| } |
| static void applyValueZIndex(StyleResolver& styleResolver, CSSValue& value) |
| { |
| if (downcast<CSSPrimitiveValue>(value).getValueID() == CSSValueAuto) { |
| styleResolver.style()->setHasAutoZIndex(); |
| return; |
| } |
| styleResolver.style()->setZIndex(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialAlt(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setContentAltText(RenderStyle::initialContentAltText()); |
| } |
| static void applyInheritAlt(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setContentAltText(styleResolver.parentStyle()->contentAltText()); |
| } |
| static void applyInitialWebkitAppearance(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setAppearance(RenderStyle::initialAppearance()); |
| } |
| static void applyInheritWebkitAppearance(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setAppearance(styleResolver.parentStyle()->appearance()); |
| } |
| static void applyValueWebkitAppearance(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setAppearance(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitBackfaceVisibility(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBackfaceVisibility(RenderStyle::initialBackfaceVisibility()); |
| } |
| static void applyInheritWebkitBackfaceVisibility(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBackfaceVisibility(styleResolver.parentStyle()->backfaceVisibility()); |
| } |
| static void applyValueWebkitBackfaceVisibility(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBackfaceVisibility(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitBackgroundClip(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isClipSet() || layers.clip() == FillLayer::initialFillClip(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setClip(FillLayer::initialFillClip(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearClip(); |
| } |
| static void applyInheritWebkitBackgroundClip(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isClipSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setClip(parent->clip()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearClip(); |
| } |
| static void applyValueWebkitBackgroundClip(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillClip(CSSPropertyWebkitBackgroundClip, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillClip(CSSPropertyWebkitBackgroundClip, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearClip(); |
| } |
| static void applyInitialWebkitBackgroundComposite(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isCompositeSet() || layers.composite() == FillLayer::initialFillComposite(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setComposite(FillLayer::initialFillComposite(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearComposite(); |
| } |
| static void applyInheritWebkitBackgroundComposite(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isCompositeSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setComposite(parent->composite()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearComposite(); |
| } |
| static void applyValueWebkitBackgroundComposite(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillComposite(CSSPropertyWebkitBackgroundComposite, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillComposite(CSSPropertyWebkitBackgroundComposite, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearComposite(); |
| } |
| static void applyInitialWebkitBackgroundOrigin(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isOriginSet() || layers.origin() == FillLayer::initialFillOrigin(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setOrigin(FillLayer::initialFillOrigin(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearOrigin(); |
| } |
| static void applyInheritWebkitBackgroundOrigin(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isOriginSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setOrigin(parent->origin()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearOrigin(); |
| } |
| static void applyValueWebkitBackgroundOrigin(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillOrigin(CSSPropertyWebkitBackgroundOrigin, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillOrigin(CSSPropertyWebkitBackgroundOrigin, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearOrigin(); |
| } |
| static void applyInitialWebkitBackgroundSize(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->backgroundLayers(); |
| if (!layers.next() && (!layers.isSizeSet() || layers.size() == FillLayer::initialFillSize(BackgroundFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| child->setSize(FillLayer::initialFillSize(BackgroundFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearSize(); |
| } |
| static void applyInheritWebkitBackgroundSize(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->backgroundLayers() == *styleResolver.style()->backgroundLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->backgroundLayers(); parent && parent->isSizeSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setSize(parent->size()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearSize(); |
| } |
| static void applyValueWebkitBackgroundSize(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureBackgroundLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(BackgroundFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillSize(CSSPropertyWebkitBackgroundSize, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillSize(CSSPropertyWebkitBackgroundSize, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearSize(); |
| } |
| static void applyInitialWebkitBorderFit(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderFit(RenderStyle::initialBorderFit()); |
| } |
| static void applyInheritWebkitBorderFit(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderFit(styleResolver.parentStyle()->borderFit()); |
| } |
| static void applyValueWebkitBorderFit(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderFit(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitBorderHorizontalSpacing(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHorizontalBorderSpacing(RenderStyle::initialHorizontalBorderSpacing()); |
| } |
| static void applyInheritWebkitBorderHorizontalSpacing(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHorizontalBorderSpacing(styleResolver.parentStyle()->horizontalBorderSpacing()); |
| } |
| static void applyValueWebkitBorderHorizontalSpacing(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setHorizontalBorderSpacing(StyleBuilderConverter::convertComputedLength<float>(styleResolver, value)); |
| } |
| static void applyInitialWebkitBorderImage(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderImage(RenderStyle::initialNinePieceImage()); |
| } |
| static void applyInheritWebkitBorderImage(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBorderImage(styleResolver.parentStyle()->borderImage()); |
| } |
| static void applyValueWebkitBorderImage(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBorderImage(StyleBuilderConverter::convertBorderImage<CSSPropertyWebkitBorderImage>(styleResolver, value)); |
| } |
| static void applyInitialWebkitBorderVerticalSpacing(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setVerticalBorderSpacing(RenderStyle::initialVerticalBorderSpacing()); |
| } |
| static void applyInheritWebkitBorderVerticalSpacing(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setVerticalBorderSpacing(styleResolver.parentStyle()->verticalBorderSpacing()); |
| } |
| static void applyValueWebkitBorderVerticalSpacing(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setVerticalBorderSpacing(StyleBuilderConverter::convertComputedLength<float>(styleResolver, value)); |
| } |
| static void applyInitialWebkitBoxAlign(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxAlign(RenderStyle::initialBoxAlign()); |
| } |
| static void applyInheritWebkitBoxAlign(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxAlign(styleResolver.parentStyle()->boxAlign()); |
| } |
| static void applyValueWebkitBoxAlign(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBoxAlign(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitBoxDirection(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxDirection(RenderStyle::initialBoxDirection()); |
| } |
| static void applyInheritWebkitBoxDirection(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxDirection(styleResolver.parentStyle()->boxDirection()); |
| } |
| static void applyValueWebkitBoxDirection(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBoxDirection(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitBoxFlex(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxFlex(RenderStyle::initialBoxFlex()); |
| } |
| static void applyInheritWebkitBoxFlex(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxFlex(styleResolver.parentStyle()->boxFlex()); |
| } |
| static void applyValueWebkitBoxFlex(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBoxFlex(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitBoxFlexGroup(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxFlexGroup(RenderStyle::initialBoxFlexGroup()); |
| } |
| static void applyInheritWebkitBoxFlexGroup(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxFlexGroup(styleResolver.parentStyle()->boxFlexGroup()); |
| } |
| static void applyValueWebkitBoxFlexGroup(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBoxFlexGroup(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitBoxLines(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxLines(RenderStyle::initialBoxLines()); |
| } |
| static void applyInheritWebkitBoxLines(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxLines(styleResolver.parentStyle()->boxLines()); |
| } |
| static void applyValueWebkitBoxLines(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBoxLines(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitBoxOrdinalGroup(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxOrdinalGroup(RenderStyle::initialBoxOrdinalGroup()); |
| } |
| static void applyInheritWebkitBoxOrdinalGroup(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxOrdinalGroup(styleResolver.parentStyle()->boxOrdinalGroup()); |
| } |
| static void applyValueWebkitBoxOrdinalGroup(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBoxOrdinalGroup(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitBoxOrient(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxOrient(RenderStyle::initialBoxOrient()); |
| } |
| static void applyInheritWebkitBoxOrient(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxOrient(styleResolver.parentStyle()->boxOrient()); |
| } |
| static void applyValueWebkitBoxOrient(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBoxOrient(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitBoxPack(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxPack(RenderStyle::initialBoxPack()); |
| } |
| static void applyInheritWebkitBoxPack(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxPack(styleResolver.parentStyle()->boxPack()); |
| } |
| static void applyValueWebkitBoxPack(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBoxPack(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitBoxReflect(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxReflect(RenderStyle::initialBoxReflect()); |
| } |
| static void applyInheritWebkitBoxReflect(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxReflect(styleResolver.parentStyle()->boxReflect()); |
| } |
| static void applyValueWebkitBoxReflect(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBoxReflect(StyleBuilderConverter::convertReflection(styleResolver, value)); |
| } |
| static void applyInitialWebkitColumnAxis(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setColumnAxis(RenderStyle::initialColumnAxis()); |
| } |
| static void applyInheritWebkitColumnAxis(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setColumnAxis(styleResolver.parentStyle()->columnAxis()); |
| } |
| static void applyValueWebkitColumnAxis(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setColumnAxis(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitColumnBreakAfter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakAfter(RenderStyle::initialBreakBetween()); |
| } |
| static void applyInheritWebkitColumnBreakAfter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakAfter(styleResolver.parentStyle()->breakAfter()); |
| } |
| static void applyValueWebkitColumnBreakAfter(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBreakAfter(StyleBuilderConverter::convertColumnBreakBetween(styleResolver, value)); |
| } |
| static void applyInitialWebkitColumnBreakBefore(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakBefore(RenderStyle::initialBreakBetween()); |
| } |
| static void applyInheritWebkitColumnBreakBefore(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakBefore(styleResolver.parentStyle()->breakBefore()); |
| } |
| static void applyValueWebkitColumnBreakBefore(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBreakBefore(StyleBuilderConverter::convertColumnBreakBetween(styleResolver, value)); |
| } |
| static void applyInitialWebkitColumnBreakInside(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakInside(RenderStyle::initialBreakInside()); |
| } |
| static void applyInheritWebkitColumnBreakInside(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakInside(styleResolver.parentStyle()->breakInside()); |
| } |
| static void applyValueWebkitColumnBreakInside(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBreakInside(StyleBuilderConverter::convertColumnBreakInside(styleResolver, value)); |
| } |
| static void applyInitialColumnCount(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHasAutoColumnCount(); |
| } |
| static void applyInheritColumnCount(StyleResolver& styleResolver) |
| { |
| if (styleResolver.parentStyle()->hasAutoColumnCount()) { |
| styleResolver.style()->setHasAutoColumnCount(); |
| return; |
| } |
| styleResolver.style()->setColumnCount(styleResolver.parentStyle()->columnCount()); |
| } |
| static void applyValueColumnCount(StyleResolver& styleResolver, CSSValue& value) |
| { |
| if (downcast<CSSPrimitiveValue>(value).getValueID() == CSSValueAuto) { |
| styleResolver.style()->setHasAutoColumnCount(); |
| return; |
| } |
| styleResolver.style()->setColumnCount(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialColumnFill(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setColumnFill(RenderStyle::initialColumnFill()); |
| } |
| static void applyInheritColumnFill(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setColumnFill(styleResolver.parentStyle()->columnFill()); |
| } |
| static void applyValueColumnFill(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setColumnFill(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialColumnProgression(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setColumnProgression(RenderStyle::initialColumnProgression()); |
| } |
| static void applyInheritColumnProgression(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setColumnProgression(styleResolver.parentStyle()->columnProgression()); |
| } |
| static void applyValueColumnProgression(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setColumnProgression(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialColumnRuleColor(StyleResolver& styleResolver) |
| { |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setColumnRuleColor(RenderStyle::invalidColor()); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkColumnRuleColor(RenderStyle::invalidColor()); |
| } |
| static void applyInheritColumnRuleColor(StyleResolver& styleResolver) |
| { |
| Color color = styleResolver.parentStyle()->columnRuleColor(); |
| if (!color.isValid()) |
| color = styleResolver.parentStyle()->color(); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setColumnRuleColor(color); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkColumnRuleColor(color); |
| } |
| static void applyValueColumnRuleColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto& primitiveValue = downcast<CSSPrimitiveValue>(value); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setColumnRuleColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false)); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkColumnRuleColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true)); |
| } |
| static void applyInitialColumnRuleStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setColumnRuleStyle(RenderStyle::initialBorderStyle()); |
| } |
| static void applyInheritColumnRuleStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setColumnRuleStyle(styleResolver.parentStyle()->columnRuleStyle()); |
| } |
| static void applyValueColumnRuleStyle(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setColumnRuleStyle(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialColumnRuleWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setColumnRuleWidth(RenderStyle::initialColumnRuleWidth()); |
| } |
| static void applyInheritColumnRuleWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setColumnRuleWidth(styleResolver.parentStyle()->columnRuleWidth()); |
| } |
| static void applyValueColumnRuleWidth(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setColumnRuleWidth(StyleBuilderConverter::convertLineWidth<unsigned short>(styleResolver, value)); |
| } |
| static void applyInitialColumnSpan(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setColumnSpan(RenderStyle::initialColumnSpan()); |
| } |
| static void applyInheritColumnSpan(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setColumnSpan(styleResolver.parentStyle()->columnSpan()); |
| } |
| static void applyValueColumnSpan(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setColumnSpan(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialColumnWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHasAutoColumnWidth(); |
| } |
| static void applyInheritColumnWidth(StyleResolver& styleResolver) |
| { |
| if (styleResolver.parentStyle()->hasAutoColumnWidth()) { |
| styleResolver.style()->setHasAutoColumnWidth(); |
| return; |
| } |
| styleResolver.style()->setColumnWidth(styleResolver.parentStyle()->columnWidth()); |
| } |
| static void applyValueColumnWidth(StyleResolver& styleResolver, CSSValue& value) |
| { |
| if (downcast<CSSPrimitiveValue>(value).getValueID() == CSSValueAuto) { |
| styleResolver.style()->setHasAutoColumnWidth(); |
| return; |
| } |
| styleResolver.style()->setColumnWidth(StyleBuilderConverter::convertComputedLength<float>(styleResolver, value)); |
| } |
| static void applyInitialWebkitBoxDecorationBreak(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxDecorationBreak(RenderStyle::initialBoxDecorationBreak()); |
| } |
| static void applyInheritWebkitBoxDecorationBreak(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBoxDecorationBreak(styleResolver.parentStyle()->boxDecorationBreak()); |
| } |
| static void applyValueWebkitBoxDecorationBreak(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBoxDecorationBreak(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialFilter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFilter(RenderStyle::initialFilter()); |
| } |
| static void applyInheritFilter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFilter(styleResolver.parentStyle()->filter()); |
| } |
| static void applyValueFilter(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto convertedValue = StyleBuilderConverter::convertFilterOperations(styleResolver, value); |
| if (convertedValue) |
| styleResolver.style()->setFilter(convertedValue.value()); |
| } |
| static void applyInitialAlignContent(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setAlignContent(RenderStyle::initialContentAlignment()); |
| } |
| static void applyInheritAlignContent(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setAlignContent(styleResolver.parentStyle()->alignContent()); |
| } |
| static void applyValueAlignContent(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setAlignContent(StyleBuilderConverter::convertContentAlignmentData(styleResolver, value)); |
| } |
| static void applyInitialAlignItems(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setAlignItems(RenderStyle::initialDefaultAlignment()); |
| } |
| static void applyInheritAlignItems(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setAlignItems(styleResolver.parentStyle()->alignItems()); |
| } |
| static void applyValueAlignItems(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setAlignItems(StyleBuilderConverter::convertSelfOrDefaultAlignmentData(styleResolver, value)); |
| } |
| static void applyInitialAlignSelf(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setAlignSelf(RenderStyle::initialSelfAlignment()); |
| } |
| static void applyInheritAlignSelf(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setAlignSelf(styleResolver.parentStyle()->alignSelf()); |
| } |
| static void applyValueAlignSelf(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setAlignSelf(StyleBuilderConverter::convertSelfOrDefaultAlignmentData(styleResolver, value)); |
| } |
| static void applyInitialFlexBasis(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFlexBasis(RenderStyle::initialFlexBasis()); |
| } |
| static void applyInheritFlexBasis(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFlexBasis(styleResolver.parentStyle()->flexBasis()); |
| } |
| static void applyValueFlexBasis(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setFlexBasis(StyleBuilderConverter::convertLengthOrAuto(styleResolver, value)); |
| } |
| static void applyInitialFlexDirection(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFlexDirection(RenderStyle::initialFlexDirection()); |
| } |
| static void applyInheritFlexDirection(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFlexDirection(styleResolver.parentStyle()->flexDirection()); |
| } |
| static void applyValueFlexDirection(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setFlexDirection(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialFlexGrow(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFlexGrow(RenderStyle::initialFlexGrow()); |
| } |
| static void applyInheritFlexGrow(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFlexGrow(styleResolver.parentStyle()->flexGrow()); |
| } |
| static void applyValueFlexGrow(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setFlexGrow(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialFlexShrink(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFlexShrink(RenderStyle::initialFlexShrink()); |
| } |
| static void applyInheritFlexShrink(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFlexShrink(styleResolver.parentStyle()->flexShrink()); |
| } |
| static void applyValueFlexShrink(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setFlexShrink(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialFlexWrap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFlexWrap(RenderStyle::initialFlexWrap()); |
| } |
| static void applyInheritFlexWrap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFlexWrap(styleResolver.parentStyle()->flexWrap()); |
| } |
| static void applyValueFlexWrap(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setFlexWrap(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialJustifyContent(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setJustifyContent(RenderStyle::initialContentAlignment()); |
| } |
| static void applyInheritJustifyContent(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setJustifyContent(styleResolver.parentStyle()->justifyContent()); |
| } |
| static void applyValueJustifyContent(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setJustifyContent(StyleBuilderConverter::convertContentAlignmentData(styleResolver, value)); |
| } |
| static void applyInitialWebkitBackdropFilter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBackdropFilter(RenderStyle::initialBackdropFilter()); |
| } |
| static void applyInheritWebkitBackdropFilter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBackdropFilter(styleResolver.parentStyle()->backdropFilter()); |
| } |
| static void applyValueWebkitBackdropFilter(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto convertedValue = StyleBuilderConverter::convertFilterOperations(styleResolver, value); |
| if (convertedValue) |
| styleResolver.style()->setBackdropFilter(convertedValue.value()); |
| } |
| static void applyInitialJustifySelf(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setJustifySelf(RenderStyle::initialSelfAlignment()); |
| } |
| static void applyInheritJustifySelf(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setJustifySelf(styleResolver.parentStyle()->justifySelf()); |
| } |
| static void applyValueJustifySelf(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setJustifySelf(StyleBuilderConverter::convertSelfOrDefaultAlignmentData(styleResolver, value)); |
| } |
| static void applyInitialJustifyItems(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setJustifyItems(RenderStyle::initialSelfAlignment()); |
| } |
| static void applyInheritJustifyItems(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setJustifyItems(styleResolver.parentStyle()->justifyItems()); |
| } |
| static void applyValueJustifyItems(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setJustifyItems(StyleBuilderConverter::convertSelfOrDefaultAlignmentData(styleResolver, value)); |
| } |
| static void applyInitialGridAutoColumns(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridAutoColumns(RenderStyle::initialGridAutoColumns()); |
| } |
| static void applyInheritGridAutoColumns(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridAutoColumns(styleResolver.parentStyle()->gridAutoColumns()); |
| } |
| static void applyValueGridAutoColumns(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setGridAutoColumns(StyleBuilderConverter::convertGridTrackSizeList(styleResolver, value)); |
| } |
| static void applyInitialGridAutoRows(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridAutoRows(RenderStyle::initialGridAutoRows()); |
| } |
| static void applyInheritGridAutoRows(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridAutoRows(styleResolver.parentStyle()->gridAutoRows()); |
| } |
| static void applyValueGridAutoRows(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setGridAutoRows(StyleBuilderConverter::convertGridTrackSizeList(styleResolver, value)); |
| } |
| static void applyInitialGridColumnEnd(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridItemColumnEnd(RenderStyle::initialGridItemColumnEnd()); |
| } |
| static void applyInheritGridColumnEnd(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridItemColumnEnd(styleResolver.parentStyle()->gridItemColumnEnd()); |
| } |
| static void applyValueGridColumnEnd(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto convertedValue = StyleBuilderConverter::convertGridPosition(styleResolver, value); |
| if (convertedValue) |
| styleResolver.style()->setGridItemColumnEnd(convertedValue.value()); |
| } |
| static void applyInitialGridColumnGap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridColumnGap(RenderStyle::initialZeroLength()); |
| } |
| static void applyInheritGridColumnGap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridColumnGap(styleResolver.parentStyle()->gridColumnGap()); |
| } |
| static void applyValueGridColumnGap(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setGridColumnGap(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialGridColumnStart(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridItemColumnStart(RenderStyle::initialGridItemColumnStart()); |
| } |
| static void applyInheritGridColumnStart(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridItemColumnStart(styleResolver.parentStyle()->gridItemColumnStart()); |
| } |
| static void applyValueGridColumnStart(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto convertedValue = StyleBuilderConverter::convertGridPosition(styleResolver, value); |
| if (convertedValue) |
| styleResolver.style()->setGridItemColumnStart(convertedValue.value()); |
| } |
| static void applyInitialGridRowEnd(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridItemRowEnd(RenderStyle::initialGridItemRowEnd()); |
| } |
| static void applyInheritGridRowEnd(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridItemRowEnd(styleResolver.parentStyle()->gridItemRowEnd()); |
| } |
| static void applyValueGridRowEnd(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto convertedValue = StyleBuilderConverter::convertGridPosition(styleResolver, value); |
| if (convertedValue) |
| styleResolver.style()->setGridItemRowEnd(convertedValue.value()); |
| } |
| static void applyInitialGridRowGap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridRowGap(RenderStyle::initialZeroLength()); |
| } |
| static void applyInheritGridRowGap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridRowGap(styleResolver.parentStyle()->gridRowGap()); |
| } |
| static void applyValueGridRowGap(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setGridRowGap(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialGridRowStart(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridItemRowStart(RenderStyle::initialGridItemRowStart()); |
| } |
| static void applyInheritGridRowStart(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridItemRowStart(styleResolver.parentStyle()->gridItemRowStart()); |
| } |
| static void applyValueGridRowStart(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto convertedValue = StyleBuilderConverter::convertGridPosition(styleResolver, value); |
| if (convertedValue) |
| styleResolver.style()->setGridItemRowStart(convertedValue.value()); |
| } |
| static void applyInitialGridAutoFlow(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridAutoFlow(RenderStyle::initialGridAutoFlow()); |
| } |
| static void applyInheritGridAutoFlow(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setGridAutoFlow(styleResolver.parentStyle()->gridAutoFlow()); |
| } |
| static void applyValueGridAutoFlow(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setGridAutoFlow(StyleBuilderConverter::convertGridAutoFlow(styleResolver, value)); |
| } |
| static void applyInitialWebkitHyphenateCharacter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHyphenationString(RenderStyle::initialHyphenationString()); |
| } |
| static void applyInheritWebkitHyphenateCharacter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHyphenationString(styleResolver.parentStyle()->hyphenationString()); |
| } |
| static void applyValueWebkitHyphenateCharacter(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setHyphenationString(StyleBuilderConverter::convertStringOrAuto(styleResolver, value)); |
| } |
| static void applyInitialWebkitHyphenateLimitAfter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHyphenationLimitAfter(RenderStyle::initialHyphenationLimitAfter()); |
| } |
| static void applyInheritWebkitHyphenateLimitAfter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHyphenationLimitAfter(styleResolver.parentStyle()->hyphenationLimitAfter()); |
| } |
| static void applyValueWebkitHyphenateLimitAfter(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setHyphenationLimitAfter(StyleBuilderConverter::convertNumberOrAuto<short>(styleResolver, value)); |
| } |
| static void applyInitialWebkitHyphenateLimitBefore(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHyphenationLimitBefore(RenderStyle::initialHyphenationLimitBefore()); |
| } |
| static void applyInheritWebkitHyphenateLimitBefore(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHyphenationLimitBefore(styleResolver.parentStyle()->hyphenationLimitBefore()); |
| } |
| static void applyValueWebkitHyphenateLimitBefore(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setHyphenationLimitBefore(StyleBuilderConverter::convertNumberOrAuto<short>(styleResolver, value)); |
| } |
| static void applyInitialWebkitHyphenateLimitLines(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHyphenationLimitLines(RenderStyle::initialHyphenationLimitLines()); |
| } |
| static void applyInheritWebkitHyphenateLimitLines(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHyphenationLimitLines(styleResolver.parentStyle()->hyphenationLimitLines()); |
| } |
| static void applyValueWebkitHyphenateLimitLines(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setHyphenationLimitLines(StyleBuilderConverter::convertWebkitHyphenateLimitLines(styleResolver, value)); |
| } |
| static void applyInitialWebkitHyphens(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHyphens(RenderStyle::initialHyphens()); |
| } |
| static void applyInheritWebkitHyphens(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setHyphens(styleResolver.parentStyle()->hyphens()); |
| } |
| static void applyValueWebkitHyphens(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setHyphens(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitInitialLetter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setInitialLetter(RenderStyle::initialInitialLetter()); |
| } |
| static void applyInheritWebkitInitialLetter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setInitialLetter(styleResolver.parentStyle()->initialLetter()); |
| } |
| static void applyValueWebkitInitialLetter(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setInitialLetter(StyleBuilderConverter::convertInitialLetter(styleResolver, value)); |
| } |
| static void applyInitialWebkitLineBoxContain(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineBoxContain(RenderStyle::initialLineBoxContain()); |
| } |
| static void applyInheritWebkitLineBoxContain(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineBoxContain(styleResolver.parentStyle()->lineBoxContain()); |
| } |
| static void applyValueWebkitLineBoxContain(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setLineBoxContain(StyleBuilderConverter::convertLineBoxContain(styleResolver, value)); |
| } |
| static void applyInitialWebkitLineAlign(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineAlign(RenderStyle::initialLineAlign()); |
| } |
| static void applyInheritWebkitLineAlign(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineAlign(styleResolver.parentStyle()->lineAlign()); |
| } |
| static void applyValueWebkitLineAlign(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setLineAlign(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitLineBreak(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineBreak(RenderStyle::initialLineBreak()); |
| } |
| static void applyInheritWebkitLineBreak(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineBreak(styleResolver.parentStyle()->lineBreak()); |
| } |
| static void applyValueWebkitLineBreak(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setLineBreak(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitLineClamp(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineClamp(RenderStyle::initialLineClamp()); |
| } |
| static void applyInheritWebkitLineClamp(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineClamp(styleResolver.parentStyle()->lineClamp()); |
| } |
| static void applyValueWebkitLineClamp(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setLineClamp(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitLineGrid(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineGrid(RenderStyle::initialLineGrid()); |
| } |
| static void applyInheritWebkitLineGrid(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineGrid(styleResolver.parentStyle()->lineGrid()); |
| } |
| static void applyValueWebkitLineGrid(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setLineGrid(StyleBuilderConverter::convertStringOrNone(styleResolver, value)); |
| } |
| static void applyInitialWebkitLineSnap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineSnap(RenderStyle::initialLineSnap()); |
| } |
| static void applyInheritWebkitLineSnap(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setLineSnap(styleResolver.parentStyle()->lineSnap()); |
| } |
| static void applyValueWebkitLineSnap(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setLineSnap(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitMarginAfterCollapse(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginAfterCollapse(RenderStyle::initialMarginAfterCollapse()); |
| } |
| static void applyInheritWebkitMarginAfterCollapse(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginAfterCollapse(styleResolver.parentStyle()->marginAfterCollapse()); |
| } |
| static void applyValueWebkitMarginAfterCollapse(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMarginAfterCollapse(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitMarginBeforeCollapse(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginBeforeCollapse(RenderStyle::initialMarginBeforeCollapse()); |
| } |
| static void applyInheritWebkitMarginBeforeCollapse(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginBeforeCollapse(styleResolver.parentStyle()->marginBeforeCollapse()); |
| } |
| static void applyValueWebkitMarginBeforeCollapse(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMarginBeforeCollapse(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitMarginBottomCollapse(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginAfterCollapse(RenderStyle::initialMarginAfterCollapse()); |
| } |
| static void applyInheritWebkitMarginBottomCollapse(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginAfterCollapse(styleResolver.parentStyle()->marginAfterCollapse()); |
| } |
| static void applyValueWebkitMarginBottomCollapse(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMarginAfterCollapse(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitMarginTopCollapse(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginBeforeCollapse(RenderStyle::initialMarginBeforeCollapse()); |
| } |
| static void applyInheritWebkitMarginTopCollapse(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarginBeforeCollapse(styleResolver.parentStyle()->marginBeforeCollapse()); |
| } |
| static void applyValueWebkitMarginTopCollapse(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMarginBeforeCollapse(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitMarqueeDirection(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarqueeDirection(RenderStyle::initialMarqueeDirection()); |
| } |
| static void applyInheritWebkitMarqueeDirection(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarqueeDirection(styleResolver.parentStyle()->marqueeDirection()); |
| } |
| static void applyValueWebkitMarqueeDirection(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMarqueeDirection(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitMarqueeIncrement(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarqueeIncrement(RenderStyle::initialMarqueeIncrement()); |
| } |
| static void applyInheritWebkitMarqueeIncrement(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarqueeIncrement(styleResolver.parentStyle()->marqueeIncrement()); |
| } |
| static void applyValueWebkitMarqueeIncrement(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto convertedValue = StyleBuilderConverter::convertMarqueeIncrement(styleResolver, value); |
| if (convertedValue) |
| styleResolver.style()->setMarqueeIncrement(convertedValue.value()); |
| } |
| static void applyInitialWebkitMarqueeRepetition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarqueeLoopCount(RenderStyle::initialMarqueeLoopCount()); |
| } |
| static void applyInheritWebkitMarqueeRepetition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarqueeLoopCount(styleResolver.parentStyle()->marqueeLoopCount()); |
| } |
| static void applyValueWebkitMarqueeRepetition(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMarqueeLoopCount(StyleBuilderConverter::convertMarqueeRepetition(styleResolver, value)); |
| } |
| static void applyInitialWebkitMarqueeSpeed(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarqueeSpeed(RenderStyle::initialMarqueeSpeed()); |
| } |
| static void applyInheritWebkitMarqueeSpeed(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarqueeSpeed(styleResolver.parentStyle()->marqueeSpeed()); |
| } |
| static void applyValueWebkitMarqueeSpeed(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMarqueeSpeed(StyleBuilderConverter::convertMarqueeSpeed(styleResolver, value)); |
| } |
| static void applyInitialWebkitMarqueeStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarqueeBehavior(RenderStyle::initialMarqueeBehavior()); |
| } |
| static void applyInheritWebkitMarqueeStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMarqueeBehavior(styleResolver.parentStyle()->marqueeBehavior()); |
| } |
| static void applyValueWebkitMarqueeStyle(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMarqueeBehavior(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitMaskBoxImage(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMaskBoxImage(RenderStyle::initialNinePieceImage()); |
| } |
| static void applyInheritWebkitMaskBoxImage(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMaskBoxImage(styleResolver.parentStyle()->maskBoxImage()); |
| } |
| static void applyValueWebkitMaskBoxImage(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMaskBoxImage(StyleBuilderConverter::convertBorderMask<CSSPropertyWebkitMaskBoxImage>(styleResolver, value)); |
| } |
| static void applyInitialWebkitMaskBoxImageSource(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMaskBoxImageSource(RenderStyle::initialMaskBoxImageSource()); |
| } |
| static void applyInheritWebkitMaskBoxImageSource(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setMaskBoxImageSource(styleResolver.parentStyle()->maskBoxImageSource()); |
| } |
| static void applyValueWebkitMaskBoxImageSource(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setMaskBoxImageSource(StyleBuilderConverter::convertStyleImage<CSSPropertyWebkitMaskBoxImageSource>(styleResolver, value)); |
| } |
| static void applyInitialWebkitMaskClip(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->maskLayers(); |
| if (!layers.next() && (!layers.isClipSet() || layers.clip() == FillLayer::initialFillClip(MaskFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| child->setClip(FillLayer::initialFillClip(MaskFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearClip(); |
| } |
| static void applyInheritWebkitMaskClip(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->maskLayers() == *styleResolver.style()->maskLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->maskLayers(); parent && parent->isClipSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setClip(parent->clip()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearClip(); |
| } |
| static void applyValueWebkitMaskClip(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillClip(CSSPropertyWebkitMaskClip, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillClip(CSSPropertyWebkitMaskClip, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearClip(); |
| } |
| static void applyInitialWebkitMaskComposite(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->maskLayers(); |
| if (!layers.next() && (!layers.isCompositeSet() || layers.composite() == FillLayer::initialFillComposite(MaskFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| child->setComposite(FillLayer::initialFillComposite(MaskFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearComposite(); |
| } |
| static void applyInheritWebkitMaskComposite(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->maskLayers() == *styleResolver.style()->maskLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->maskLayers(); parent && parent->isCompositeSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setComposite(parent->composite()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearComposite(); |
| } |
| static void applyValueWebkitMaskComposite(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillComposite(CSSPropertyWebkitMaskComposite, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillComposite(CSSPropertyWebkitMaskComposite, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearComposite(); |
| } |
| static void applyInitialWebkitMaskImage(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->maskLayers(); |
| if (!layers.next() && (!layers.isImageSet() || layers.image() == FillLayer::initialFillImage(MaskFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| child->setImage(FillLayer::initialFillImage(MaskFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearImage(); |
| } |
| static void applyInheritWebkitMaskImage(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->maskLayers() == *styleResolver.style()->maskLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->maskLayers(); parent && parent->isImageSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setImage(parent->image()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearImage(); |
| } |
| static void applyValueWebkitMaskImage(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillImage(CSSPropertyWebkitMaskImage, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillImage(CSSPropertyWebkitMaskImage, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearImage(); |
| } |
| static void applyInitialWebkitMaskOrigin(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->maskLayers(); |
| if (!layers.next() && (!layers.isOriginSet() || layers.origin() == FillLayer::initialFillOrigin(MaskFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| child->setOrigin(FillLayer::initialFillOrigin(MaskFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearOrigin(); |
| } |
| static void applyInheritWebkitMaskOrigin(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->maskLayers() == *styleResolver.style()->maskLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->maskLayers(); parent && parent->isOriginSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setOrigin(parent->origin()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearOrigin(); |
| } |
| static void applyValueWebkitMaskOrigin(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillOrigin(CSSPropertyWebkitMaskOrigin, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillOrigin(CSSPropertyWebkitMaskOrigin, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearOrigin(); |
| } |
| static void applyInitialWebkitMaskPositionX(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->maskLayers(); |
| if (!layers.next() && (!layers.isXPositionSet() || layers.xPosition() == FillLayer::initialFillXPosition(MaskFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| child->setXPosition(FillLayer::initialFillXPosition(MaskFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearXPosition(); |
| } |
| static void applyInheritWebkitMaskPositionX(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->maskLayers() == *styleResolver.style()->maskLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->maskLayers(); parent && parent->isXPositionSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setXPosition(parent->xPosition()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearXPosition(); |
| } |
| static void applyValueWebkitMaskPositionX(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillXPosition(CSSPropertyWebkitMaskPositionX, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillXPosition(CSSPropertyWebkitMaskPositionX, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearXPosition(); |
| } |
| static void applyInitialWebkitMaskPositionY(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->maskLayers(); |
| if (!layers.next() && (!layers.isYPositionSet() || layers.yPosition() == FillLayer::initialFillYPosition(MaskFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| child->setYPosition(FillLayer::initialFillYPosition(MaskFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearYPosition(); |
| } |
| static void applyInheritWebkitMaskPositionY(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->maskLayers() == *styleResolver.style()->maskLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->maskLayers(); parent && parent->isYPositionSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setYPosition(parent->yPosition()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearYPosition(); |
| } |
| static void applyValueWebkitMaskPositionY(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillYPosition(CSSPropertyWebkitMaskPositionY, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillYPosition(CSSPropertyWebkitMaskPositionY, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearYPosition(); |
| } |
| static void applyInitialWebkitMaskRepeatX(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->maskLayers(); |
| if (!layers.next() && (!layers.isRepeatXSet() || layers.repeatX() == FillLayer::initialFillRepeatX(MaskFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| child->setRepeatX(FillLayer::initialFillRepeatX(MaskFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearRepeatX(); |
| } |
| static void applyInheritWebkitMaskRepeatX(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->maskLayers() == *styleResolver.style()->maskLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->maskLayers(); parent && parent->isRepeatXSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setRepeatX(parent->repeatX()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearRepeatX(); |
| } |
| static void applyValueWebkitMaskRepeatX(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillRepeatX(CSSPropertyWebkitMaskRepeatX, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillRepeatX(CSSPropertyWebkitMaskRepeatX, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearRepeatX(); |
| } |
| static void applyInitialWebkitMaskRepeatY(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->maskLayers(); |
| if (!layers.next() && (!layers.isRepeatYSet() || layers.repeatY() == FillLayer::initialFillRepeatY(MaskFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| child->setRepeatY(FillLayer::initialFillRepeatY(MaskFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearRepeatY(); |
| } |
| static void applyInheritWebkitMaskRepeatY(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->maskLayers() == *styleResolver.style()->maskLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->maskLayers(); parent && parent->isRepeatYSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setRepeatY(parent->repeatY()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearRepeatY(); |
| } |
| static void applyValueWebkitMaskRepeatY(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillRepeatY(CSSPropertyWebkitMaskRepeatY, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillRepeatY(CSSPropertyWebkitMaskRepeatY, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearRepeatY(); |
| } |
| static void applyInitialWebkitMaskSize(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->maskLayers(); |
| if (!layers.next() && (!layers.isSizeSet() || layers.size() == FillLayer::initialFillSize(MaskFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| child->setSize(FillLayer::initialFillSize(MaskFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearSize(); |
| } |
| static void applyInheritWebkitMaskSize(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->maskLayers() == *styleResolver.style()->maskLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->maskLayers(); parent && parent->isSizeSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setSize(parent->size()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearSize(); |
| } |
| static void applyValueWebkitMaskSize(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillSize(CSSPropertyWebkitMaskSize, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillSize(CSSPropertyWebkitMaskSize, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearSize(); |
| } |
| static void applyInitialWebkitMaskSourceType(StyleResolver& styleResolver) |
| { |
| // Check for (single-layer) no-op before clearing anything. |
| const FillLayer& layers = *styleResolver.style()->maskLayers(); |
| if (!layers.next() && (!layers.isMaskSourceTypeSet() || layers.maskSourceType() == FillLayer::initialFillMaskSourceType(MaskFillLayer))) |
| return; |
| |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| child->setMaskSourceType(FillLayer::initialFillMaskSourceType(MaskFillLayer)); |
| for (child = child->next(); child; child = child->next()) |
| child->clearMaskSourceType(); |
| } |
| static void applyInheritWebkitMaskSourceType(StyleResolver& styleResolver) |
| { |
| // Check for no-op before copying anything. |
| if (*styleResolver.parentStyle()->maskLayers() == *styleResolver.style()->maskLayers()) |
| return; |
| |
| auto* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| for (auto* parent = styleResolver.parentStyle()->maskLayers(); parent && parent->isMaskSourceTypeSet(); parent = parent->next()) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| child->setMaskSourceType(parent->maskSourceType()); |
| previousChild = child; |
| child = previousChild->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearMaskSourceType(); |
| } |
| static void applyValueWebkitMaskSourceType(StyleResolver& styleResolver, CSSValue& value) |
| { |
| FillLayer* child = &styleResolver.style()->ensureMaskLayers(); |
| FillLayer* previousChild = nullptr; |
| if (is<CSSValueList>(value) && !is<CSSImageSetValue>(value)) { |
| // Walk each value and put it into a layer, creating new layers as needed. |
| for (auto& item : downcast<CSSValueList>(value)) { |
| if (!child) { |
| previousChild->setNext(std::make_unique<FillLayer>(MaskFillLayer)); |
| child = previousChild->next(); |
| } |
| styleResolver.styleMap()->mapFillMaskSourceType(CSSPropertyWebkitMaskSourceType, *child, item); |
| previousChild = child; |
| child = child->next(); |
| } |
| } else { |
| styleResolver.styleMap()->mapFillMaskSourceType(CSSPropertyWebkitMaskSourceType, *child, value); |
| child = child->next(); |
| } |
| for (; child; child = child->next()) |
| child->clearMaskSourceType(); |
| } |
| static void applyInitialWebkitNbspMode(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setNBSPMode(RenderStyle::initialNBSPMode()); |
| } |
| static void applyInheritWebkitNbspMode(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setNBSPMode(styleResolver.parentStyle()->nbspMode()); |
| } |
| static void applyValueWebkitNbspMode(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setNBSPMode(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialOrder(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOrder(RenderStyle::initialOrder()); |
| } |
| static void applyInheritOrder(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setOrder(styleResolver.parentStyle()->order()); |
| } |
| static void applyValueOrder(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setOrder(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialPerspective(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPerspective(RenderStyle::initialPerspective()); |
| } |
| static void applyInheritPerspective(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPerspective(styleResolver.parentStyle()->perspective()); |
| } |
| static void applyValuePerspective(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto convertedValue = StyleBuilderConverter::convertPerspective(styleResolver, value); |
| if (convertedValue) |
| styleResolver.style()->setPerspective(convertedValue.value()); |
| } |
| static void applyInitialPerspectiveOriginX(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPerspectiveOriginX(RenderStyle::initialPerspectiveOriginX()); |
| } |
| static void applyInheritPerspectiveOriginX(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPerspectiveOriginX(styleResolver.parentStyle()->perspectiveOriginX()); |
| } |
| static void applyValuePerspectiveOriginX(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setPerspectiveOriginX(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialPerspectiveOriginY(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPerspectiveOriginY(RenderStyle::initialPerspectiveOriginY()); |
| } |
| static void applyInheritPerspectiveOriginY(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPerspectiveOriginY(styleResolver.parentStyle()->perspectiveOriginY()); |
| } |
| static void applyValuePerspectiveOriginY(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setPerspectiveOriginY(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialWebkitPrintColorAdjust(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPrintColorAdjust(RenderStyle::initialPrintColorAdjust()); |
| } |
| static void applyInheritWebkitPrintColorAdjust(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setPrintColorAdjust(styleResolver.parentStyle()->printColorAdjust()); |
| } |
| static void applyValueWebkitPrintColorAdjust(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setPrintColorAdjust(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitRtlOrdering(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRTLOrdering(RenderStyle::initialRTLOrdering()); |
| } |
| static void applyInheritWebkitRtlOrdering(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRTLOrdering(styleResolver.parentStyle()->rtlOrdering()); |
| } |
| static void applyValueWebkitRtlOrdering(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setRTLOrdering(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitTextCombine(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextCombine(RenderStyle::initialTextCombine()); |
| } |
| static void applyInheritWebkitTextCombine(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextCombine(styleResolver.parentStyle()->textCombine()); |
| } |
| static void applyValueWebkitTextCombine(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTextCombine(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitTextDecorationLine(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextDecoration(RenderStyle::initialTextDecoration()); |
| } |
| static void applyInheritWebkitTextDecorationLine(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextDecoration(styleResolver.parentStyle()->textDecoration()); |
| } |
| static void applyValueWebkitTextDecorationLine(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTextDecoration(StyleBuilderConverter::convertTextDecoration(styleResolver, value)); |
| } |
| static void applyInitialWebkitTextDecorationStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextDecorationStyle(RenderStyle::initialTextDecorationStyle()); |
| } |
| static void applyInheritWebkitTextDecorationStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextDecorationStyle(styleResolver.parentStyle()->textDecorationStyle()); |
| } |
| static void applyValueWebkitTextDecorationStyle(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTextDecorationStyle(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitTextDecorationColor(StyleResolver& styleResolver) |
| { |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setTextDecorationColor(RenderStyle::invalidColor()); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkTextDecorationColor(RenderStyle::invalidColor()); |
| } |
| static void applyInheritWebkitTextDecorationColor(StyleResolver& styleResolver) |
| { |
| Color color = styleResolver.parentStyle()->textDecorationColor(); |
| if (!color.isValid()) |
| color = styleResolver.parentStyle()->color(); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setTextDecorationColor(color); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkTextDecorationColor(color); |
| } |
| static void applyValueWebkitTextDecorationColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto& primitiveValue = downcast<CSSPrimitiveValue>(value); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setTextDecorationColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false)); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkTextDecorationColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true)); |
| } |
| static void applyInitialWebkitTextDecorationSkip(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextDecorationSkip(RenderStyle::initialTextDecorationSkip()); |
| } |
| static void applyInheritWebkitTextDecorationSkip(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextDecorationSkip(styleResolver.parentStyle()->textDecorationSkip()); |
| } |
| static void applyValueWebkitTextDecorationSkip(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTextDecorationSkip(StyleBuilderConverter::convertTextDecorationSkip(styleResolver, value)); |
| } |
| static void applyInitialWebkitTextUnderlinePosition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextUnderlinePosition(RenderStyle::initialTextUnderlinePosition()); |
| } |
| static void applyInheritWebkitTextUnderlinePosition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextUnderlinePosition(styleResolver.parentStyle()->textUnderlinePosition()); |
| } |
| static void applyValueWebkitTextUnderlinePosition(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTextUnderlinePosition(StyleBuilderConverter::convertTextUnderlinePosition(styleResolver, value)); |
| } |
| static void applyInitialWebkitTextEmphasisColor(StyleResolver& styleResolver) |
| { |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setTextEmphasisColor(RenderStyle::invalidColor()); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkTextEmphasisColor(RenderStyle::invalidColor()); |
| } |
| static void applyInheritWebkitTextEmphasisColor(StyleResolver& styleResolver) |
| { |
| Color color = styleResolver.parentStyle()->textEmphasisColor(); |
| if (!color.isValid()) |
| color = styleResolver.parentStyle()->color(); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setTextEmphasisColor(color); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkTextEmphasisColor(color); |
| } |
| static void applyValueWebkitTextEmphasisColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto& primitiveValue = downcast<CSSPrimitiveValue>(value); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setTextEmphasisColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false)); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkTextEmphasisColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true)); |
| } |
| static void applyInitialWebkitTextEmphasisPosition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextEmphasisPosition(RenderStyle::initialTextEmphasisPosition()); |
| } |
| static void applyInheritWebkitTextEmphasisPosition(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextEmphasisPosition(styleResolver.parentStyle()->textEmphasisPosition()); |
| } |
| static void applyValueWebkitTextEmphasisPosition(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTextEmphasisPosition(StyleBuilderConverter::convertTextEmphasisPosition(styleResolver, value)); |
| } |
| static void applyInitialWebkitTextFillColor(StyleResolver& styleResolver) |
| { |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setTextFillColor(RenderStyle::invalidColor()); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkTextFillColor(RenderStyle::invalidColor()); |
| } |
| static void applyInheritWebkitTextFillColor(StyleResolver& styleResolver) |
| { |
| Color color = styleResolver.parentStyle()->textFillColor(); |
| if (!color.isValid()) |
| color = styleResolver.parentStyle()->color(); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setTextFillColor(color); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkTextFillColor(color); |
| } |
| static void applyValueWebkitTextFillColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto& primitiveValue = downcast<CSSPrimitiveValue>(value); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setTextFillColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false)); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkTextFillColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true)); |
| } |
| static void applyInitialWebkitTextSecurity(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextSecurity(RenderStyle::initialTextSecurity()); |
| } |
| static void applyInheritWebkitTextSecurity(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextSecurity(styleResolver.parentStyle()->textSecurity()); |
| } |
| static void applyValueWebkitTextSecurity(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTextSecurity(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitTextStrokeColor(StyleResolver& styleResolver) |
| { |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setTextStrokeColor(RenderStyle::invalidColor()); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkTextStrokeColor(RenderStyle::invalidColor()); |
| } |
| static void applyInheritWebkitTextStrokeColor(StyleResolver& styleResolver) |
| { |
| Color color = styleResolver.parentStyle()->textStrokeColor(); |
| if (!color.isValid()) |
| color = styleResolver.parentStyle()->color(); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setTextStrokeColor(color); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkTextStrokeColor(color); |
| } |
| static void applyValueWebkitTextStrokeColor(StyleResolver& styleResolver, CSSValue& value) |
| { |
| auto& primitiveValue = downcast<CSSPrimitiveValue>(value); |
| if (styleResolver.applyPropertyToRegularStyle()) |
| styleResolver.style()->setTextStrokeColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false)); |
| if (styleResolver.applyPropertyToVisitedLinkStyle()) |
| styleResolver.style()->setVisitedLinkTextStrokeColor(styleResolver.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true)); |
| } |
| static void applyInitialWebkitTextStrokeWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextStrokeWidth(RenderStyle::initialTextStrokeWidth()); |
| } |
| static void applyInheritWebkitTextStrokeWidth(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTextStrokeWidth(styleResolver.parentStyle()->textStrokeWidth()); |
| } |
| static void applyValueWebkitTextStrokeWidth(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTextStrokeWidth(StyleBuilderConverter::convertTextStrokeWidth(styleResolver, value)); |
| } |
| static void applyInitialTransform(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTransform(RenderStyle::initialTransform()); |
| } |
| static void applyInheritTransform(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTransform(styleResolver.parentStyle()->transform()); |
| } |
| static void applyValueTransform(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTransform(StyleBuilderConverter::convertTransform(styleResolver, value)); |
| } |
| static void applyInitialTransformOriginX(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTransformOriginX(RenderStyle::initialTransformOriginX()); |
| } |
| static void applyInheritTransformOriginX(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTransformOriginX(styleResolver.parentStyle()->transformOriginX()); |
| } |
| static void applyValueTransformOriginX(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTransformOriginX(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialTransformOriginY(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTransformOriginY(RenderStyle::initialTransformOriginY()); |
| } |
| static void applyInheritTransformOriginY(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTransformOriginY(styleResolver.parentStyle()->transformOriginY()); |
| } |
| static void applyValueTransformOriginY(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTransformOriginY(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialTransformOriginZ(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTransformOriginZ(RenderStyle::initialTransformOriginZ()); |
| } |
| static void applyInheritTransformOriginZ(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTransformOriginZ(styleResolver.parentStyle()->transformOriginZ()); |
| } |
| static void applyValueTransformOriginZ(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTransformOriginZ(StyleBuilderConverter::convertComputedLength<float>(styleResolver, value)); |
| } |
| static void applyInitialTransformStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTransformStyle3D(RenderStyle::initialTransformStyle3D()); |
| } |
| static void applyInheritTransformStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTransformStyle3D(styleResolver.parentStyle()->transformStyle3D()); |
| } |
| static void applyValueTransformStyle(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTransformStyle3D(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitTransformStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTransformStyle3D(RenderStyle::initialTransformStyle3D()); |
| } |
| static void applyInheritWebkitTransformStyle(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setTransformStyle3D(styleResolver.parentStyle()->transformStyle3D()); |
| } |
| static void applyValueWebkitTransformStyle(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setTransformStyle3D(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitUserDrag(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setUserDrag(RenderStyle::initialUserDrag()); |
| } |
| static void applyInheritWebkitUserDrag(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setUserDrag(styleResolver.parentStyle()->userDrag()); |
| } |
| static void applyValueWebkitUserDrag(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setUserDrag(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitUserModify(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setUserModify(RenderStyle::initialUserModify()); |
| } |
| static void applyInheritWebkitUserModify(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setUserModify(styleResolver.parentStyle()->userModify()); |
| } |
| static void applyValueWebkitUserModify(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setUserModify(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitUserSelect(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setUserSelect(RenderStyle::initialUserSelect()); |
| } |
| static void applyInheritWebkitUserSelect(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setUserSelect(styleResolver.parentStyle()->userSelect()); |
| } |
| static void applyValueWebkitUserSelect(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setUserSelect(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitFlowInto(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFlowThread(RenderStyle::initialFlowThread()); |
| } |
| static void applyInheritWebkitFlowInto(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setFlowThread(styleResolver.parentStyle()->flowThread()); |
| } |
| static void applyValueWebkitFlowInto(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setFlowThread(StyleBuilderConverter::convertStringOrNone(styleResolver, value)); |
| } |
| static void applyInitialWebkitFlowFrom(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRegionThread(RenderStyle::initialRegionThread()); |
| } |
| static void applyInheritWebkitFlowFrom(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRegionThread(styleResolver.parentStyle()->regionThread()); |
| } |
| static void applyValueWebkitFlowFrom(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setRegionThread(StyleBuilderConverter::convertStringOrNone(styleResolver, value)); |
| } |
| static void applyInitialWebkitRegionFragment(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRegionFragment(RenderStyle::initialRegionFragment()); |
| } |
| static void applyInheritWebkitRegionFragment(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setRegionFragment(styleResolver.parentStyle()->regionFragment()); |
| } |
| static void applyValueWebkitRegionFragment(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setRegionFragment(downcast<CSSPrimitiveValue>(value)); |
| } |
| static void applyInitialWebkitRegionBreakAfter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakAfter(RenderStyle::initialBreakBetween()); |
| } |
| static void applyInheritWebkitRegionBreakAfter(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakAfter(styleResolver.parentStyle()->breakAfter()); |
| } |
| static void applyValueWebkitRegionBreakAfter(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBreakAfter(StyleBuilderConverter::convertRegionBreakBetween(styleResolver, value)); |
| } |
| static void applyInitialWebkitRegionBreakBefore(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakBefore(RenderStyle::initialBreakBetween()); |
| } |
| static void applyInheritWebkitRegionBreakBefore(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakBefore(styleResolver.parentStyle()->breakBefore()); |
| } |
| static void applyValueWebkitRegionBreakBefore(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBreakBefore(StyleBuilderConverter::convertRegionBreakBetween(styleResolver, value)); |
| } |
| static void applyInitialWebkitRegionBreakInside(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakInside(RenderStyle::initialBreakInside()); |
| } |
| static void applyInheritWebkitRegionBreakInside(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setBreakInside(styleResolver.parentStyle()->breakInside()); |
| } |
| static void applyValueWebkitRegionBreakInside(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setBreakInside(StyleBuilderConverter::convertRegionBreakInside(styleResolver, value)); |
| } |
| static void applyInitialWebkitShapeOutside(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setShapeOutside(RenderStyle::initialShapeOutside()); |
| } |
| static void applyInheritWebkitShapeOutside(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setShapeOutside(styleResolver.parentStyle()->shapeOutside()); |
| } |
| static void applyValueWebkitShapeOutside(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setShapeOutside(StyleBuilderConverter::convertShapeValue(styleResolver, value)); |
| } |
| static void applyInitialWebkitShapeMargin(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setShapeMargin(RenderStyle::initialShapeMargin()); |
| } |
| static void applyInheritWebkitShapeMargin(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setShapeMargin(styleResolver.parentStyle()->shapeMargin()); |
| } |
| static void applyValueWebkitShapeMargin(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setShapeMargin(StyleBuilderConverter::convertLength(styleResolver, value)); |
| } |
| static void applyInitialWebkitShapeImageThreshold(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setShapeImageThreshold(RenderStyle::initialShapeImageThreshold()); |
| } |
| static void applyInheritWebkitShapeImageThreshold(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setShapeImageThreshold(styleResolver.parentStyle()->shapeImageThreshold()); |
| } |
| static void applyValueWebkitShapeImageThreshold(StyleResolver& styleResolver, CSSValue& value) |
| { |
| styleResolver.style()->setShapeImageThreshold(StyleBuilderConverter::convertNumberOrAuto<float>(styleResolver, value)); |
| } |
| static void applyInitialWebkitDashboardRegion(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setDashboardRegions(RenderStyle::initialDashboardRegions()); |
| } |
| static void applyInheritWebkitDashboardRegion(StyleResolver& styleResolver) |
| { |
| styleResolver.style()->setDashboardRegions(styleResolver.parentStyle()->dashboardRegions()); |
| } |
| }; |
| |
| void StyleBuilder::applyProperty(CSSPropertyID property, StyleResolver& styleResolver, CSSValue& value, bool isInitial, bool isInherit) |
| { |
| switch (property) { |
| case CSSPropertyInvalid: |
| case CSSPropertyCustom: |
| break; |
| case CSSPropertyColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueColor(styleResolver, value); |
| break; |
| case CSSPropertyDirection: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialDirection(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritDirection(styleResolver); |
| else |
| StyleBuilderCustom::applyValueDirection(styleResolver, value); |
| break; |
| case CSSPropertyDisplay: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialDisplay(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritDisplay(styleResolver); |
| else |
| StyleBuilderCustom::applyValueDisplay(styleResolver, value); |
| break; |
| case CSSPropertyFontFamily: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialFontFamily(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritFontFamily(styleResolver); |
| else |
| StyleBuilderCustom::applyValueFontFamily(styleResolver, value); |
| break; |
| case CSSPropertyFontSize: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialFontSize(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritFontSize(styleResolver); |
| else |
| StyleBuilderCustom::applyValueFontSize(styleResolver, value); |
| break; |
| case CSSPropertyFontStyle: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFontStyle(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFontStyle(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFontStyle(styleResolver, value); |
| break; |
| case CSSPropertyFontWeight: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialFontWeight(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritFontWeight(styleResolver); |
| else |
| StyleBuilderCustom::applyValueFontWeight(styleResolver, value); |
| break; |
| case CSSPropertyTextRendering: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTextRendering(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTextRendering(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTextRendering(styleResolver, value); |
| break; |
| case CSSPropertyFontFeatureSettings: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialFontFeatureSettings(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritFontFeatureSettings(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFontFeatureSettings(styleResolver, value); |
| break; |
| case CSSPropertyWebkitFontKerning: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitFontKerning(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitFontKerning(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitFontKerning(styleResolver, value); |
| break; |
| case CSSPropertyWebkitFontSmoothing: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitFontSmoothing(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitFontSmoothing(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitFontSmoothing(styleResolver, value); |
| break; |
| case CSSPropertyFontVariantLigatures: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialFontVariantLigatures(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritFontVariantLigatures(styleResolver); |
| else |
| StyleBuilderCustom::applyValueFontVariantLigatures(styleResolver, value); |
| break; |
| case CSSPropertyFontVariantPosition: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFontVariantPosition(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFontVariantPosition(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFontVariantPosition(styleResolver, value); |
| break; |
| case CSSPropertyFontVariantCaps: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFontVariantCaps(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFontVariantCaps(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFontVariantCaps(styleResolver, value); |
| break; |
| case CSSPropertyFontVariantNumeric: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialFontVariantNumeric(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritFontVariantNumeric(styleResolver); |
| else |
| StyleBuilderCustom::applyValueFontVariantNumeric(styleResolver, value); |
| break; |
| case CSSPropertyFontVariantAlternates: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFontVariantAlternates(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFontVariantAlternates(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFontVariantAlternates(styleResolver, value); |
| break; |
| case CSSPropertyFontVariantEastAsian: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialFontVariantEastAsian(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritFontVariantEastAsian(styleResolver); |
| else |
| StyleBuilderCustom::applyValueFontVariantEastAsian(styleResolver, value); |
| break; |
| case CSSPropertyWebkitLocale: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitLocale(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitLocale(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitLocale(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextOrientation: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextOrientation(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextOrientation(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitTextOrientation(styleResolver, value); |
| break; |
| case CSSPropertyWebkitWritingMode: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitWritingMode(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitWritingMode(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitWritingMode(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextZoom: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextZoom(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextZoom(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitTextZoom(styleResolver, value); |
| break; |
| case CSSPropertyZoom: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialZoom(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritZoom(styleResolver); |
| else |
| StyleBuilderCustom::applyValueZoom(styleResolver, value); |
| break; |
| case CSSPropertyFontSynthesis: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFontSynthesis(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFontSynthesis(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFontSynthesis(styleResolver, value); |
| break; |
| case CSSPropertyWebkitRubyPosition: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitRubyPosition(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitRubyPosition(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitRubyPosition(styleResolver, value); |
| break; |
| case CSSPropertyAlignmentBaseline: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAlignmentBaseline(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAlignmentBaseline(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueAlignmentBaseline(styleResolver, value); |
| break; |
| case CSSPropertyAll: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyAnimation: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyAnimationDelay: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAnimationDelay(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAnimationDelay(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueAnimationDelay(styleResolver, value); |
| break; |
| case CSSPropertyAnimationDirection: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAnimationDirection(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAnimationDirection(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueAnimationDirection(styleResolver, value); |
| break; |
| case CSSPropertyAnimationDuration: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAnimationDuration(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAnimationDuration(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueAnimationDuration(styleResolver, value); |
| break; |
| case CSSPropertyAnimationFillMode: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAnimationFillMode(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAnimationFillMode(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueAnimationFillMode(styleResolver, value); |
| break; |
| case CSSPropertyAnimationIterationCount: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAnimationIterationCount(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAnimationIterationCount(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueAnimationIterationCount(styleResolver, value); |
| break; |
| case CSSPropertyAnimationName: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAnimationName(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAnimationName(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueAnimationName(styleResolver, value); |
| break; |
| case CSSPropertyAnimationPlayState: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAnimationPlayState(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAnimationPlayState(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueAnimationPlayState(styleResolver, value); |
| break; |
| case CSSPropertyAnimationTimingFunction: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAnimationTimingFunction(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAnimationTimingFunction(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueAnimationTimingFunction(styleResolver, value); |
| break; |
| case CSSPropertyBackground: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBackgroundAttachment: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBackgroundAttachment(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBackgroundAttachment(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBackgroundAttachment(styleResolver, value); |
| break; |
| case CSSPropertyBackgroundBlendMode: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBackgroundBlendMode(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBackgroundBlendMode(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBackgroundBlendMode(styleResolver, value); |
| break; |
| case CSSPropertyBackgroundClip: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBackgroundClip(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBackgroundClip(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBackgroundClip(styleResolver, value); |
| break; |
| case CSSPropertyBackgroundColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBackgroundColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBackgroundColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBackgroundColor(styleResolver, value); |
| break; |
| case CSSPropertyBackgroundImage: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBackgroundImage(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBackgroundImage(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBackgroundImage(styleResolver, value); |
| break; |
| case CSSPropertyBackgroundOrigin: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBackgroundOrigin(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBackgroundOrigin(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBackgroundOrigin(styleResolver, value); |
| break; |
| case CSSPropertyBackgroundPosition: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBackgroundPositionX: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBackgroundPositionX(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBackgroundPositionX(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBackgroundPositionX(styleResolver, value); |
| break; |
| case CSSPropertyBackgroundPositionY: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBackgroundPositionY(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBackgroundPositionY(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBackgroundPositionY(styleResolver, value); |
| break; |
| case CSSPropertyBackgroundRepeat: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBackgroundRepeatX: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBackgroundRepeatX(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBackgroundRepeatX(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBackgroundRepeatX(styleResolver, value); |
| break; |
| case CSSPropertyBackgroundRepeatY: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBackgroundRepeatY(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBackgroundRepeatY(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBackgroundRepeatY(styleResolver, value); |
| break; |
| case CSSPropertyBackgroundSize: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBackgroundSize(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBackgroundSize(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBackgroundSize(styleResolver, value); |
| break; |
| case CSSPropertyBaselineShift: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBaselineShift(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBaselineShift(styleResolver); |
| else |
| StyleBuilderCustom::applyValueBaselineShift(styleResolver, value); |
| break; |
| case CSSPropertyBorder: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBorderBottom: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBorderBottomColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderBottomColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderBottomColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderBottomColor(styleResolver, value); |
| break; |
| case CSSPropertyBorderBottomLeftRadius: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderBottomLeftRadius(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderBottomLeftRadius(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderBottomLeftRadius(styleResolver, value); |
| break; |
| case CSSPropertyBorderBottomRightRadius: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderBottomRightRadius(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderBottomRightRadius(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderBottomRightRadius(styleResolver, value); |
| break; |
| case CSSPropertyBorderBottomStyle: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderBottomStyle(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderBottomStyle(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderBottomStyle(styleResolver, value); |
| break; |
| case CSSPropertyBorderBottomWidth: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderBottomWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderBottomWidth(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderBottomWidth(styleResolver, value); |
| break; |
| case CSSPropertyBorderCollapse: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderCollapse(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderCollapse(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderCollapse(styleResolver, value); |
| break; |
| case CSSPropertyBorderColor: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBorderImage: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBorderImageOutset: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialBorderImageOutset(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritBorderImageOutset(styleResolver); |
| else |
| StyleBuilderCustom::applyValueBorderImageOutset(styleResolver, value); |
| break; |
| case CSSPropertyBorderImageRepeat: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialBorderImageRepeat(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritBorderImageRepeat(styleResolver); |
| else |
| StyleBuilderCustom::applyValueBorderImageRepeat(styleResolver, value); |
| break; |
| case CSSPropertyBorderImageSlice: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialBorderImageSlice(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritBorderImageSlice(styleResolver); |
| else |
| StyleBuilderCustom::applyValueBorderImageSlice(styleResolver, value); |
| break; |
| case CSSPropertyBorderImageSource: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderImageSource(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderImageSource(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderImageSource(styleResolver, value); |
| break; |
| case CSSPropertyBorderImageWidth: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialBorderImageWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritBorderImageWidth(styleResolver); |
| else |
| StyleBuilderCustom::applyValueBorderImageWidth(styleResolver, value); |
| break; |
| case CSSPropertyBorderLeft: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBorderLeftColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderLeftColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderLeftColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderLeftColor(styleResolver, value); |
| break; |
| case CSSPropertyBorderLeftStyle: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderLeftStyle(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderLeftStyle(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderLeftStyle(styleResolver, value); |
| break; |
| case CSSPropertyBorderLeftWidth: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderLeftWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderLeftWidth(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderLeftWidth(styleResolver, value); |
| break; |
| case CSSPropertyBorderRadius: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBorderRight: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBorderRightColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderRightColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderRightColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderRightColor(styleResolver, value); |
| break; |
| case CSSPropertyBorderRightStyle: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderRightStyle(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderRightStyle(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderRightStyle(styleResolver, value); |
| break; |
| case CSSPropertyBorderRightWidth: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderRightWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderRightWidth(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderRightWidth(styleResolver, value); |
| break; |
| case CSSPropertyBorderSpacing: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBorderStyle: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBorderTop: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBorderTopColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderTopColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderTopColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderTopColor(styleResolver, value); |
| break; |
| case CSSPropertyBorderTopLeftRadius: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderTopLeftRadius(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderTopLeftRadius(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderTopLeftRadius(styleResolver, value); |
| break; |
| case CSSPropertyBorderTopRightRadius: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderTopRightRadius(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderTopRightRadius(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderTopRightRadius(styleResolver, value); |
| break; |
| case CSSPropertyBorderTopStyle: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderTopStyle(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderTopStyle(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderTopStyle(styleResolver, value); |
| break; |
| case CSSPropertyBorderTopWidth: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBorderTopWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBorderTopWidth(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBorderTopWidth(styleResolver, value); |
| break; |
| case CSSPropertyBorderWidth: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyBottom: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBottom(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBottom(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBottom(styleResolver, value); |
| break; |
| case CSSPropertyBoxShadow: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialBoxShadow(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritBoxShadow(styleResolver); |
| else |
| StyleBuilderCustom::applyValueBoxShadow(styleResolver, value); |
| break; |
| case CSSPropertyBoxSizing: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBoxSizing(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBoxSizing(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBoxSizing(styleResolver, value); |
| break; |
| case CSSPropertyBreakAfter: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBreakAfter(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBreakAfter(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBreakAfter(styleResolver, value); |
| break; |
| case CSSPropertyBreakBefore: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBreakBefore(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBreakBefore(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBreakBefore(styleResolver, value); |
| break; |
| case CSSPropertyBreakInside: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBreakInside(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBreakInside(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBreakInside(styleResolver, value); |
| break; |
| case CSSPropertyBufferedRendering: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialBufferedRendering(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritBufferedRendering(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueBufferedRendering(styleResolver, value); |
| break; |
| case CSSPropertyCaptionSide: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialCaptionSide(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritCaptionSide(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueCaptionSide(styleResolver, value); |
| break; |
| case CSSPropertyClear: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialClear(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritClear(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueClear(styleResolver, value); |
| break; |
| case CSSPropertyClip: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialClip(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritClip(styleResolver); |
| else |
| StyleBuilderCustom::applyValueClip(styleResolver, value); |
| break; |
| case CSSPropertyWebkitClipPath: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitClipPath(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitClipPath(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitClipPath(styleResolver, value); |
| break; |
| case CSSPropertyClipPath: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialClipPath(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritClipPath(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueClipPath(styleResolver, value); |
| break; |
| case CSSPropertyClipRule: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialClipRule(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritClipRule(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueClipRule(styleResolver, value); |
| break; |
| case CSSPropertyColorInterpolation: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialColorInterpolation(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritColorInterpolation(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueColorInterpolation(styleResolver, value); |
| break; |
| case CSSPropertyColorInterpolationFilters: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialColorInterpolationFilters(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritColorInterpolationFilters(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueColorInterpolationFilters(styleResolver, value); |
| break; |
| case CSSPropertyColorProfile: |
| break; |
| case CSSPropertyColorRendering: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialColorRendering(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritColorRendering(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueColorRendering(styleResolver, value); |
| break; |
| case CSSPropertyContent: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialContent(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritContent(styleResolver); |
| else |
| StyleBuilderCustom::applyValueContent(styleResolver, value); |
| break; |
| case CSSPropertyCounterIncrement: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialCounterIncrement(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritCounterIncrement(styleResolver); |
| else |
| StyleBuilderCustom::applyValueCounterIncrement(styleResolver, value); |
| break; |
| case CSSPropertyCounterReset: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialCounterReset(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritCounterReset(styleResolver); |
| else |
| StyleBuilderCustom::applyValueCounterReset(styleResolver, value); |
| break; |
| case CSSPropertyCursor: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialCursor(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritCursor(styleResolver); |
| else |
| StyleBuilderCustom::applyValueCursor(styleResolver, value); |
| break; |
| case CSSPropertyWebkitCursorVisibility: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitCursorVisibility(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitCursorVisibility(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitCursorVisibility(styleResolver, value); |
| break; |
| case CSSPropertyCx: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialCx(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritCx(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueCx(styleResolver, value); |
| break; |
| case CSSPropertyCy: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialCy(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritCy(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueCy(styleResolver, value); |
| break; |
| case CSSPropertyDominantBaseline: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialDominantBaseline(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritDominantBaseline(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueDominantBaseline(styleResolver, value); |
| break; |
| case CSSPropertyEmptyCells: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialEmptyCells(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritEmptyCells(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueEmptyCells(styleResolver, value); |
| break; |
| case CSSPropertyEnableBackground: |
| break; |
| case CSSPropertyFill: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialFill(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritFill(styleResolver); |
| else |
| StyleBuilderCustom::applyValueFill(styleResolver, value); |
| break; |
| case CSSPropertyFillOpacity: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFillOpacity(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFillOpacity(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFillOpacity(styleResolver, value); |
| break; |
| case CSSPropertyFillRule: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFillRule(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFillRule(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFillRule(styleResolver, value); |
| break; |
| case CSSPropertyFloat: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFloat(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFloat(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFloat(styleResolver, value); |
| break; |
| case CSSPropertyFloodColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFloodColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFloodColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFloodColor(styleResolver, value); |
| break; |
| case CSSPropertyFloodOpacity: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFloodOpacity(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFloodOpacity(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFloodOpacity(styleResolver, value); |
| break; |
| case CSSPropertyFont: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyFontVariant: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyFontStretch: |
| break; |
| case CSSPropertyGlyphOrientationHorizontal: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialGlyphOrientationHorizontal(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritGlyphOrientationHorizontal(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueGlyphOrientationHorizontal(styleResolver, value); |
| break; |
| case CSSPropertyGlyphOrientationVertical: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialGlyphOrientationVertical(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritGlyphOrientationVertical(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueGlyphOrientationVertical(styleResolver, value); |
| break; |
| case CSSPropertyHangingPunctuation: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialHangingPunctuation(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritHangingPunctuation(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueHangingPunctuation(styleResolver, value); |
| break; |
| case CSSPropertyHeight: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialHeight(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritHeight(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueHeight(styleResolver, value); |
| break; |
| case CSSPropertyImageRendering: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialImageRendering(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritImageRendering(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueImageRendering(styleResolver, value); |
| break; |
| case CSSPropertyKerning: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialKerning(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritKerning(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueKerning(styleResolver, value); |
| break; |
| case CSSPropertyLeft: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialLeft(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritLeft(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueLeft(styleResolver, value); |
| break; |
| case CSSPropertyLetterSpacing: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialLetterSpacing(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritLetterSpacing(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueLetterSpacing(styleResolver, value); |
| break; |
| case CSSPropertyLightingColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialLightingColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritLightingColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueLightingColor(styleResolver, value); |
| break; |
| case CSSPropertyLineHeight: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialLineHeight(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritLineHeight(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueLineHeight(styleResolver, value); |
| break; |
| case CSSPropertyListStyle: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyListStyleImage: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialListStyleImage(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritListStyleImage(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueListStyleImage(styleResolver, value); |
| break; |
| case CSSPropertyListStylePosition: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialListStylePosition(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritListStylePosition(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueListStylePosition(styleResolver, value); |
| break; |
| case CSSPropertyListStyleType: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialListStyleType(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritListStyleType(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueListStyleType(styleResolver, value); |
| break; |
| case CSSPropertyMargin: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyMarginBottom: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMarginBottom(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMarginBottom(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMarginBottom(styleResolver, value); |
| break; |
| case CSSPropertyMarginLeft: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMarginLeft(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMarginLeft(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMarginLeft(styleResolver, value); |
| break; |
| case CSSPropertyMarginRight: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMarginRight(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMarginRight(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMarginRight(styleResolver, value); |
| break; |
| case CSSPropertyMarginTop: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMarginTop(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMarginTop(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMarginTop(styleResolver, value); |
| break; |
| case CSSPropertyMarker: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyMarkerEnd: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMarkerEnd(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMarkerEnd(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMarkerEnd(styleResolver, value); |
| break; |
| case CSSPropertyMarkerMid: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMarkerMid(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMarkerMid(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMarkerMid(styleResolver, value); |
| break; |
| case CSSPropertyMarkerStart: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMarkerStart(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMarkerStart(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMarkerStart(styleResolver, value); |
| break; |
| case CSSPropertyMask: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMask(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMask(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMask(styleResolver, value); |
| break; |
| case CSSPropertyMaskType: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMaskType(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMaskType(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMaskType(styleResolver, value); |
| break; |
| case CSSPropertyMaxHeight: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMaxHeight(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMaxHeight(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMaxHeight(styleResolver, value); |
| break; |
| case CSSPropertyMaxWidth: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMaxWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMaxWidth(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMaxWidth(styleResolver, value); |
| break; |
| case CSSPropertyMinHeight: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMinHeight(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMinHeight(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMinHeight(styleResolver, value); |
| break; |
| case CSSPropertyMinWidth: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialMinWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritMinWidth(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueMinWidth(styleResolver, value); |
| break; |
| case CSSPropertyObjectFit: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialObjectFit(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritObjectFit(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueObjectFit(styleResolver, value); |
| break; |
| case CSSPropertyObjectPosition: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialObjectPosition(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritObjectPosition(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueObjectPosition(styleResolver, value); |
| break; |
| case CSSPropertyOpacity: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialOpacity(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritOpacity(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueOpacity(styleResolver, value); |
| break; |
| case CSSPropertyOrphans: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialOrphans(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritOrphans(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueOrphans(styleResolver, value); |
| break; |
| case CSSPropertyOutline: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyOutlineColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialOutlineColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritOutlineColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueOutlineColor(styleResolver, value); |
| break; |
| case CSSPropertyOutlineOffset: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialOutlineOffset(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritOutlineOffset(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueOutlineOffset(styleResolver, value); |
| break; |
| case CSSPropertyOutlineStyle: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialOutlineStyle(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritOutlineStyle(styleResolver); |
| else |
| StyleBuilderCustom::applyValueOutlineStyle(styleResolver, value); |
| break; |
| case CSSPropertyOutlineWidth: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialOutlineWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritOutlineWidth(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueOutlineWidth(styleResolver, value); |
| break; |
| case CSSPropertyOverflow: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyOverflowWrap: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialOverflowWrap(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritOverflowWrap(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueOverflowWrap(styleResolver, value); |
| break; |
| case CSSPropertyOverflowX: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialOverflowX(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritOverflowX(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueOverflowX(styleResolver, value); |
| break; |
| case CSSPropertyOverflowY: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialOverflowY(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritOverflowY(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueOverflowY(styleResolver, value); |
| break; |
| case CSSPropertyPadding: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyPaddingBottom: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPaddingBottom(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPaddingBottom(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePaddingBottom(styleResolver, value); |
| break; |
| case CSSPropertyPaddingLeft: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPaddingLeft(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPaddingLeft(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePaddingLeft(styleResolver, value); |
| break; |
| case CSSPropertyPaddingRight: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPaddingRight(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPaddingRight(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePaddingRight(styleResolver, value); |
| break; |
| case CSSPropertyPaddingTop: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPaddingTop(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPaddingTop(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePaddingTop(styleResolver, value); |
| break; |
| case CSSPropertyPage: |
| break; |
| case CSSPropertyPageBreakAfter: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPageBreakAfter(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPageBreakAfter(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePageBreakAfter(styleResolver, value); |
| break; |
| case CSSPropertyPageBreakBefore: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPageBreakBefore(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPageBreakBefore(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePageBreakBefore(styleResolver, value); |
| break; |
| case CSSPropertyPageBreakInside: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPageBreakInside(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPageBreakInside(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePageBreakInside(styleResolver, value); |
| break; |
| case CSSPropertyPaintOrder: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPaintOrder(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPaintOrder(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePaintOrder(styleResolver, value); |
| break; |
| case CSSPropertyPointerEvents: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPointerEvents(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPointerEvents(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePointerEvents(styleResolver, value); |
| break; |
| case CSSPropertyPosition: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPosition(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPosition(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePosition(styleResolver, value); |
| break; |
| case CSSPropertyQuotes: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialQuotes(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritQuotes(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueQuotes(styleResolver, value); |
| break; |
| case CSSPropertyR: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialR(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritR(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueR(styleResolver, value); |
| break; |
| case CSSPropertyResize: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialResize(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritResize(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueResize(styleResolver, value); |
| break; |
| case CSSPropertyRight: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialRight(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritRight(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueRight(styleResolver, value); |
| break; |
| case CSSPropertyRx: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialRx(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritRx(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueRx(styleResolver, value); |
| break; |
| case CSSPropertyRy: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialRy(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritRy(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueRy(styleResolver, value); |
| break; |
| case CSSPropertyShapeRendering: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialShapeRendering(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritShapeRendering(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueShapeRendering(styleResolver, value); |
| break; |
| case CSSPropertySize: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialSize(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritSize(styleResolver); |
| else |
| StyleBuilderCustom::applyValueSize(styleResolver, value); |
| break; |
| case CSSPropertySrc: |
| break; |
| case CSSPropertyStopColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialStopColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritStopColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueStopColor(styleResolver, value); |
| break; |
| case CSSPropertyStopOpacity: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialStopOpacity(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritStopOpacity(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueStopOpacity(styleResolver, value); |
| break; |
| case CSSPropertyStroke: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialStroke(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritStroke(styleResolver); |
| else |
| StyleBuilderCustom::applyValueStroke(styleResolver, value); |
| break; |
| case CSSPropertyStrokeDasharray: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialStrokeDasharray(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritStrokeDasharray(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueStrokeDasharray(styleResolver, value); |
| break; |
| case CSSPropertyStrokeDashoffset: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialStrokeDashoffset(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritStrokeDashoffset(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueStrokeDashoffset(styleResolver, value); |
| break; |
| case CSSPropertyStrokeLinecap: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialStrokeLinecap(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritStrokeLinecap(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueStrokeLinecap(styleResolver, value); |
| break; |
| case CSSPropertyStrokeLinejoin: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialStrokeLinejoin(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritStrokeLinejoin(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueStrokeLinejoin(styleResolver, value); |
| break; |
| case CSSPropertyStrokeMiterlimit: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialStrokeMiterlimit(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritStrokeMiterlimit(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueStrokeMiterlimit(styleResolver, value); |
| break; |
| case CSSPropertyStrokeOpacity: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialStrokeOpacity(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritStrokeOpacity(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueStrokeOpacity(styleResolver, value); |
| break; |
| case CSSPropertyStrokeWidth: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialStrokeWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritStrokeWidth(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueStrokeWidth(styleResolver, value); |
| break; |
| case CSSPropertySpeak: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialSpeak(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritSpeak(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueSpeak(styleResolver, value); |
| break; |
| case CSSPropertyTableLayout: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTableLayout(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTableLayout(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTableLayout(styleResolver, value); |
| break; |
| case CSSPropertyTabSize: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTabSize(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTabSize(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTabSize(styleResolver, value); |
| break; |
| case CSSPropertyTextAlign: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTextAlign(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTextAlign(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTextAlign(styleResolver, value); |
| break; |
| case CSSPropertyTextAnchor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTextAnchor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTextAnchor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTextAnchor(styleResolver, value); |
| break; |
| case CSSPropertyTextDecoration: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTextDecoration(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTextDecoration(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTextDecoration(styleResolver, value); |
| break; |
| case CSSPropertyTextIndent: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialTextIndent(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritTextIndent(styleResolver); |
| else |
| StyleBuilderCustom::applyValueTextIndent(styleResolver, value); |
| break; |
| case CSSPropertyTextLineThrough: |
| break; |
| case CSSPropertyTextLineThroughColor: |
| break; |
| case CSSPropertyTextLineThroughMode: |
| break; |
| case CSSPropertyTextLineThroughStyle: |
| break; |
| case CSSPropertyTextLineThroughWidth: |
| break; |
| case CSSPropertyTextOverflow: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTextOverflow(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTextOverflow(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTextOverflow(styleResolver, value); |
| break; |
| case CSSPropertyTextOverline: |
| break; |
| case CSSPropertyTextOverlineColor: |
| break; |
| case CSSPropertyTextOverlineMode: |
| break; |
| case CSSPropertyTextOverlineStyle: |
| break; |
| case CSSPropertyTextOverlineWidth: |
| break; |
| case CSSPropertyTextShadow: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialTextShadow(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritTextShadow(styleResolver); |
| else |
| StyleBuilderCustom::applyValueTextShadow(styleResolver, value); |
| break; |
| case CSSPropertyTextTransform: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTextTransform(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTextTransform(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTextTransform(styleResolver, value); |
| break; |
| case CSSPropertyTextUnderline: |
| break; |
| case CSSPropertyTextUnderlineColor: |
| break; |
| case CSSPropertyTextUnderlineMode: |
| break; |
| case CSSPropertyTextUnderlineStyle: |
| break; |
| case CSSPropertyTextUnderlineWidth: |
| break; |
| case CSSPropertyTop: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTop(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTop(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTop(styleResolver, value); |
| break; |
| case CSSPropertyTransition: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyTransitionDelay: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTransitionDelay(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTransitionDelay(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTransitionDelay(styleResolver, value); |
| break; |
| case CSSPropertyTransitionDuration: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTransitionDuration(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTransitionDuration(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTransitionDuration(styleResolver, value); |
| break; |
| case CSSPropertyTransitionProperty: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTransitionProperty(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTransitionProperty(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTransitionProperty(styleResolver, value); |
| break; |
| case CSSPropertyTransitionTimingFunction: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTransitionTimingFunction(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTransitionTimingFunction(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTransitionTimingFunction(styleResolver, value); |
| break; |
| case CSSPropertyUnicodeBidi: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialUnicodeBidi(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritUnicodeBidi(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueUnicodeBidi(styleResolver, value); |
| break; |
| case CSSPropertyUnicodeRange: |
| break; |
| case CSSPropertyVectorEffect: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialVectorEffect(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritVectorEffect(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueVectorEffect(styleResolver, value); |
| break; |
| case CSSPropertyVerticalAlign: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialVerticalAlign(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritVerticalAlign(styleResolver); |
| else |
| StyleBuilderCustom::applyValueVerticalAlign(styleResolver, value); |
| break; |
| case CSSPropertyVisibility: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialVisibility(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritVisibility(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueVisibility(styleResolver, value); |
| break; |
| case CSSPropertyWhiteSpace: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWhiteSpace(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWhiteSpace(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWhiteSpace(styleResolver, value); |
| break; |
| case CSSPropertyWidows: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWidows(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWidows(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWidows(styleResolver, value); |
| break; |
| case CSSPropertyWidth: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWidth(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWidth(styleResolver, value); |
| break; |
| case CSSPropertyWillChange: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWillChange(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWillChange(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWillChange(styleResolver, value); |
| break; |
| case CSSPropertyWordBreak: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWordBreak(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWordBreak(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWordBreak(styleResolver, value); |
| break; |
| case CSSPropertyWordSpacing: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWordSpacing(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWordSpacing(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWordSpacing(styleResolver, value); |
| break; |
| case CSSPropertyWordWrap: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWordWrap(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWordWrap(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWordWrap(styleResolver, value); |
| break; |
| case CSSPropertyWritingMode: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWritingMode(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWritingMode(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWritingMode(styleResolver, value); |
| break; |
| case CSSPropertyX: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialX(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritX(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueX(styleResolver, value); |
| break; |
| case CSSPropertyY: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialY(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritY(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueY(styleResolver, value); |
| break; |
| case CSSPropertyZIndex: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialZIndex(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritZIndex(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueZIndex(styleResolver, value); |
| break; |
| case CSSPropertyAlt: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAlt(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAlt(styleResolver); |
| else |
| StyleBuilderCustom::applyValueAlt(styleResolver, value); |
| break; |
| case CSSPropertyWebkitAppearance: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitAppearance(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitAppearance(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitAppearance(styleResolver, value); |
| break; |
| case CSSPropertyWebkitAspectRatio: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialWebkitAspectRatio(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritWebkitAspectRatio(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitAspectRatio(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBackfaceVisibility: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBackfaceVisibility(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBackfaceVisibility(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBackfaceVisibility(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBackgroundClip: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBackgroundClip(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBackgroundClip(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBackgroundClip(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBackgroundComposite: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBackgroundComposite(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBackgroundComposite(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBackgroundComposite(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBackgroundOrigin: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBackgroundOrigin(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBackgroundOrigin(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBackgroundOrigin(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBackgroundSize: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBackgroundSize(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBackgroundSize(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBackgroundSize(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBorderAfter: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitBorderAfterColor: |
| break; |
| case CSSPropertyWebkitBorderAfterStyle: |
| break; |
| case CSSPropertyWebkitBorderAfterWidth: |
| break; |
| case CSSPropertyWebkitBorderBefore: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitBorderBeforeColor: |
| break; |
| case CSSPropertyWebkitBorderBeforeStyle: |
| break; |
| case CSSPropertyWebkitBorderBeforeWidth: |
| break; |
| case CSSPropertyWebkitBorderEnd: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitBorderEndColor: |
| break; |
| case CSSPropertyWebkitBorderEndStyle: |
| break; |
| case CSSPropertyWebkitBorderEndWidth: |
| break; |
| case CSSPropertyWebkitBorderFit: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBorderFit(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBorderFit(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBorderFit(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBorderHorizontalSpacing: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBorderHorizontalSpacing(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBorderHorizontalSpacing(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBorderHorizontalSpacing(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBorderImage: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBorderImage(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBorderImage(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBorderImage(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBorderRadius: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitBorderStart: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitBorderStartColor: |
| break; |
| case CSSPropertyWebkitBorderStartStyle: |
| break; |
| case CSSPropertyWebkitBorderStartWidth: |
| break; |
| case CSSPropertyWebkitBorderVerticalSpacing: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBorderVerticalSpacing(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBorderVerticalSpacing(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBorderVerticalSpacing(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBoxAlign: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBoxAlign(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBoxAlign(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBoxAlign(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBoxDirection: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBoxDirection(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBoxDirection(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBoxDirection(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBoxFlex: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBoxFlex(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBoxFlex(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBoxFlex(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBoxFlexGroup: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBoxFlexGroup(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBoxFlexGroup(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBoxFlexGroup(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBoxLines: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBoxLines(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBoxLines(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBoxLines(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBoxOrdinalGroup: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBoxOrdinalGroup(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBoxOrdinalGroup(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBoxOrdinalGroup(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBoxOrient: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBoxOrient(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBoxOrient(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBoxOrient(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBoxPack: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBoxPack(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBoxPack(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBoxPack(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBoxReflect: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBoxReflect(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBoxReflect(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBoxReflect(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBoxShadow: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialWebkitBoxShadow(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritWebkitBoxShadow(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitBoxShadow(styleResolver, value); |
| break; |
| case CSSPropertyWebkitColumnAxis: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitColumnAxis(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitColumnAxis(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitColumnAxis(styleResolver, value); |
| break; |
| case CSSPropertyWebkitColumnBreakAfter: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitColumnBreakAfter(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitColumnBreakAfter(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitColumnBreakAfter(styleResolver, value); |
| break; |
| case CSSPropertyWebkitColumnBreakBefore: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitColumnBreakBefore(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitColumnBreakBefore(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitColumnBreakBefore(styleResolver, value); |
| break; |
| case CSSPropertyWebkitColumnBreakInside: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitColumnBreakInside(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitColumnBreakInside(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitColumnBreakInside(styleResolver, value); |
| break; |
| case CSSPropertyColumnCount: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialColumnCount(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritColumnCount(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueColumnCount(styleResolver, value); |
| break; |
| case CSSPropertyColumnFill: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialColumnFill(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritColumnFill(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueColumnFill(styleResolver, value); |
| break; |
| case CSSPropertyColumnGap: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialColumnGap(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritColumnGap(styleResolver); |
| else |
| StyleBuilderCustom::applyValueColumnGap(styleResolver, value); |
| break; |
| case CSSPropertyColumnProgression: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialColumnProgression(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritColumnProgression(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueColumnProgression(styleResolver, value); |
| break; |
| case CSSPropertyColumnRule: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyColumnRuleColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialColumnRuleColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritColumnRuleColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueColumnRuleColor(styleResolver, value); |
| break; |
| case CSSPropertyColumnRuleStyle: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialColumnRuleStyle(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritColumnRuleStyle(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueColumnRuleStyle(styleResolver, value); |
| break; |
| case CSSPropertyColumnRuleWidth: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialColumnRuleWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritColumnRuleWidth(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueColumnRuleWidth(styleResolver, value); |
| break; |
| case CSSPropertyColumnSpan: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialColumnSpan(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritColumnSpan(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueColumnSpan(styleResolver, value); |
| break; |
| case CSSPropertyColumnWidth: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialColumnWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritColumnWidth(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueColumnWidth(styleResolver, value); |
| break; |
| case CSSPropertyColumns: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitBoxDecorationBreak: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBoxDecorationBreak(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBoxDecorationBreak(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBoxDecorationBreak(styleResolver, value); |
| break; |
| case CSSPropertyFilter: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFilter(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFilter(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFilter(styleResolver, value); |
| break; |
| case CSSPropertyAlignContent: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAlignContent(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAlignContent(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueAlignContent(styleResolver, value); |
| break; |
| case CSSPropertyAlignItems: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAlignItems(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAlignItems(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueAlignItems(styleResolver, value); |
| break; |
| case CSSPropertyAlignSelf: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialAlignSelf(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritAlignSelf(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueAlignSelf(styleResolver, value); |
| break; |
| case CSSPropertyFlex: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyFlexBasis: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFlexBasis(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFlexBasis(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFlexBasis(styleResolver, value); |
| break; |
| case CSSPropertyFlexDirection: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFlexDirection(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFlexDirection(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFlexDirection(styleResolver, value); |
| break; |
| case CSSPropertyFlexFlow: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyFlexGrow: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFlexGrow(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFlexGrow(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFlexGrow(styleResolver, value); |
| break; |
| case CSSPropertyFlexShrink: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFlexShrink(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFlexShrink(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFlexShrink(styleResolver, value); |
| break; |
| case CSSPropertyFlexWrap: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialFlexWrap(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritFlexWrap(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueFlexWrap(styleResolver, value); |
| break; |
| case CSSPropertyJustifyContent: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialJustifyContent(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritJustifyContent(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueJustifyContent(styleResolver, value); |
| break; |
| case CSSPropertyWebkitBackdropFilter: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitBackdropFilter(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitBackdropFilter(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitBackdropFilter(styleResolver, value); |
| break; |
| case CSSPropertyWebkitFontSizeDelta: |
| break; |
| case CSSPropertyJustifySelf: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialJustifySelf(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritJustifySelf(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueJustifySelf(styleResolver, value); |
| break; |
| case CSSPropertyJustifyItems: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialJustifyItems(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritJustifyItems(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueJustifyItems(styleResolver, value); |
| break; |
| case CSSPropertyGrid: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyGridArea: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyGridAutoColumns: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialGridAutoColumns(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritGridAutoColumns(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueGridAutoColumns(styleResolver, value); |
| break; |
| case CSSPropertyGridAutoRows: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialGridAutoRows(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritGridAutoRows(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueGridAutoRows(styleResolver, value); |
| break; |
| case CSSPropertyGridColumnEnd: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialGridColumnEnd(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritGridColumnEnd(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueGridColumnEnd(styleResolver, value); |
| break; |
| case CSSPropertyGridColumnGap: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialGridColumnGap(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritGridColumnGap(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueGridColumnGap(styleResolver, value); |
| break; |
| case CSSPropertyGridColumnStart: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialGridColumnStart(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritGridColumnStart(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueGridColumnStart(styleResolver, value); |
| break; |
| case CSSPropertyGridTemplate: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyGridTemplateColumns: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialGridTemplateColumns(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritGridTemplateColumns(styleResolver); |
| else |
| StyleBuilderCustom::applyValueGridTemplateColumns(styleResolver, value); |
| break; |
| case CSSPropertyGridTemplateRows: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialGridTemplateRows(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritGridTemplateRows(styleResolver); |
| else |
| StyleBuilderCustom::applyValueGridTemplateRows(styleResolver, value); |
| break; |
| case CSSPropertyGridRowEnd: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialGridRowEnd(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritGridRowEnd(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueGridRowEnd(styleResolver, value); |
| break; |
| case CSSPropertyGridRowGap: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialGridRowGap(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritGridRowGap(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueGridRowGap(styleResolver, value); |
| break; |
| case CSSPropertyGridRowStart: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialGridRowStart(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritGridRowStart(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueGridRowStart(styleResolver, value); |
| break; |
| case CSSPropertyGridColumn: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyGridGap: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyGridRow: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyGridTemplateAreas: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialGridTemplateAreas(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritGridTemplateAreas(styleResolver); |
| else |
| StyleBuilderCustom::applyValueGridTemplateAreas(styleResolver, value); |
| break; |
| case CSSPropertyGridAutoFlow: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialGridAutoFlow(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritGridAutoFlow(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueGridAutoFlow(styleResolver, value); |
| break; |
| case CSSPropertyWebkitHyphenateCharacter: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitHyphenateCharacter(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitHyphenateCharacter(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitHyphenateCharacter(styleResolver, value); |
| break; |
| case CSSPropertyWebkitHyphenateLimitAfter: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitHyphenateLimitAfter(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitHyphenateLimitAfter(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitHyphenateLimitAfter(styleResolver, value); |
| break; |
| case CSSPropertyWebkitHyphenateLimitBefore: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitHyphenateLimitBefore(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitHyphenateLimitBefore(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitHyphenateLimitBefore(styleResolver, value); |
| break; |
| case CSSPropertyWebkitHyphenateLimitLines: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitHyphenateLimitLines(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitHyphenateLimitLines(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitHyphenateLimitLines(styleResolver, value); |
| break; |
| case CSSPropertyWebkitHyphens: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitHyphens(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitHyphens(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitHyphens(styleResolver, value); |
| break; |
| case CSSPropertyWebkitInitialLetter: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitInitialLetter(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitInitialLetter(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitInitialLetter(styleResolver, value); |
| break; |
| case CSSPropertyWebkitLineBoxContain: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitLineBoxContain(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitLineBoxContain(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitLineBoxContain(styleResolver, value); |
| break; |
| case CSSPropertyWebkitLineAlign: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitLineAlign(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitLineAlign(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitLineAlign(styleResolver, value); |
| break; |
| case CSSPropertyWebkitLineBreak: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitLineBreak(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitLineBreak(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitLineBreak(styleResolver, value); |
| break; |
| case CSSPropertyWebkitLineClamp: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitLineClamp(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitLineClamp(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitLineClamp(styleResolver, value); |
| break; |
| case CSSPropertyWebkitLineGrid: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitLineGrid(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitLineGrid(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitLineGrid(styleResolver, value); |
| break; |
| case CSSPropertyWebkitLineSnap: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitLineSnap(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitLineSnap(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitLineSnap(styleResolver, value); |
| break; |
| case CSSPropertyWebkitLogicalWidth: |
| break; |
| case CSSPropertyWebkitLogicalHeight: |
| break; |
| case CSSPropertyWebkitMarginAfterCollapse: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMarginAfterCollapse(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMarginAfterCollapse(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMarginAfterCollapse(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMarginBeforeCollapse: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMarginBeforeCollapse(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMarginBeforeCollapse(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMarginBeforeCollapse(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMarginBottomCollapse: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMarginBottomCollapse(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMarginBottomCollapse(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMarginBottomCollapse(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMarginTopCollapse: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMarginTopCollapse(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMarginTopCollapse(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMarginTopCollapse(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMarginCollapse: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitMarginAfter: |
| break; |
| case CSSPropertyWebkitMarginBefore: |
| break; |
| case CSSPropertyWebkitMarginEnd: |
| break; |
| case CSSPropertyWebkitMarginStart: |
| break; |
| case CSSPropertyWebkitMarquee: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitMarqueeDirection: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMarqueeDirection(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMarqueeDirection(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMarqueeDirection(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMarqueeIncrement: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMarqueeIncrement(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMarqueeIncrement(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMarqueeIncrement(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMarqueeRepetition: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMarqueeRepetition(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMarqueeRepetition(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMarqueeRepetition(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMarqueeSpeed: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMarqueeSpeed(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMarqueeSpeed(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMarqueeSpeed(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMarqueeStyle: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMarqueeStyle(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMarqueeStyle(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMarqueeStyle(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMask: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitMaskBoxImage: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMaskBoxImage(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMaskBoxImage(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMaskBoxImage(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskBoxImageOutset: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialWebkitMaskBoxImageOutset(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritWebkitMaskBoxImageOutset(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitMaskBoxImageOutset(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskBoxImageRepeat: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialWebkitMaskBoxImageRepeat(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritWebkitMaskBoxImageRepeat(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitMaskBoxImageRepeat(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskBoxImageSlice: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialWebkitMaskBoxImageSlice(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritWebkitMaskBoxImageSlice(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitMaskBoxImageSlice(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskBoxImageSource: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMaskBoxImageSource(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMaskBoxImageSource(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMaskBoxImageSource(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskBoxImageWidth: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialWebkitMaskBoxImageWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritWebkitMaskBoxImageWidth(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitMaskBoxImageWidth(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskClip: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMaskClip(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMaskClip(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMaskClip(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskComposite: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMaskComposite(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMaskComposite(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMaskComposite(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskImage: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMaskImage(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMaskImage(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMaskImage(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskOrigin: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMaskOrigin(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMaskOrigin(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMaskOrigin(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskPosition: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitMaskPositionX: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMaskPositionX(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMaskPositionX(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMaskPositionX(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskPositionY: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMaskPositionY(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMaskPositionY(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMaskPositionY(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskRepeat: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitMaskRepeatX: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMaskRepeatX(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMaskRepeatX(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMaskRepeatX(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskRepeatY: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMaskRepeatY(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMaskRepeatY(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMaskRepeatY(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskSize: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMaskSize(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMaskSize(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMaskSize(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaskSourceType: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitMaskSourceType(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitMaskSourceType(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitMaskSourceType(styleResolver, value); |
| break; |
| case CSSPropertyWebkitMaxLogicalWidth: |
| break; |
| case CSSPropertyWebkitMaxLogicalHeight: |
| break; |
| case CSSPropertyWebkitMinLogicalWidth: |
| break; |
| case CSSPropertyWebkitMinLogicalHeight: |
| break; |
| case CSSPropertyWebkitNbspMode: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitNbspMode(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitNbspMode(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitNbspMode(styleResolver, value); |
| break; |
| case CSSPropertyOrder: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialOrder(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritOrder(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueOrder(styleResolver, value); |
| break; |
| case CSSPropertyWebkitPaddingAfter: |
| break; |
| case CSSPropertyWebkitPaddingBefore: |
| break; |
| case CSSPropertyWebkitPaddingEnd: |
| break; |
| case CSSPropertyWebkitPaddingStart: |
| break; |
| case CSSPropertyPerspective: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPerspective(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPerspective(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePerspective(styleResolver, value); |
| break; |
| case CSSPropertyPerspectiveOrigin: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyPerspectiveOriginX: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPerspectiveOriginX(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPerspectiveOriginX(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePerspectiveOriginX(styleResolver, value); |
| break; |
| case CSSPropertyPerspectiveOriginY: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialPerspectiveOriginY(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritPerspectiveOriginY(styleResolver); |
| else |
| StyleBuilderFunctions::applyValuePerspectiveOriginY(styleResolver, value); |
| break; |
| case CSSPropertyWebkitPrintColorAdjust: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitPrintColorAdjust(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitPrintColorAdjust(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitPrintColorAdjust(styleResolver, value); |
| break; |
| case CSSPropertyWebkitRtlOrdering: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitRtlOrdering(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitRtlOrdering(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitRtlOrdering(styleResolver, value); |
| break; |
| case CSSPropertyWebkitSvgShadow: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialWebkitSvgShadow(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritWebkitSvgShadow(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitSvgShadow(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextCombine: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextCombine(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextCombine(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTextCombine(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextDecoration: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitTextDecorationLine: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextDecorationLine(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextDecorationLine(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTextDecorationLine(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextDecorationStyle: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextDecorationStyle(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextDecorationStyle(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTextDecorationStyle(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextDecorationColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextDecorationColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextDecorationColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTextDecorationColor(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextDecorationSkip: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextDecorationSkip(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextDecorationSkip(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTextDecorationSkip(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextUnderlinePosition: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextUnderlinePosition(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextUnderlinePosition(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTextUnderlinePosition(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextDecorationsInEffect: |
| break; |
| case CSSPropertyWebkitTextEmphasis: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitTextEmphasisColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextEmphasisColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextEmphasisColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTextEmphasisColor(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextEmphasisPosition: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextEmphasisPosition(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextEmphasisPosition(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTextEmphasisPosition(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextEmphasisStyle: |
| if (isInitial) |
| StyleBuilderCustom::applyInitialWebkitTextEmphasisStyle(styleResolver); |
| else if (isInherit) |
| StyleBuilderCustom::applyInheritWebkitTextEmphasisStyle(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitTextEmphasisStyle(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextFillColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextFillColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextFillColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTextFillColor(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextSecurity: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextSecurity(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextSecurity(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTextSecurity(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextStroke: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyWebkitTextStrokeColor: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextStrokeColor(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextStrokeColor(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTextStrokeColor(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTextStrokeWidth: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTextStrokeWidth(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTextStrokeWidth(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTextStrokeWidth(styleResolver, value); |
| break; |
| case CSSPropertyTransform: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTransform(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTransform(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTransform(styleResolver, value); |
| break; |
| case CSSPropertyTransformOrigin: |
| ASSERT(isShorthandCSSProperty(property)); |
| ASSERT_NOT_REACHED(); |
| break; |
| case CSSPropertyTransformOriginX: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTransformOriginX(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTransformOriginX(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTransformOriginX(styleResolver, value); |
| break; |
| case CSSPropertyTransformOriginY: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTransformOriginY(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTransformOriginY(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTransformOriginY(styleResolver, value); |
| break; |
| case CSSPropertyTransformOriginZ: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTransformOriginZ(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTransformOriginZ(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTransformOriginZ(styleResolver, value); |
| break; |
| case CSSPropertyTransformStyle: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialTransformStyle(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritTransformStyle(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueTransformStyle(styleResolver, value); |
| break; |
| case CSSPropertyWebkitTransformStyle: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitTransformStyle(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitTransformStyle(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitTransformStyle(styleResolver, value); |
| break; |
| case CSSPropertyWebkitUserDrag: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitUserDrag(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitUserDrag(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitUserDrag(styleResolver, value); |
| break; |
| case CSSPropertyWebkitUserModify: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitUserModify(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitUserModify(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitUserModify(styleResolver, value); |
| break; |
| case CSSPropertyWebkitUserSelect: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitUserSelect(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitUserSelect(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitUserSelect(styleResolver, value); |
| break; |
| case CSSPropertyWebkitFlowInto: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitFlowInto(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitFlowInto(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitFlowInto(styleResolver, value); |
| break; |
| case CSSPropertyWebkitFlowFrom: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitFlowFrom(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitFlowFrom(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitFlowFrom(styleResolver, value); |
| break; |
| case CSSPropertyWebkitRegionFragment: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitRegionFragment(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitRegionFragment(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitRegionFragment(styleResolver, value); |
| break; |
| case CSSPropertyWebkitRegionBreakAfter: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitRegionBreakAfter(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitRegionBreakAfter(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitRegionBreakAfter(styleResolver, value); |
| break; |
| case CSSPropertyWebkitRegionBreakBefore: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitRegionBreakBefore(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitRegionBreakBefore(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitRegionBreakBefore(styleResolver, value); |
| break; |
| case CSSPropertyWebkitRegionBreakInside: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitRegionBreakInside(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitRegionBreakInside(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitRegionBreakInside(styleResolver, value); |
| break; |
| case CSSPropertyWebkitShapeOutside: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitShapeOutside(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitShapeOutside(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitShapeOutside(styleResolver, value); |
| break; |
| case CSSPropertyWebkitShapeMargin: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitShapeMargin(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitShapeMargin(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitShapeMargin(styleResolver, value); |
| break; |
| case CSSPropertyWebkitShapeImageThreshold: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitShapeImageThreshold(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitShapeImageThreshold(styleResolver); |
| else |
| StyleBuilderFunctions::applyValueWebkitShapeImageThreshold(styleResolver, value); |
| break; |
| case CSSPropertyWebkitDashboardRegion: |
| if (isInitial) |
| StyleBuilderFunctions::applyInitialWebkitDashboardRegion(styleResolver); |
| else if (isInherit) |
| StyleBuilderFunctions::applyInheritWebkitDashboardRegion(styleResolver); |
| else |
| StyleBuilderCustom::applyValueWebkitDashboardRegion(styleResolver, value); |
| break; |
| }; |
| } |
| |
| } // namespace WebCore |