diff options
author | Ben Murdoch <benm@google.com> | 2010-10-22 13:02:20 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2010-10-26 15:21:41 +0100 |
commit | a94275402997c11dd2e778633dacf4b7e630a35d (patch) | |
tree | e66f56c67e3b01f22c9c23cd932271ee9ac558ed /WebCore/css/CSSProperty.cpp | |
parent | 09e26c78506587b3f5d930d7bc72a23287ffbec0 (diff) | |
download | external_webkit-a94275402997c11dd2e778633dacf4b7e630a35d.zip external_webkit-a94275402997c11dd2e778633dacf4b7e630a35d.tar.gz external_webkit-a94275402997c11dd2e778633dacf4b7e630a35d.tar.bz2 |
Merge WebKit at r70209: Initial merge by Git
Change-Id: Id23a68efa36e9d1126bcce0b137872db00892c8e
Diffstat (limited to 'WebCore/css/CSSProperty.cpp')
-rw-r--r-- | WebCore/css/CSSProperty.cpp | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/WebCore/css/CSSProperty.cpp b/WebCore/css/CSSProperty.cpp index 7779aad..61300a2 100644 --- a/WebCore/css/CSSProperty.cpp +++ b/WebCore/css/CSSProperty.cpp @@ -42,16 +42,16 @@ bool operator==(const CSSProperty& a, const CSSProperty& b) enum LogicalBoxSide { BeforeSide, EndSide, AfterSide, StartSide }; enum PhysicalBoxSide { TopSide, RightSide, BottomSide, LeftSide }; -static int resolveToPhysicalProperty(TextDirection direction, EBlockFlowDirection blockDirection, LogicalBoxSide logicalSide, const int* properties) +static int resolveToPhysicalProperty(TextDirection direction, WritingMode writingMode, LogicalBoxSide logicalSide, const int* properties) { if (direction == LTR) { - if (blockDirection == TopToBottomBlockFlow) { + 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 (blockDirection == BottomToTopBlockFlow) { + if (writingMode == BottomToTopWritingMode) { // Start = Left, End = Right, Before = Bottom, After = Top. switch (logicalSide) { case StartSide: @@ -65,7 +65,7 @@ static int resolveToPhysicalProperty(TextDirection direction, EBlockFlowDirectio } } - if (blockDirection == LeftToRightBlockFlow) { + if (writingMode == LeftToRightWritingMode) { // Start = Top, End = Bottom, Before = Left, After = Right. switch (logicalSide) { case StartSide: @@ -92,7 +92,7 @@ static int resolveToPhysicalProperty(TextDirection direction, EBlockFlowDirectio } } - if (blockDirection == TopToBottomBlockFlow) { + if (writingMode == TopToBottomWritingMode) { // Start = Right, End = Left, Before = Top, After = Bottom switch (logicalSide) { case StartSide: @@ -106,7 +106,7 @@ static int resolveToPhysicalProperty(TextDirection direction, EBlockFlowDirectio } } - if (blockDirection == BottomToTopBlockFlow) { + if (writingMode == BottomToTopWritingMode) { // Start = Right, End = Left, Before = Bottom, After = Top switch (logicalSide) { case StartSide: @@ -120,7 +120,7 @@ static int resolveToPhysicalProperty(TextDirection direction, EBlockFlowDirectio } } - if (blockDirection == LeftToRightBlockFlow) { + if (writingMode == LeftToRightWritingMode) { // Start = Bottom, End = Top, Before = Left, After = Right switch (logicalSide) { case StartSide: @@ -149,135 +149,135 @@ static int resolveToPhysicalProperty(TextDirection direction, EBlockFlowDirectio enum LogicalExtent { LogicalWidth, LogicalHeight }; -static int resolveToPhysicalProperty(EBlockFlowDirection blockDirection, LogicalExtent logicalSide, const int* properties) +static int resolveToPhysicalProperty(WritingMode writingMode, LogicalExtent logicalSide, const int* properties) { - if (blockDirection == TopToBottomBlockFlow || blockDirection == BottomToTopBlockFlow) + if (writingMode == TopToBottomWritingMode || writingMode == BottomToTopWritingMode) return properties[logicalSide]; return logicalSide == LogicalWidth ? properties[1] : properties[0]; } -int CSSProperty::resolveDirectionAwareProperty(int propertyID, TextDirection direction, EBlockFlowDirection blockDirection) +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, blockDirection, EndSide, properties); + return resolveToPhysicalProperty(direction, writingMode, EndSide, properties); } case CSSPropertyWebkitMarginStart: { const int properties[4] = { CSSPropertyMarginTop, CSSPropertyMarginRight, CSSPropertyMarginBottom, CSSPropertyMarginLeft }; - return resolveToPhysicalProperty(direction, blockDirection, StartSide, properties); + return resolveToPhysicalProperty(direction, writingMode, StartSide, properties); } case CSSPropertyWebkitMarginBefore: { const int properties[4] = { CSSPropertyMarginTop, CSSPropertyMarginRight, CSSPropertyMarginBottom, CSSPropertyMarginLeft }; - return resolveToPhysicalProperty(direction, blockDirection, BeforeSide, properties); + return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties); } case CSSPropertyWebkitMarginAfter: { const int properties[4] = { CSSPropertyMarginTop, CSSPropertyMarginRight, CSSPropertyMarginBottom, CSSPropertyMarginLeft }; - return resolveToPhysicalProperty(direction, blockDirection, AfterSide, properties); + return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties); } case CSSPropertyWebkitPaddingEnd: { const int properties[4] = { CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft }; - return resolveToPhysicalProperty(direction, blockDirection, EndSide, properties); + return resolveToPhysicalProperty(direction, writingMode, EndSide, properties); } case CSSPropertyWebkitPaddingStart: { const int properties[4] = { CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft }; - return resolveToPhysicalProperty(direction, blockDirection, StartSide, properties); + return resolveToPhysicalProperty(direction, writingMode, StartSide, properties); } case CSSPropertyWebkitPaddingBefore: { const int properties[4] = { CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft }; - return resolveToPhysicalProperty(direction, blockDirection, BeforeSide, properties); + return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties); } case CSSPropertyWebkitPaddingAfter: { const int properties[4] = { CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft }; - return resolveToPhysicalProperty(direction, blockDirection, AfterSide, properties); + return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties); } case CSSPropertyWebkitBorderEnd: { const int properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft }; - return resolveToPhysicalProperty(direction, blockDirection, EndSide, properties); + return resolveToPhysicalProperty(direction, writingMode, EndSide, properties); } case CSSPropertyWebkitBorderStart: { const int properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft }; - return resolveToPhysicalProperty(direction, blockDirection, StartSide, properties); + return resolveToPhysicalProperty(direction, writingMode, StartSide, properties); } case CSSPropertyWebkitBorderBefore: { const int properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft }; - return resolveToPhysicalProperty(direction, blockDirection, BeforeSide, properties); + return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties); } case CSSPropertyWebkitBorderAfter: { const int properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft }; - return resolveToPhysicalProperty(direction, blockDirection, AfterSide, properties); + return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties); } case CSSPropertyWebkitBorderEndColor: { const int properties[4] = { CSSPropertyBorderTopColor, CSSPropertyBorderRightColor, CSSPropertyBorderBottomColor, CSSPropertyBorderLeftColor }; - return resolveToPhysicalProperty(direction, blockDirection, EndSide, properties); + return resolveToPhysicalProperty(direction, writingMode, EndSide, properties); } case CSSPropertyWebkitBorderStartColor: { const int properties[4] = { CSSPropertyBorderTopColor, CSSPropertyBorderRightColor, CSSPropertyBorderBottomColor, CSSPropertyBorderLeftColor }; - return resolveToPhysicalProperty(direction, blockDirection, StartSide, properties); + return resolveToPhysicalProperty(direction, writingMode, StartSide, properties); } case CSSPropertyWebkitBorderBeforeColor: { const int properties[4] = { CSSPropertyBorderTopColor, CSSPropertyBorderRightColor, CSSPropertyBorderBottomColor, CSSPropertyBorderLeftColor }; - return resolveToPhysicalProperty(direction, blockDirection, BeforeSide, properties); + return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties); } case CSSPropertyWebkitBorderAfterColor: { const int properties[4] = { CSSPropertyBorderTopColor, CSSPropertyBorderRightColor, CSSPropertyBorderBottomColor, CSSPropertyBorderLeftColor }; - return resolveToPhysicalProperty(direction, blockDirection, AfterSide, properties); + return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties); } case CSSPropertyWebkitBorderEndStyle: { const int properties[4] = { CSSPropertyBorderTopStyle, CSSPropertyBorderRightStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle }; - return resolveToPhysicalProperty(direction, blockDirection, EndSide, properties); + return resolveToPhysicalProperty(direction, writingMode, EndSide, properties); } case CSSPropertyWebkitBorderStartStyle: { const int properties[4] = { CSSPropertyBorderTopStyle, CSSPropertyBorderRightStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle }; - return resolveToPhysicalProperty(direction, blockDirection, StartSide, properties); + return resolveToPhysicalProperty(direction, writingMode, StartSide, properties); } case CSSPropertyWebkitBorderBeforeStyle: { const int properties[4] = { CSSPropertyBorderTopStyle, CSSPropertyBorderRightStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle }; - return resolveToPhysicalProperty(direction, blockDirection, BeforeSide, properties); + return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties); } case CSSPropertyWebkitBorderAfterStyle: { const int properties[4] = { CSSPropertyBorderTopStyle, CSSPropertyBorderRightStyle, CSSPropertyBorderBottomStyle, CSSPropertyBorderLeftStyle }; - return resolveToPhysicalProperty(direction, blockDirection, AfterSide, properties); + return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties); } case CSSPropertyWebkitBorderEndWidth: { const int properties[4] = { CSSPropertyBorderTopWidth, CSSPropertyBorderRightWidth, CSSPropertyBorderBottomWidth, CSSPropertyBorderLeftWidth }; - return resolveToPhysicalProperty(direction, blockDirection, EndSide, properties); + return resolveToPhysicalProperty(direction, writingMode, EndSide, properties); } case CSSPropertyWebkitBorderStartWidth: { const int properties[4] = { CSSPropertyBorderTopWidth, CSSPropertyBorderRightWidth, CSSPropertyBorderBottomWidth, CSSPropertyBorderLeftWidth }; - return resolveToPhysicalProperty(direction, blockDirection, StartSide, properties); + return resolveToPhysicalProperty(direction, writingMode, StartSide, properties); } case CSSPropertyWebkitBorderBeforeWidth: { const int properties[4] = { CSSPropertyBorderTopWidth, CSSPropertyBorderRightWidth, CSSPropertyBorderBottomWidth, CSSPropertyBorderLeftWidth }; - return resolveToPhysicalProperty(direction, blockDirection, BeforeSide, properties); + return resolveToPhysicalProperty(direction, writingMode, BeforeSide, properties); } case CSSPropertyWebkitBorderAfterWidth: { const int properties[4] = { CSSPropertyBorderTopWidth, CSSPropertyBorderRightWidth, CSSPropertyBorderBottomWidth, CSSPropertyBorderLeftWidth }; - return resolveToPhysicalProperty(direction, blockDirection, AfterSide, properties); + return resolveToPhysicalProperty(direction, writingMode, AfterSide, properties); } case CSSPropertyWebkitLogicalWidth: { const int properties[2] = { CSSPropertyWidth, CSSPropertyHeight }; - return resolveToPhysicalProperty(blockDirection, LogicalWidth, properties); + return resolveToPhysicalProperty(writingMode, LogicalWidth, properties); } case CSSPropertyWebkitLogicalHeight: { const int properties[2] = { CSSPropertyWidth, CSSPropertyHeight }; - return resolveToPhysicalProperty(blockDirection, LogicalHeight, properties); + return resolveToPhysicalProperty(writingMode, LogicalHeight, properties); } case CSSPropertyWebkitMinLogicalWidth: { const int properties[2] = { CSSPropertyMinWidth, CSSPropertyMinHeight }; - return resolveToPhysicalProperty(blockDirection, LogicalWidth, properties); + return resolveToPhysicalProperty(writingMode, LogicalWidth, properties); } case CSSPropertyWebkitMinLogicalHeight: { const int properties[2] = { CSSPropertyMinWidth, CSSPropertyMinHeight }; - return resolveToPhysicalProperty(blockDirection, LogicalHeight, properties); + return resolveToPhysicalProperty(writingMode, LogicalHeight, properties); } case CSSPropertyWebkitMaxLogicalWidth: { const int properties[2] = { CSSPropertyMaxWidth, CSSPropertyMaxHeight }; - return resolveToPhysicalProperty(blockDirection, LogicalWidth, properties); + return resolveToPhysicalProperty(writingMode, LogicalWidth, properties); } case CSSPropertyWebkitMaxLogicalHeight: { const int properties[2] = { CSSPropertyMaxWidth, CSSPropertyMaxHeight }; - return resolveToPhysicalProperty(blockDirection, LogicalHeight, properties); + return resolveToPhysicalProperty(writingMode, LogicalHeight, properties); } default: return propertyID; |