Index: Source/core/css/CSSProperty.cpp |
diff --git a/Source/core/css/CSSProperty.cpp b/Source/core/css/CSSProperty.cpp |
index c79f62844c585e4515bbe6ff50a46fe5e9549860..1c99ce6133f85aa46b6f7e19bf9260b23810a16e 100644 |
--- a/Source/core/css/CSSProperty.cpp |
+++ b/Source/core/css/CSSProperty.cpp |
@@ -256,6 +256,421 @@ CSSPropertyID CSSProperty::resolveDirectionAwareProperty(CSSPropertyID propertyI |
} |
} |
+bool CSSProperty::isInheritedProperty(CSSPropertyID propertyID) |
+{ |
+ switch (propertyID) { |
+ case CSSPropertyBorderCollapse: |
+ case CSSPropertyBorderSpacing: |
+ case CSSPropertyCaptionSide: |
+ case CSSPropertyClipRule: |
+ case CSSPropertyColor: |
+ case CSSPropertyColorInterpolation: |
+ case CSSPropertyColorInterpolationFilters: |
+ case CSSPropertyColorRendering: |
+ case CSSPropertyCursor: |
+ case CSSPropertyDirection: |
+ case CSSPropertyEmptyCells: |
+ case CSSPropertyFill: |
+ case CSSPropertyFillOpacity: |
+ case CSSPropertyFillRule: |
+ case CSSPropertyFont: |
+ case CSSPropertyFontFamily: |
+ case CSSPropertyFontSize: |
+ case CSSPropertyFontStyle: |
+ case CSSPropertyFontStretch: |
+ case CSSPropertyFontVariant: |
+ case CSSPropertyFontWeight: |
+ case CSSPropertyGlyphOrientationHorizontal: |
+ case CSSPropertyGlyphOrientationVertical: |
+ case CSSPropertyImageRendering: |
+ case CSSPropertyLetterSpacing: |
+ case CSSPropertyLineHeight: |
+ case CSSPropertyListStyle: |
+ case CSSPropertyListStyleImage: |
+ case CSSPropertyListStylePosition: |
+ case CSSPropertyListStyleType: |
+ case CSSPropertyMarker: |
+ case CSSPropertyMarkerEnd: |
+ case CSSPropertyMarkerMid: |
+ case CSSPropertyMarkerStart: |
+ case CSSPropertyOrphans: |
+ case CSSPropertyPointerEvents: |
+ case CSSPropertyQuotes: |
+ case CSSPropertyResize: |
+ case CSSPropertyShapeRendering: |
+ case CSSPropertySpeak: |
+ case CSSPropertyStroke: |
+ case CSSPropertyStrokeDasharray: |
+ case CSSPropertyStrokeDashoffset: |
+ case CSSPropertyStrokeLinecap: |
+ case CSSPropertyStrokeLinejoin: |
+ case CSSPropertyStrokeMiterlimit: |
+ case CSSPropertyStrokeOpacity: |
+ case CSSPropertyStrokeWidth: |
+ case CSSPropertyTabSize: |
+ case CSSPropertyTextAlign: |
+ case CSSPropertyTextAlignLast: |
+ case CSSPropertyTextJustify: |
+ case CSSPropertyTextAnchor: |
+ case CSSPropertyTextIndent: |
+ case CSSPropertyTextRendering: |
+ case CSSPropertyTextShadow: |
+ case CSSPropertyTextTransform: |
+ case CSSPropertyTouchActionDelay: |
+ case CSSPropertyVisibility: |
+ case CSSPropertyWebkitAspectRatio: |
+ case CSSPropertyWebkitBorderHorizontalSpacing: |
+ case CSSPropertyWebkitBorderVerticalSpacing: |
+ case CSSPropertyWebkitBoxDirection: |
+ case CSSPropertyWebkitFontFeatureSettings: |
+ case CSSPropertyFontKerning: |
+ case CSSPropertyWebkitFontSmoothing: |
+ case CSSPropertyFontVariantLigatures: |
+ case CSSPropertyWebkitLocale: |
+ case CSSPropertyWebkitHighlight: |
+ case CSSPropertyWebkitHyphenateCharacter: |
+ case CSSPropertyWebkitLineBoxContain: |
+ case CSSPropertyWebkitLineBreak: |
+ case CSSPropertyWebkitPrintColorAdjust: |
+ case CSSPropertyWebkitRtlOrdering: |
+ case CSSPropertyWebkitRubyPosition: |
+ case CSSPropertyWebkitTapHighlightColor: |
+ case CSSPropertyWebkitTextCombine: |
+ case CSSPropertyTextUnderlinePosition: |
+ case CSSPropertyWebkitTextDecorationsInEffect: |
+ case CSSPropertyWebkitTextEmphasis: |
+ case CSSPropertyWebkitTextEmphasisColor: |
+ case CSSPropertyWebkitTextEmphasisPosition: |
+ case CSSPropertyWebkitTextEmphasisStyle: |
+ case CSSPropertyWebkitTextFillColor: |
+ case CSSPropertyWebkitTextOrientation: |
+ case CSSPropertyWebkitTextSecurity: |
+ case CSSPropertyWebkitTextStroke: |
+ case CSSPropertyWebkitTextStrokeColor: |
+ case CSSPropertyWebkitTextStrokeWidth: |
+ case CSSPropertyWebkitUserModify: |
+ case CSSPropertyWebkitUserSelect: |
+ case CSSPropertyWebkitWritingMode: |
+ case CSSPropertyWhiteSpace: |
+ case CSSPropertyWidows: |
+ case CSSPropertyWordBreak: |
+ case CSSPropertyWordSpacing: |
+ case CSSPropertyWordWrap: |
+ case CSSPropertyWritingMode: |
+ return true; |
+ case CSSPropertyAnimation: |
+ case CSSPropertyAnimationDelay: |
+ case CSSPropertyAnimationDirection: |
+ case CSSPropertyAnimationDuration: |
+ case CSSPropertyAnimationFillMode: |
+ case CSSPropertyAnimationIterationCount: |
+ case CSSPropertyAnimationName: |
+ case CSSPropertyAnimationPlayState: |
+ case CSSPropertyAnimationTimingFunction: |
+ case CSSPropertyAlignmentBaseline: |
+ case CSSPropertyBackground: |
+ case CSSPropertyBackgroundAttachment: |
+ case CSSPropertyBackgroundBlendMode: |
+ case CSSPropertyBackgroundClip: |
+ case CSSPropertyBackgroundColor: |
+ case CSSPropertyBackgroundImage: |
+ case CSSPropertyBackgroundOrigin: |
+ case CSSPropertyBackgroundPosition: |
+ case CSSPropertyBackgroundPositionX: |
+ case CSSPropertyBackgroundPositionY: |
+ case CSSPropertyBackgroundRepeat: |
+ case CSSPropertyBackgroundRepeatX: |
+ case CSSPropertyBackgroundRepeatY: |
+ case CSSPropertyBackgroundSize: |
+ case CSSPropertyBaselineShift: |
+ case CSSPropertyBorder: |
+ case CSSPropertyBorderBottom: |
+ case CSSPropertyBorderBottomColor: |
+ case CSSPropertyBorderBottomLeftRadius: |
+ case CSSPropertyBorderBottomRightRadius: |
+ case CSSPropertyBorderBottomStyle: |
+ case CSSPropertyBorderBottomWidth: |
+ case CSSPropertyBorderColor: |
+ case CSSPropertyBorderImage: |
+ case CSSPropertyBorderImageOutset: |
+ case CSSPropertyBorderImageRepeat: |
+ case CSSPropertyBorderImageSlice: |
+ case CSSPropertyBorderImageSource: |
+ case CSSPropertyBorderImageWidth: |
+ case CSSPropertyBorderLeft: |
+ case CSSPropertyBorderLeftColor: |
+ case CSSPropertyBorderLeftStyle: |
+ case CSSPropertyBorderLeftWidth: |
+ case CSSPropertyBorderRadius: |
+ case CSSPropertyBorderRight: |
+ case CSSPropertyBorderRightColor: |
+ case CSSPropertyBorderRightStyle: |
+ case CSSPropertyBorderRightWidth: |
+ case CSSPropertyBorderStyle: |
+ case CSSPropertyBorderTop: |
+ case CSSPropertyBorderTopColor: |
+ case CSSPropertyBorderTopLeftRadius: |
+ case CSSPropertyBorderTopRightRadius: |
+ case CSSPropertyBorderTopStyle: |
+ case CSSPropertyBorderTopWidth: |
+ case CSSPropertyBorderWidth: |
+ case CSSPropertyBottom: |
+ case CSSPropertyBoxShadow: |
+ case CSSPropertyBoxSizing: |
+ case CSSPropertyBufferedRendering: |
+ case CSSPropertyClear: |
+ case CSSPropertyClip: |
+ case CSSPropertyClipPath: |
+ case CSSPropertyContent: |
+ case CSSPropertyCounterIncrement: |
+ case CSSPropertyCounterReset: |
+ case CSSPropertyDisplay: |
+ case CSSPropertyDominantBaseline: |
+ case CSSPropertyEnableBackground: |
+ case CSSPropertyFilter: |
+ case CSSPropertyFloat: |
+ case CSSPropertyFloodColor: |
+ case CSSPropertyFloodOpacity: |
+ case CSSPropertyHeight: |
+ case CSSPropertyIsolation: |
+ case CSSPropertyJustifyItems: |
+ case CSSPropertyJustifySelf: |
+ case CSSPropertyLeft: |
+ case CSSPropertyLightingColor: |
+ case CSSPropertyMargin: |
+ case CSSPropertyMarginBottom: |
+ case CSSPropertyMarginLeft: |
+ case CSSPropertyMarginRight: |
+ case CSSPropertyMarginTop: |
+ case CSSPropertyMask: |
+ case CSSPropertyMaskType: |
+ case CSSPropertyMaskSourceType: |
+ case CSSPropertyMaxHeight: |
+ case CSSPropertyMaxWidth: |
+ case CSSPropertyMinHeight: |
+ case CSSPropertyMinWidth: |
+ case CSSPropertyMixBlendMode: |
+ case CSSPropertyObjectFit: |
+ case CSSPropertyObjectPosition: |
+ case CSSPropertyOpacity: |
+ case CSSPropertyOutline: |
+ case CSSPropertyOutlineColor: |
+ case CSSPropertyOutlineOffset: |
+ case CSSPropertyOutlineStyle: |
+ case CSSPropertyOutlineWidth: |
+ case CSSPropertyOverflow: |
+ case CSSPropertyOverflowWrap: |
+ case CSSPropertyOverflowX: |
+ case CSSPropertyOverflowY: |
+ case CSSPropertyPadding: |
+ case CSSPropertyPaddingBottom: |
+ case CSSPropertyPaddingLeft: |
+ case CSSPropertyPaddingRight: |
+ case CSSPropertyPaddingTop: |
+ case CSSPropertyPage: |
+ case CSSPropertyPageBreakAfter: |
+ case CSSPropertyPageBreakBefore: |
+ case CSSPropertyPageBreakInside: |
+ case CSSPropertyPaintOrder: |
+ case CSSPropertyPosition: |
+ case CSSPropertyRight: |
+ case CSSPropertyScrollBehavior: |
+ case CSSPropertySize: |
+ case CSSPropertySrc: |
+ case CSSPropertyStopColor: |
+ case CSSPropertyStopOpacity: |
+ case CSSPropertyTableLayout: |
+ case CSSPropertyTextDecoration: |
+ case CSSPropertyTextDecorationLine: |
+ case CSSPropertyTextDecorationStyle: |
+ case CSSPropertyTextDecorationColor: |
+ case CSSPropertyTextOverflow: |
+ case CSSPropertyTop: |
+ case CSSPropertyTouchAction: |
+ case CSSPropertyTransition: |
+ case CSSPropertyTransitionDelay: |
+ case CSSPropertyTransitionDuration: |
+ case CSSPropertyTransitionProperty: |
+ case CSSPropertyTransitionTimingFunction: |
+ case CSSPropertyUnicodeBidi: |
+ case CSSPropertyUnicodeRange: |
+ case CSSPropertyVectorEffect: |
+ case CSSPropertyVerticalAlign: |
+ case CSSPropertyAlignContent: |
+ case CSSPropertyAlignItems: |
+ case CSSPropertyAlignSelf: |
+ case CSSPropertyWebkitAnimation: |
+ case CSSPropertyWebkitAnimationDelay: |
+ case CSSPropertyWebkitAnimationDirection: |
+ case CSSPropertyWebkitAnimationDuration: |
+ case CSSPropertyWebkitAnimationFillMode: |
+ case CSSPropertyWebkitAnimationIterationCount: |
+ case CSSPropertyWebkitAnimationName: |
+ case CSSPropertyWebkitAnimationPlayState: |
+ case CSSPropertyWebkitAnimationTimingFunction: |
+ case CSSPropertyWebkitAppearance: |
+ case CSSPropertyBackfaceVisibility: |
+ case CSSPropertyWebkitBackfaceVisibility: |
+ case CSSPropertyWebkitBackgroundClip: |
+ case CSSPropertyWebkitBackgroundComposite: |
+ case CSSPropertyWebkitBackgroundOrigin: |
+ case CSSPropertyWebkitBackgroundSize: |
+ case CSSPropertyWebkitBorderAfter: |
+ case CSSPropertyWebkitBorderAfterColor: |
+ case CSSPropertyWebkitBorderAfterStyle: |
+ case CSSPropertyWebkitBorderAfterWidth: |
+ case CSSPropertyWebkitBorderBefore: |
+ case CSSPropertyWebkitBorderBeforeColor: |
+ case CSSPropertyWebkitBorderBeforeStyle: |
+ case CSSPropertyWebkitBorderBeforeWidth: |
+ case CSSPropertyWebkitBorderEnd: |
+ case CSSPropertyWebkitBorderEndColor: |
+ case CSSPropertyWebkitBorderEndStyle: |
+ case CSSPropertyWebkitBorderEndWidth: |
+ case CSSPropertyWebkitBorderFit: |
+ case CSSPropertyWebkitBorderImage: |
+ case CSSPropertyWebkitBorderRadius: |
+ case CSSPropertyWebkitBorderStart: |
+ case CSSPropertyWebkitBorderStartColor: |
+ case CSSPropertyWebkitBorderStartStyle: |
+ case CSSPropertyWebkitBorderStartWidth: |
+ case CSSPropertyWebkitBoxAlign: |
+ case CSSPropertyWebkitBoxDecorationBreak: |
+ case CSSPropertyWebkitBoxFlex: |
+ case CSSPropertyWebkitBoxFlexGroup: |
+ case CSSPropertyWebkitBoxLines: |
+ case CSSPropertyWebkitBoxOrdinalGroup: |
+ case CSSPropertyWebkitBoxOrient: |
+ case CSSPropertyWebkitBoxPack: |
+ case CSSPropertyWebkitBoxReflect: |
+ case CSSPropertyWebkitBoxShadow: |
+ case CSSPropertyInternalCallback: |
+ case CSSPropertyWebkitClipPath: |
+ case CSSPropertyWebkitColumnBreakAfter: |
+ case CSSPropertyWebkitColumnBreakBefore: |
+ case CSSPropertyWebkitColumnBreakInside: |
+ case CSSPropertyWebkitColumnCount: |
+ case CSSPropertyColumnFill: |
+ case CSSPropertyWebkitColumnGap: |
+ case CSSPropertyWebkitColumnRule: |
+ case CSSPropertyWebkitColumnRuleColor: |
+ case CSSPropertyWebkitColumnRuleStyle: |
+ case CSSPropertyWebkitColumnRuleWidth: |
+ case CSSPropertyWebkitColumnSpan: |
+ case CSSPropertyWebkitColumnWidth: |
+ case CSSPropertyWebkitColumns: |
+ case CSSPropertyWebkitFilter: |
+ case CSSPropertyFlex: |
+ case CSSPropertyFlexBasis: |
+ case CSSPropertyFlexDirection: |
+ case CSSPropertyFlexFlow: |
+ case CSSPropertyFlexGrow: |
+ case CSSPropertyFlexShrink: |
+ case CSSPropertyFlexWrap: |
+ case CSSPropertyWebkitFontSizeDelta: |
+ case CSSPropertyGridArea: |
+ case CSSPropertyGridAutoColumns: |
+ case CSSPropertyGridAutoFlow: |
+ case CSSPropertyGridAutoRows: |
+ case CSSPropertyGridColumn: |
+ case CSSPropertyGridColumnEnd: |
+ case CSSPropertyGridColumnStart: |
+ case CSSPropertyGrid: |
+ case CSSPropertyGridTemplate: |
+ case CSSPropertyGridTemplateColumns: |
+ case CSSPropertyGridTemplateRows: |
+ case CSSPropertyGridRow: |
+ case CSSPropertyGridRowEnd: |
+ case CSSPropertyGridRowStart: |
+ case CSSPropertyGridTemplateAreas: |
+ case CSSPropertyJustifyContent: |
+ case CSSPropertyWebkitLineClamp: |
+ case CSSPropertyWebkitLogicalHeight: |
+ case CSSPropertyWebkitLogicalWidth: |
+ case CSSPropertyWebkitMarginAfter: |
+ case CSSPropertyWebkitMarginAfterCollapse: |
+ case CSSPropertyWebkitMarginBefore: |
+ case CSSPropertyWebkitMarginBeforeCollapse: |
+ case CSSPropertyWebkitMarginBottomCollapse: |
+ case CSSPropertyWebkitMarginCollapse: |
+ case CSSPropertyWebkitMarginEnd: |
+ case CSSPropertyWebkitMarginStart: |
+ case CSSPropertyWebkitMarginTopCollapse: |
+ case CSSPropertyInternalMarqueeDirection: |
+ case CSSPropertyInternalMarqueeIncrement: |
+ case CSSPropertyInternalMarqueeRepetition: |
+ case CSSPropertyInternalMarqueeSpeed: |
+ case CSSPropertyOrder: |
+ case CSSPropertyInternalMarqueeStyle: |
+ case CSSPropertyWebkitMask: |
+ case CSSPropertyWebkitMaskBoxImage: |
+ case CSSPropertyWebkitMaskBoxImageOutset: |
+ case CSSPropertyWebkitMaskBoxImageRepeat: |
+ case CSSPropertyWebkitMaskBoxImageSlice: |
+ case CSSPropertyWebkitMaskBoxImageSource: |
+ case CSSPropertyWebkitMaskBoxImageWidth: |
+ case CSSPropertyWebkitMaskClip: |
+ case CSSPropertyWebkitMaskComposite: |
+ case CSSPropertyWebkitMaskImage: |
+ case CSSPropertyWebkitMaskOrigin: |
+ case CSSPropertyWebkitMaskPosition: |
+ case CSSPropertyWebkitMaskPositionX: |
+ case CSSPropertyWebkitMaskPositionY: |
+ case CSSPropertyWebkitMaskRepeat: |
+ case CSSPropertyWebkitMaskRepeatX: |
+ case CSSPropertyWebkitMaskRepeatY: |
+ case CSSPropertyWebkitMaskSize: |
+ case CSSPropertyWebkitMaxLogicalWidth: |
+ case CSSPropertyWebkitMaxLogicalHeight: |
+ case CSSPropertyWebkitMinLogicalWidth: |
+ case CSSPropertyWebkitMinLogicalHeight: |
+ case CSSPropertyWebkitPaddingAfter: |
+ case CSSPropertyWebkitPaddingBefore: |
+ case CSSPropertyWebkitPaddingEnd: |
+ case CSSPropertyWebkitPaddingStart: |
+ case CSSPropertyPerspective: |
+ case CSSPropertyWebkitPerspective: |
+ case CSSPropertyPerspectiveOrigin: |
+ case CSSPropertyWebkitPerspectiveOrigin: |
+ case CSSPropertyWebkitPerspectiveOriginX: |
+ case CSSPropertyWebkitPerspectiveOriginY: |
+ case CSSPropertyTransform: |
+ case CSSPropertyWebkitTransform: |
+ case CSSPropertyTransformOrigin: |
+ case CSSPropertyWebkitTransformOrigin: |
+ case CSSPropertyWebkitTransformOriginX: |
+ case CSSPropertyWebkitTransformOriginY: |
+ case CSSPropertyWebkitTransformOriginZ: |
+ case CSSPropertyTransformStyle: |
+ case CSSPropertyWebkitTransformStyle: |
+ case CSSPropertyWebkitTransition: |
+ case CSSPropertyWebkitTransitionDelay: |
+ case CSSPropertyWebkitTransitionDuration: |
+ case CSSPropertyWebkitTransitionProperty: |
+ case CSSPropertyWebkitTransitionTimingFunction: |
+ case CSSPropertyWebkitUserDrag: |
+ case CSSPropertyShapeMargin: |
+ case CSSPropertyShapeImageThreshold: |
+ case CSSPropertyShapeOutside: |
+ case CSSPropertyWebkitAppRegion: |
+ case CSSPropertyWidth: |
+ case CSSPropertyWillChange: |
+ case CSSPropertyMaxZoom: |
+ case CSSPropertyMinZoom: |
+ case CSSPropertyOrientation: |
+ case CSSPropertyUserZoom: |
+ case CSSPropertyZIndex: |
+ case CSSPropertyZoom: |
+ case CSSPropertyAll: |
+ return false; |
+ case CSSPropertyInvalid: |
+ ASSERT_NOT_REACHED(); |
+ return false; |
+ } |
+ ASSERT_NOT_REACHED(); |
+ return false; |
+} |
+ |
bool CSSProperty::isAffectedByAllProperty(CSSPropertyID propertyID) |
{ |
if (propertyID == CSSPropertyAll) |