summaryrefslogtreecommitdiffstats
path: root/WebCore/css/CSSProperty.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-10-22 13:02:20 +0100
committerBen Murdoch <benm@google.com>2010-10-26 15:21:41 +0100
commita94275402997c11dd2e778633dacf4b7e630a35d (patch)
treee66f56c67e3b01f22c9c23cd932271ee9ac558ed /WebCore/css/CSSProperty.cpp
parent09e26c78506587b3f5d930d7bc72a23287ffbec0 (diff)
downloadexternal_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.cpp80
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;