X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Source%2FWebCore%2Fcss%2FCSSProperty.cpp;h=92b2d596e3343a7fccbb1e0dcebcd34d7ff3fd1a;hb=b96e33af77ac7d81a666d5aa202235b793aeeb21;hp=1e04da7330321dd15c04b3aa908265dfbb2b1770;hpb=2632619e54bc9f41ccea7c574710fe213e49212d;p=framework%2Fweb%2Fwebkit-efl.git diff --git a/Source/WebCore/css/CSSProperty.cpp b/Source/WebCore/css/CSSProperty.cpp index 1e04da7..92b2d59 100755 --- a/Source/WebCore/css/CSSProperty.cpp +++ b/Source/WebCore/css/CSSProperty.cpp @@ -32,11 +32,6 @@ String CSSProperty::cssText() const return String(getPropertyName(static_cast(id()))) + ": " + m_value->cssText() + (isImportant() ? " !important" : "") + "; "; } -bool operator==(const CSSProperty& a, const CSSProperty& b) -{ - return a.m_id == b.m_id && a.m_important == b.m_important && a.m_value == b.m_value; -} - enum LogicalBoxSide { BeforeSide, EndSide, AfterSide, StartSide }; enum PhysicalBoxSide { TopSide, RightSide, BottomSide, LeftSide }; @@ -48,7 +43,7 @@ static int resolveToPhysicalProperty(TextDirection direction, WritingMode writin // Left = Start, Right = End, Before = Top, After = Bottom return properties[logicalSide]; } - + if (writingMode == BottomToTopWritingMode) { // Start = Left, End = Right, Before = Bottom, After = Top. switch (logicalSide) { @@ -62,7 +57,7 @@ static int resolveToPhysicalProperty(TextDirection direction, WritingMode writin return properties[TopSide]; } } - + if (writingMode == LeftToRightWritingMode) { // Start = Top, End = Bottom, Before = Left, After = Right. switch (logicalSide) { @@ -76,7 +71,7 @@ static int resolveToPhysicalProperty(TextDirection direction, WritingMode writin return properties[RightSide]; } } - + // Start = Top, End = Bottom, Before = Right, After = Left switch (logicalSide) { case StartSide: @@ -103,7 +98,7 @@ static int resolveToPhysicalProperty(TextDirection direction, WritingMode writin return properties[BottomSide]; } } - + if (writingMode == BottomToTopWritingMode) { // Start = Right, End = Left, Before = Bottom, After = Top switch (logicalSide) { @@ -117,7 +112,7 @@ static int resolveToPhysicalProperty(TextDirection direction, WritingMode writin return properties[TopSide]; } } - + if (writingMode == LeftToRightWritingMode) { // Start = Bottom, End = Top, Before = Left, After = Right switch (logicalSide) { @@ -131,7 +126,7 @@ static int resolveToPhysicalProperty(TextDirection direction, WritingMode writin return properties[RightSide]; } } - + // Start = Bottom, End = Top, Before = Right, After = Left switch (logicalSide) { case StartSide: @@ -153,7 +148,7 @@ static int resolveToPhysicalProperty(WritingMode writingMode, LogicalExtent logi return properties[logicalSide]; return logicalSide == LogicalWidth ? properties[1] : properties[0]; } - + int CSSProperty::resolveDirectionAwareProperty(int propertyID, TextDirection direction, WritingMode writingMode) { switch (static_cast(propertyID)) { @@ -282,4 +277,396 @@ int CSSProperty::resolveDirectionAwareProperty(int propertyID, TextDirection dir } } +bool CSSProperty::isInheritedProperty(unsigned propertyID) +{ + switch (static_cast(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 CSSPropertyWebkitFlexFlow: + 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