diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-01-06 14:44:00 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-01-06 14:44:00 +0100 |
commit | 40736c5763bf61337c8c14e16d8587db021a87d4 (patch) | |
tree | b17a9c00042ad89cb1308e2484491799aa14e9f8 /Source/WebCore/css/CSSProperty.cpp | |
download | qtwebkit-40736c5763bf61337c8c14e16d8587db021a87d4.tar.gz |
Imported WebKit commit 2ea9d364d0f6efa8fa64acf19f451504c59be0e4 (http://svn.webkit.org/repository/webkit/trunk@104285)
Diffstat (limited to 'Source/WebCore/css/CSSProperty.cpp')
-rw-r--r-- | Source/WebCore/css/CSSProperty.cpp | 674 |
1 files changed, 674 insertions, 0 deletions
diff --git a/Source/WebCore/css/CSSProperty.cpp b/Source/WebCore/css/CSSProperty.cpp new file mode 100644 index 000000000..3bbf03227 --- /dev/null +++ b/Source/WebCore/css/CSSProperty.cpp @@ -0,0 +1,674 @@ +/** + * (C) 1999-2003 Lars Knoll (knoll@kde.org) + * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include "config.h" +#include "CSSProperty.h" + +#include "CSSPropertyNames.h" +#include "PlatformString.h" +#include "RenderStyleConstants.h" + +namespace WebCore { + +String CSSProperty::cssText() const +{ + return String(getPropertyName(static_cast<CSSPropertyID>(id()))) + ": " + m_value->cssText() + (isImportant() ? " !important" : "") + "; "; +} + +enum LogicalBoxSide { BeforeSide, EndSide, AfterSide, StartSide }; +enum PhysicalBoxSide { TopSide, RightSide, BottomSide, LeftSide }; + +static int resolveToPhysicalProperty(TextDirection direction, WritingMode writingMode, LogicalBoxSide logicalSide, const int* properties) +{ + if (direction == LTR) { + if (writingMode == TopToBottomWritingMode) { + // The common case. The logical and physical box sides match. + // Left = Start, Right = End, Before = Top, After = Bottom + return properties[logicalSide]; + } + + if (writingMode == BottomToTopWritingMode) { + // Start = Left, End = Right, Before = Bottom, After = Top. + switch (logicalSide) { + case StartSide: + return properties[LeftSide]; + case EndSide: + return properties[RightSide]; + case BeforeSide: + return properties[BottomSide]; + default: + return properties[TopSide]; + } + } + + if (writingMode == LeftToRightWritingMode) { + // Start = Top, End = Bottom, Before = Left, After = Right. + switch (logicalSide) { + case StartSide: + return properties[TopSide]; + case EndSide: + return properties[BottomSide]; + case BeforeSide: + return properties[LeftSide]; + default: + return properties[RightSide]; + } + } + + // Start = Top, End = Bottom, Before = Right, After = Left + switch (logicalSide) { + case StartSide: + return properties[TopSide]; + case EndSide: + return properties[BottomSide]; + case BeforeSide: + return properties[RightSide]; + default: + return properties[LeftSide]; + } + } + + if (writingMode == TopToBottomWritingMode) { + // Start = Right, End = Left, Before = Top, After = Bottom + switch (logicalSide) { + case StartSide: + return properties[RightSide]; + case EndSide: + return properties[LeftSide]; + case BeforeSide: + return properties[TopSide]; + default: + return properties[BottomSide]; + } + } + + if (writingMode == BottomToTopWritingMode) { + // Start = Right, End = Left, Before = Bottom, After = Top + switch (logicalSide) { + case StartSide: + return properties[RightSide]; + case EndSide: + return properties[LeftSide]; + case BeforeSide: + return properties[BottomSide]; + default: + return properties[TopSide]; + } + } + + if (writingMode == LeftToRightWritingMode) { + // Start = Bottom, End = Top, Before = Left, After = Right + switch (logicalSide) { + case StartSide: + return properties[BottomSide]; + case EndSide: + return properties[TopSide]; + case BeforeSide: + return properties[LeftSide]; + default: + return properties[RightSide]; + } + } + + // Start = Bottom, End = Top, Before = Right, After = Left + switch (logicalSide) { + case StartSide: + return properties[BottomSide]; + case EndSide: + return properties[TopSide]; + case BeforeSide: + return properties[RightSide]; + default: + return properties[LeftSide]; + } +} + +enum LogicalExtent { LogicalWidth, LogicalHeight }; + +static int resolveToPhysicalProperty(WritingMode writingMode, LogicalExtent logicalSide, const int* properties) +{ + if (writingMode == TopToBottomWritingMode || writingMode == BottomToTopWritingMode) + return properties[logicalSide]; + return logicalSide == LogicalWidth ? properties[1] : properties[0]; +} + +int CSSProperty::resolveDirectionAwareProperty(int propertyID, TextDirection direction, WritingMode writingMode) +{ + switch (static_cast<CSSPropertyID>(propertyID)) { + case CSSPropertyWebkitMarginEnd: { + const int properties[4] = { CSSPropertyMarginTop, CSSPropertyMarginRight, CSSPropertyMarginBottom, CSSPropertyMarginLeft }; + return resolveToPhysicalProperty(direction, writingMode, EndSide, properties); + } + case CSSPropertyWebkitMarginStart: { + const int properties[4] = { CSSPropertyMarginTop, CSSPropertyMarginRight, CSSPropertyMarginBottom, CSSPropertyMarginLeft }; + return resolveToPhysicalProperty(direction, writingMode, StartSide, properties); + } + case CSSPropertyWebkitMarginBefore: { + const int properties[4] = { CSSPropertyMarginTop, CSSPropertyMarginRight, CSSPropertyMarginBottom, CSSPropertyMarginLeft }; + return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties); + } + case CSSPropertyWebkitMarginAfter: { + const int properties[4] = { CSSPropertyMarginTop, CSSPropertyMarginRight, CSSPropertyMarginBottom, CSSPropertyMarginLeft }; + return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties); + } + case CSSPropertyWebkitPaddingEnd: { + const int properties[4] = { CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft }; + return resolveToPhysicalProperty(direction, writingMode, EndSide, properties); + } + case CSSPropertyWebkitPaddingStart: { + const int properties[4] = { CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft }; + return resolveToPhysicalProperty(direction, writingMode, StartSide, properties); + } + case CSSPropertyWebkitPaddingBefore: { + const int properties[4] = { CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft }; + return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties); + } + case CSSPropertyWebkitPaddingAfter: { + const int properties[4] = { CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft }; + return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties); + } + case CSSPropertyWebkitBorderEnd: { + const int properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft }; + return resolveToPhysicalProperty(direction, writingMode, EndSide, properties); + } + case CSSPropertyWebkitBorderStart: { + const int properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft }; + return resolveToPhysicalProperty(direction, writingMode, StartSide, properties); + } + case CSSPropertyWebkitBorderBefore: { + const int properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft }; + return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties); + } + case CSSPropertyWebkitBorderAfter: { + const int properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft }; + return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties); + } + case CSSPropertyWebkitBorderEndColor: { + const int properties[4] = { CSSPropertyBorderTopColor, CSSPropertyBorderRightColor, CSSPropertyBorderBottomColor, CSSPropertyBorderLeftColor }; + return resolveToPhysicalProperty(direction, writingMode, EndSide, properties); + } + case CSSPropertyWebkitBorderStartColor: { + const int properties[4] = { CSSPropertyBorderTopColor, CSSPropertyBorderRightColor, CSSPropertyBorderBottomColor, CSSPropertyBorderLeftColor }; + return resolveToPhysicalProperty(direction, writingMode, StartSide, properties); + } + case CSSPropertyWebkitBorderBeforeColor: { + const int properties[4] = { CSSPropertyBorderTopColor, CSSPropertyBorderRightColor, CSSPropertyBorderBottomColor, CSSPropertyBorderLeftColor }; + return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties); + } + case CSSPropertyWebkitBorderAfterColor: { + const int properties[4] = { CSSPropertyBorderTopColor, CSSPropertyBorderRightColor, CSSPropertyBorderBottomColor, CSSPropertyBorderLeftColor }; + return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties); + } + case CSSPropertyWebkitBorderEndStyle: { + const int properties[4] = { CSSPropertyBorderTopStyle, CSSPropertyBorderRightStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle }; + return resolveToPhysicalProperty(direction, writingMode, EndSide, properties); + } + case CSSPropertyWebkitBorderStartStyle: { + const int properties[4] = { CSSPropertyBorderTopStyle, CSSPropertyBorderRightStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle }; + return resolveToPhysicalProperty(direction, writingMode, StartSide, properties); + } + case CSSPropertyWebkitBorderBeforeStyle: { + const int properties[4] = { CSSPropertyBorderTopStyle, CSSPropertyBorderRightStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle }; + return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties); + } + case CSSPropertyWebkitBorderAfterStyle: { + const int properties[4] = { CSSPropertyBorderTopStyle, CSSPropertyBorderRightStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle }; + return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties); + } + case CSSPropertyWebkitBorderEndWidth: { + const int properties[4] = { CSSPropertyBorderTopWidth, CSSPropertyBorderRightWidth, CSSPropertyBorderBottomWidth, CSSPropertyBorderLeftWidth }; + return resolveToPhysicalProperty(direction, writingMode, EndSide, properties); + } + case CSSPropertyWebkitBorderStartWidth: { + const int properties[4] = { CSSPropertyBorderTopWidth, CSSPropertyBorderRightWidth, CSSPropertyBorderBottomWidth, CSSPropertyBorderLeftWidth }; + return resolveToPhysicalProperty(direction, writingMode, StartSide, properties); + } + case CSSPropertyWebkitBorderBeforeWidth: { + const int properties[4] = { CSSPropertyBorderTopWidth, CSSPropertyBorderRightWidth, CSSPropertyBorderBottomWidth, CSSPropertyBorderLeftWidth }; + return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties); + } + case CSSPropertyWebkitBorderAfterWidth: { + const int properties[4] = { CSSPropertyBorderTopWidth, CSSPropertyBorderRightWidth, CSSPropertyBorderBottomWidth, CSSPropertyBorderLeftWidth }; + return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties); + } + case CSSPropertyWebkitLogicalWidth: { + const int properties[2] = { CSSPropertyWidth, CSSPropertyHeight }; + return resolveToPhysicalProperty(writingMode, LogicalWidth, properties); + } + case CSSPropertyWebkitLogicalHeight: { + const int properties[2] = { CSSPropertyWidth, CSSPropertyHeight }; + return resolveToPhysicalProperty(writingMode, LogicalHeight, properties); + } + case CSSPropertyWebkitMinLogicalWidth: { + const int properties[2] = { CSSPropertyMinWidth, CSSPropertyMinHeight }; + return resolveToPhysicalProperty(writingMode, LogicalWidth, properties); + } + case CSSPropertyWebkitMinLogicalHeight: { + const int properties[2] = { CSSPropertyMinWidth, CSSPropertyMinHeight }; + return resolveToPhysicalProperty(writingMode, LogicalHeight, properties); + } + case CSSPropertyWebkitMaxLogicalWidth: { + const int properties[2] = { CSSPropertyMaxWidth, CSSPropertyMaxHeight }; + return resolveToPhysicalProperty(writingMode, LogicalWidth, properties); + } + case CSSPropertyWebkitMaxLogicalHeight: { + const int properties[2] = { CSSPropertyMaxWidth, CSSPropertyMaxHeight }; + return resolveToPhysicalProperty(writingMode, LogicalHeight, properties); + } + default: + return propertyID; + } +} + +bool CSSProperty::isInheritedProperty(unsigned propertyID) +{ + switch (static_cast<CSSPropertyID>(propertyID)) { + case CSSPropertyBorderCollapse: + case CSSPropertyBorderSpacing: + case CSSPropertyCaptionSide: + case CSSPropertyColor: + case CSSPropertyCursor: + case CSSPropertyDirection: + case CSSPropertyEmptyCells: + case CSSPropertyFont: + case CSSPropertyFontFamily: + case CSSPropertyFontSize: + case CSSPropertyFontStyle: + case CSSPropertyFontVariant: + case CSSPropertyFontWeight: + case CSSPropertyImageRendering: + case CSSPropertyLetterSpacing: + case CSSPropertyLineHeight: + case CSSPropertyListStyle: + case CSSPropertyListStyleImage: + case CSSPropertyListStyleType: + case CSSPropertyListStylePosition: + case CSSPropertyOrphans: + case CSSPropertyPointerEvents: + case CSSPropertyQuotes: + case CSSPropertyResize: + case CSSPropertySpeak: + case CSSPropertyTextAlign: + case CSSPropertyTextDecoration: + case CSSPropertyTextIndent: + case CSSPropertyTextRendering: + case CSSPropertyTextShadow: + case CSSPropertyTextTransform: + case CSSPropertyVisibility: + case CSSPropertyWebkitAspectRatio: + case CSSPropertyWebkitBorderHorizontalSpacing: + case CSSPropertyWebkitBorderVerticalSpacing: + case CSSPropertyWebkitBoxDirection: + case CSSPropertyWebkitColorCorrection: + case CSSPropertyWebkitFontFeatureSettings: + case CSSPropertyWebkitFontSmoothing: + case CSSPropertyWebkitLocale: + case CSSPropertyWebkitHighlight: + case CSSPropertyWebkitHyphenateCharacter: + case CSSPropertyWebkitHyphenateLimitAfter: + case CSSPropertyWebkitHyphenateLimitBefore: + case CSSPropertyWebkitHyphenateLimitLines: + case CSSPropertyWebkitHyphens: + case CSSPropertyWebkitLineBoxContain: + case CSSPropertyWebkitLineBreak: + case CSSPropertyWebkitLineGrid: + case CSSPropertyWebkitLineGridSnap: + case CSSPropertyWebkitNbspMode: + case CSSPropertyWebkitPrintColorAdjust: + case CSSPropertyWebkitRtlOrdering: + case CSSPropertyWebkitTextCombine: + case CSSPropertyWebkitTextDecorationsInEffect: + case CSSPropertyWebkitTextEmphasis: + case CSSPropertyWebkitTextEmphasisColor: + case CSSPropertyWebkitTextEmphasisPosition: + case CSSPropertyWebkitTextEmphasisStyle: + case CSSPropertyWebkitTextFillColor: + case CSSPropertyWebkitTextOrientation: + case CSSPropertyWebkitTextSecurity: + case CSSPropertyWebkitTextSizeAdjust: + case CSSPropertyWebkitTextStroke: + case CSSPropertyWebkitTextStrokeColor: + case CSSPropertyWebkitTextStrokeWidth: + case CSSPropertyWebkitUserModify: + case CSSPropertyWebkitUserSelect: + case CSSPropertyWebkitWritingMode: + case CSSPropertyWhiteSpace: + case CSSPropertyWidows: + case CSSPropertyWordBreak: + case CSSPropertyWordSpacing: + case CSSPropertyWordWrap: +#if ENABLE(SVG) + case CSSPropertyClipRule: + case CSSPropertyColorInterpolation: + case CSSPropertyColorInterpolationFilters: + case CSSPropertyColorRendering: + case CSSPropertyFill: + case CSSPropertyFillOpacity: + case CSSPropertyFillRule: + case CSSPropertyGlyphOrientationHorizontal: + case CSSPropertyGlyphOrientationVertical: + case CSSPropertyKerning: + case CSSPropertyMarker: + case CSSPropertyMarkerEnd: + case CSSPropertyMarkerMid: + case CSSPropertyMarkerStart: + case CSSPropertyStroke: + case CSSPropertyStrokeDasharray: + case CSSPropertyStrokeDashoffset: + case CSSPropertyStrokeLinecap: + case CSSPropertyStrokeLinejoin: + case CSSPropertyStrokeMiterlimit: + case CSSPropertyStrokeOpacity: + case CSSPropertyStrokeWidth: + case CSSPropertyShapeRendering: + case CSSPropertyTextAnchor: + case CSSPropertyWritingMode: +#endif +#if ENABLE(TOUCH_EVENTS) + case CSSPropertyWebkitTapHighlightColor: +#endif + return true; + case CSSPropertyDisplay: + case CSSPropertyZoom: + case CSSPropertyBackground: + case CSSPropertyBackgroundAttachment: + case CSSPropertyBackgroundClip: + case CSSPropertyBackgroundColor: + case CSSPropertyBackgroundImage: + case CSSPropertyBackgroundOrigin: + case CSSPropertyBackgroundPosition: + case CSSPropertyBackgroundPositionX: + case CSSPropertyBackgroundPositionY: + case CSSPropertyBackgroundRepeat: + case CSSPropertyBackgroundRepeatX: + case CSSPropertyBackgroundRepeatY: + case CSSPropertyBackgroundSize: + 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 CSSPropertyClear: + case CSSPropertyClip: + case CSSPropertyContent: + case CSSPropertyCounterIncrement: + case CSSPropertyCounterReset: + case CSSPropertyFloat: + case CSSPropertyFontStretch: + case CSSPropertyHeight: + case CSSPropertyLeft: + case CSSPropertyMargin: + case CSSPropertyMarginBottom: + case CSSPropertyMarginLeft: + case CSSPropertyMarginRight: + case CSSPropertyMarginTop: + case CSSPropertyMaxHeight: + case CSSPropertyMaxWidth: + case CSSPropertyMinHeight: + case CSSPropertyMinWidth: + case CSSPropertyOpacity: + case CSSPropertyOutline: + case CSSPropertyOutlineColor: + case CSSPropertyOutlineOffset: + case CSSPropertyOutlineStyle: + case CSSPropertyOutlineWidth: + case CSSPropertyOverflow: + case CSSPropertyOverflowX: + case CSSPropertyOverflowY: + case CSSPropertyPadding: + case CSSPropertyPaddingBottom: + case CSSPropertyPaddingLeft: + case CSSPropertyPaddingRight: + case CSSPropertyPaddingTop: + case CSSPropertyPage: + case CSSPropertyPageBreakAfter: + case CSSPropertyPageBreakBefore: + case CSSPropertyPageBreakInside: + case CSSPropertyPosition: + case CSSPropertyRight: + case CSSPropertySize: + case CSSPropertySrc: + case CSSPropertyTableLayout: + case CSSPropertyTextLineThrough: + case CSSPropertyTextLineThroughColor: + case CSSPropertyTextLineThroughMode: + case CSSPropertyTextLineThroughStyle: + case CSSPropertyTextLineThroughWidth: + case CSSPropertyTextOverflow: + case CSSPropertyTextOverline: + case CSSPropertyTextOverlineColor: + case CSSPropertyTextOverlineMode: + case CSSPropertyTextOverlineStyle: + case CSSPropertyTextOverlineWidth: + case CSSPropertyTextUnderline: + case CSSPropertyTextUnderlineColor: + case CSSPropertyTextUnderlineMode: + case CSSPropertyTextUnderlineStyle: + case CSSPropertyTextUnderlineWidth: + case CSSPropertyTop: + case CSSPropertyUnicodeBidi: + case CSSPropertyUnicodeRange: + case CSSPropertyVerticalAlign: + case CSSPropertyWidth: + case CSSPropertyZIndex: + case CSSPropertyWebkitAnimation: + case CSSPropertyWebkitAnimationDelay: + case CSSPropertyWebkitAnimationDirection: + case CSSPropertyWebkitAnimationDuration: + case CSSPropertyWebkitAnimationFillMode: + case CSSPropertyWebkitAnimationIterationCount: + case CSSPropertyWebkitAnimationName: + case CSSPropertyWebkitAnimationPlayState: + case CSSPropertyWebkitAnimationTimingFunction: + case CSSPropertyWebkitAppearance: + 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 CSSPropertyWebkitBoxFlex: + case CSSPropertyWebkitBoxFlexGroup: + case CSSPropertyWebkitBoxLines: + case CSSPropertyWebkitBoxOrdinalGroup: + case CSSPropertyWebkitBoxOrient: + case CSSPropertyWebkitBoxPack: + case CSSPropertyWebkitBoxReflect: + case CSSPropertyWebkitBoxShadow: + case CSSPropertyWebkitColumnAxis: + case CSSPropertyWebkitColumnBreakAfter: + case CSSPropertyWebkitColumnBreakBefore: + case CSSPropertyWebkitColumnBreakInside: + case CSSPropertyWebkitColumnCount: + case CSSPropertyWebkitColumnGap: + case CSSPropertyWebkitColumnRule: + case CSSPropertyWebkitColumnRuleColor: + case CSSPropertyWebkitColumnRuleStyle: + case CSSPropertyWebkitColumnRuleWidth: + case CSSPropertyWebkitColumnSpan: + case CSSPropertyWebkitColumnWidth: + case CSSPropertyWebkitColumns: +#if ENABLE(CSS_FILTERS) + case CSSPropertyWebkitFilter: +#endif + case CSSPropertyWebkitFlexOrder: + case CSSPropertyWebkitFlexPack: + case CSSPropertyWebkitFlexAlign: + case CSSPropertyWebkitFlexDirection: + case CSSPropertyWebkitFlexFlow: + case CSSPropertyWebkitFlexWrap: + case CSSPropertyWebkitFontSizeDelta: +#if ENABLE(CSS_GRID_LAYOUT) + case CSSPropertyWebkitGridColumns: + case CSSPropertyWebkitGridRows: +#endif + case CSSPropertyWebkitLineClamp: + case CSSPropertyWebkitLogicalWidth: + case CSSPropertyWebkitLogicalHeight: + case CSSPropertyWebkitMarginAfterCollapse: + case CSSPropertyWebkitMarginBeforeCollapse: + case CSSPropertyWebkitMarginBottomCollapse: + case CSSPropertyWebkitMarginTopCollapse: + case CSSPropertyWebkitMarginCollapse: + case CSSPropertyWebkitMarginAfter: + case CSSPropertyWebkitMarginBefore: + case CSSPropertyWebkitMarginEnd: + case CSSPropertyWebkitMarginStart: + case CSSPropertyWebkitMarquee: + case CSSPropertyWebkitMarqueeDirection: + case CSSPropertyWebkitMarqueeIncrement: + case CSSPropertyWebkitMarqueeRepetition: + case CSSPropertyWebkitMarqueeSpeed: + case CSSPropertyWebkitMarqueeStyle: + case CSSPropertyWebkitMask: + case CSSPropertyWebkitMaskAttachment: + 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 CSSPropertyWebkitMatchNearestMailBlockquoteColor: + case CSSPropertyWebkitMaxLogicalWidth: + case CSSPropertyWebkitMaxLogicalHeight: + case CSSPropertyWebkitMinLogicalWidth: + case CSSPropertyWebkitMinLogicalHeight: + case CSSPropertyWebkitPaddingAfter: + case CSSPropertyWebkitPaddingBefore: + case CSSPropertyWebkitPaddingEnd: + case CSSPropertyWebkitPaddingStart: + case CSSPropertyWebkitPerspective: + case CSSPropertyWebkitPerspectiveOrigin: + case CSSPropertyWebkitPerspectiveOriginX: + case CSSPropertyWebkitPerspectiveOriginY: + case CSSPropertyWebkitTransform: + case CSSPropertyWebkitTransformOrigin: + case CSSPropertyWebkitTransformOriginX: + case CSSPropertyWebkitTransformOriginY: + case CSSPropertyWebkitTransformOriginZ: + case CSSPropertyWebkitTransformStyle: + case CSSPropertyWebkitTransition: + case CSSPropertyWebkitTransitionDelay: + case CSSPropertyWebkitTransitionDuration: + case CSSPropertyWebkitTransitionProperty: + case CSSPropertyWebkitTransitionTimingFunction: + case CSSPropertyWebkitUserDrag: + case CSSPropertyWebkitFlowInto: + case CSSPropertyWebkitFlowFrom: + case CSSPropertyWebkitRegionOverflow: + case CSSPropertyWebkitRegionBreakAfter: + case CSSPropertyWebkitRegionBreakBefore: + case CSSPropertyWebkitRegionBreakInside: + case CSSPropertyWebkitWrap: + case CSSPropertyWebkitWrapFlow: + case CSSPropertyWebkitWrapMargin: + case CSSPropertyWebkitWrapPadding: + case CSSPropertyWebkitWrapShapeInside: + case CSSPropertyWebkitWrapShapeOutside: + case CSSPropertyWebkitWrapThrough: +#if ENABLE(SVG) + case CSSPropertyClipPath: + case CSSPropertyMask: + case CSSPropertyEnableBackground: + case CSSPropertyFilter: + case CSSPropertyFloodColor: + case CSSPropertyFloodOpacity: + case CSSPropertyLightingColor: + case CSSPropertyStopColor: + case CSSPropertyStopOpacity: + case CSSPropertyColorProfile: + case CSSPropertyAlignmentBaseline: + case CSSPropertyBaselineShift: + case CSSPropertyDominantBaseline: + case CSSPropertyVectorEffect: + case CSSPropertyWebkitSvgShadow: +#endif +#if ENABLE(DASHBOARD_SUPPORT) + case CSSPropertyWebkitDashboardRegion: +#endif + return false; + case CSSPropertyInvalid: + ASSERT_NOT_REACHED(); + return false; + } + ASSERT_NOT_REACHED(); + return false; +} + +} // namespace WebCore |