Log Message
Make RenderBox::computeInlineDirectionMargins const https://bugs.webkit.org/show_bug.cgi?id=95255
Reviewed by Ojan Vafai.
Source/WebCore:
This is part of making computeLogical{Height,Width} return computed values rather than
mutating the RenderBox directly. This makes a submethod const.
This change is just a refactor, but I've added some tests to cover code that wasn't
previously covered by layout tests.
Tests: fast/block/margins-perpendicular-containing-block.html
fast/table/margins-flipped-text-direction.html
fast/table/margins-perpendicular-containing-block.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion): Handle flipped text direction manually.
(WebCore::RenderBox::computeInlineDirectionMargins): Make const with out parameters.
No longer need to call setMargin{Start,End}ForChild.
(WebCore::shouldFlipBeforeAfterMargins): Helper function to figure out how to map a logical
writing mode direction to another logical writing mode direction.
(WebCore::RenderBox::computeLogicalHeight): Use const method. This also makes it more
obvious that when computing the height, we only modify the before/after margins.
* rendering/RenderBox.h:
(RenderBox): Make computeInlineDirectionMargins const with out parameters.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth): Same as RenderBox::comptueLogicalWidthInregion.
LayoutTests:
Add test cases for setting margins with perpendicular blocks or flipped text.
* fast/block/margins-perpendicular-containing-block-expected.txt: Added.
* fast/block/margins-perpendicular-containing-block.html: Added.
* fast/table/margins-flipped-text-direction-expected.txt: Added.
* fast/table/margins-flipped-text-direction.html: Added.
* fast/table/margins-perpendicular-containing-block-expected.txt: Added.
* fast/table/margins-perpendicular-containing-block.html: Added.
Modified Paths
- trunk/LayoutTests/ChangeLog
- trunk/Source/WebCore/ChangeLog
- trunk/Source/WebCore/rendering/RenderBox.cpp
- trunk/Source/WebCore/rendering/RenderBox.h
- trunk/Source/WebCore/rendering/RenderTable.cpp
Added Paths
- trunk/LayoutTests/fast/block/margins-perpendicular-containing-block-expected.txt
- trunk/LayoutTests/fast/block/margins-perpendicular-containing-block.html
- trunk/LayoutTests/fast/table/margins-flipped-text-direction-expected.txt
- trunk/LayoutTests/fast/table/margins-flipped-text-direction.html
- trunk/LayoutTests/fast/table/margins-perpendicular-containing-block-expected.txt
- trunk/LayoutTests/fast/table/margins-perpendicular-containing-block.html
Diff
Modified: trunk/LayoutTests/ChangeLog (127156 => 127157)
--- trunk/LayoutTests/ChangeLog 2012-08-30 17:23:16 UTC (rev 127156)
+++ trunk/LayoutTests/ChangeLog 2012-08-30 17:32:57 UTC (rev 127157)
@@ -1,3 +1,19 @@
+2012-08-30 Tony Chang <[email protected]>
+
+ Make RenderBox::computeInlineDirectionMargins const
+ https://bugs.webkit.org/show_bug.cgi?id=95255
+
+ Reviewed by Ojan Vafai.
+
+ Add test cases for setting margins with perpendicular blocks or flipped text.
+
+ * fast/block/margins-perpendicular-containing-block-expected.txt: Added.
+ * fast/block/margins-perpendicular-containing-block.html: Added.
+ * fast/table/margins-flipped-text-direction-expected.txt: Added.
+ * fast/table/margins-flipped-text-direction.html: Added.
+ * fast/table/margins-perpendicular-containing-block-expected.txt: Added.
+ * fast/table/margins-perpendicular-containing-block.html: Added.
+
2012-08-30 Aaron Colwell <[email protected]>
Fix a crash in SourceBufferList.remove().
Added: trunk/LayoutTests/fast/block/margins-perpendicular-containing-block-expected.txt (0 => 127157)
--- trunk/LayoutTests/fast/block/margins-perpendicular-containing-block-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/block/margins-perpendicular-containing-block-expected.txt 2012-08-30 17:32:57 UTC (rev 127157)
@@ -0,0 +1,10 @@
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
Added: trunk/LayoutTests/fast/block/margins-perpendicular-containing-block.html (0 => 127157)
--- trunk/LayoutTests/fast/block/margins-perpendicular-containing-block.html (rev 0)
+++ trunk/LayoutTests/fast/block/margins-perpendicular-containing-block.html 2012-08-30 17:32:57 UTC (rev 127157)
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+div.check {
+ position: relative;
+ width: 600px;
+}
+div > div {
+ margin: 10px 20px 20px 10px;
+ width: 50px;
+ height: 50px;
+ background-color: green;
+}
+</style>
+<script src=""
+<script>
+if (window.testRunner)
+ testRunner.dumpAsText();
+</script>
+</head>
+
+<body _onload_="checkLayout('.check')">
+<div style="-webkit-writing-mode: horizontal-tb" class="check">
+ <div data-offset-x=10 style="-webkit-writing-mode: vertical-rl"></div>
+ <div data-offset-x=10 style="-webkit-writing-mode: vertical-lr"></div>
+</div>
+
+<div style="-webkit-writing-mode: horizontal-bt" class="check">
+ <div data-offset-x=10 style="-webkit-writing-mode: vertical-rl"></div>
+ <div data-offset-x=10 style="-webkit-writing-mode: vertical-lr"></div>
+</div>
+
+<div style="-webkit-writing-mode: horizontal-tb; direction: rtl" class="check">
+ <div data-offset-x=530 style="-webkit-writing-mode: vertical-rl"></div>
+ <div data-offset-x=530 style="-webkit-writing-mode: vertical-lr"></div>
+</div>
+
+<div style="-webkit-writing-mode: horizontal-bt; direction: rtl" class="check">
+ <div data-offset-x=530 style="-webkit-writing-mode: vertical-rl"></div>
+ <div data-offset-x=530 style="-webkit-writing-mode: vertical-lr"></div>
+</div>
+
+<div style="-webkit-writing-mode: vertical-rl" class="check">
+ <div data-offset-y=10 style="-webkit-writing-mode: horizontal-tb"></div>
+ <div data-offset-y=10 style="-webkit-writing-mode: horizontal-bt"></div>
+</div>
+
+<div style="-webkit-writing-mode: vertical-lr" class="check">
+ <div data-offset-y=10 style="-webkit-writing-mode: horizontal-tb"></div>
+ <div data-offset-y=10 style="-webkit-writing-mode: horizontal-bt"></div>
+</div>
+
+<div style="-webkit-writing-mode: vertical-rl; direction: rtl" class="check">
+ <div data-offset-y=10 style="-webkit-writing-mode: horizontal-tb"></div>
+ <div data-offset-y=10 style="-webkit-writing-mode: horizontal-bt"></div>
+</div>
+
+<div style="-webkit-writing-mode: vertical-lr; direction: rtl" class="check">
+ <div data-offset-y=10 style="-webkit-writing-mode: horizontal-tb"></div>
+ <div data-offset-y=10 style="-webkit-writing-mode: horizontal-bt"></div>
+</div>
+
+<div style="-webkit-writing-mode: vertical-rl" class="check">
+ <div data-offset-y=10 style="-webkit-writing-mode: horizontal-tb; direction: rtl"></div>
+ <div data-offset-y=10 style="-webkit-writing-mode: horizontal-bt; direction: rtl"></div>
+</div>
+
+<div style="-webkit-writing-mode: vertical-lr" class="check">
+ <div data-offset-y=10 style="-webkit-writing-mode: horizontal-tb; direction: rtl"></div>
+ <div data-offset-y=10 style="-webkit-writing-mode: horizontal-bt; direction: rtl"></div>
+</div>
+
+</body>
+</html>
Added: trunk/LayoutTests/fast/table/margins-flipped-text-direction-expected.txt (0 => 127157)
--- trunk/LayoutTests/fast/table/margins-flipped-text-direction-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/table/margins-flipped-text-direction-expected.txt 2012-08-30 17:32:57 UTC (rev 127157)
@@ -0,0 +1,6 @@
+Hello
+Hello
+PASS
+Hello
+Hello
+PASS
Added: trunk/LayoutTests/fast/table/margins-flipped-text-direction.html (0 => 127157)
--- trunk/LayoutTests/fast/table/margins-flipped-text-direction.html (rev 0)
+++ trunk/LayoutTests/fast/table/margins-flipped-text-direction.html 2012-08-30 17:32:57 UTC (rev 127157)
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+div {
+ position: relative;
+ width: 600px;
+}
+table {
+ margin-left: 10px;
+ margin-right: 20px;
+ width: 200px;
+ border: 1px solid black;
+}
+</style>
+<script src=""
+<script>
+if (window.testRunner)
+ testRunner.dumpAsText();
+</script>
+</head>
+
+<body _onload_="checkLayout('div')">
+<div style="direction: ltr">
+<table data-offset-x=10 style="direction: ltr">
+ <tr><td>Hello</td></tr>
+</table>
+<table data-offset-x=10 style="direction: rtl">
+ <tr><td>Hello</td></tr>
+</table>
+</div>
+
+<div style="direction: rtl">
+<table data-offset-x=380 style="direction: ltr">
+ <tr><td>Hello</td></tr>
+</table>
+<table data-offset-x=380 style="direction: rtl">
+ <tr><td>Hello</td></tr>
+</table>
+</div>
+
+</div>
+</body>
+</html>
Added: trunk/LayoutTests/fast/table/margins-perpendicular-containing-block-expected.txt (0 => 127157)
--- trunk/LayoutTests/fast/table/margins-perpendicular-containing-block-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/table/margins-perpendicular-containing-block-expected.txt 2012-08-30 17:32:57 UTC (rev 127157)
@@ -0,0 +1,12 @@
+Hello
+Hello
+PASS
+Hello
+Hello
+PASS
+Hello
+Hello
+PASS
+Hello
+Hello
+PASS
Added: trunk/LayoutTests/fast/table/margins-perpendicular-containing-block.html (0 => 127157)
--- trunk/LayoutTests/fast/table/margins-perpendicular-containing-block.html (rev 0)
+++ trunk/LayoutTests/fast/table/margins-perpendicular-containing-block.html 2012-08-30 17:32:57 UTC (rev 127157)
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+div {
+ position: relative;
+}
+table {
+ margin: 10px 20px 20px 10px;
+}
+</style>
+<script src=""
+<script>
+if (window.testRunner)
+ testRunner.dumpAsText();
+</script>
+</head>
+
+<body _onload_="checkLayout('div')">
+<div style="-webkit-writing-mode: horizontal-tb">
+<table data-offset-x=10 style="-webkit-writing-mode: vertical-rl">
+ <tr><td>Hello</td></tr>
+</table>
+<table data-offset-x=10 style="-webkit-writing-mode: vertical-lr">
+ <tr><td>Hello</td></tr>
+</table>
+</div>
+
+<div style="-webkit-writing-mode: horizontal-bt">
+<table data-offset-x=10 style="-webkit-writing-mode: vertical-rl">
+ <tr><td>Hello</td></tr>
+</table>
+<table data-offset-x=10 style="-webkit-writing-mode: vertical-lr">
+ <tr><td>Hello</td></tr>
+</table>
+</div>
+
+<div style="-webkit-writing-mode: vertical-rl">
+<table data-offset-y=10 style="-webkit-writing-mode: horizontal-tb">
+ <tr><td>Hello</td></tr>
+</table>
+<table data-offset-y=10 style="-webkit-writing-mode: horizontal-bt">
+ <tr><td>Hello</td></tr>
+</table>
+</div>
+
+<div style="-webkit-writing-mode: vertical-lr">
+<table data-offset-y=10 style="-webkit-writing-mode: horizontal-tb">
+ <tr><td>Hello</td></tr>
+</table>
+<table data-offset-y=10 style="-webkit-writing-mode: horizontal-bt">
+ <tr><td>Hello</td></tr>
+</table>
+</div>
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (127156 => 127157)
--- trunk/Source/WebCore/ChangeLog 2012-08-30 17:23:16 UTC (rev 127156)
+++ trunk/Source/WebCore/ChangeLog 2012-08-30 17:32:57 UTC (rev 127157)
@@ -1,3 +1,33 @@
+2012-08-30 Tony Chang <[email protected]>
+
+ Make RenderBox::computeInlineDirectionMargins const
+ https://bugs.webkit.org/show_bug.cgi?id=95255
+
+ Reviewed by Ojan Vafai.
+
+ This is part of making computeLogical{Height,Width} return computed values rather than
+ mutating the RenderBox directly. This makes a submethod const.
+
+ This change is just a refactor, but I've added some tests to cover code that wasn't
+ previously covered by layout tests.
+
+ Tests: fast/block/margins-perpendicular-containing-block.html
+ fast/table/margins-flipped-text-direction.html
+ fast/table/margins-perpendicular-containing-block.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeLogicalWidthInRegion): Handle flipped text direction manually.
+ (WebCore::RenderBox::computeInlineDirectionMargins): Make const with out parameters.
+ No longer need to call setMargin{Start,End}ForChild.
+ (WebCore::shouldFlipBeforeAfterMargins): Helper function to figure out how to map a logical
+ writing mode direction to another logical writing mode direction.
+ (WebCore::RenderBox::computeLogicalHeight): Use const method. This also makes it more
+ obvious that when computing the height, we only modify the before/after margins.
+ * rendering/RenderBox.h:
+ (RenderBox): Make computeInlineDirectionMargins const with out parameters.
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::computeLogicalWidth): Same as RenderBox::comptueLogicalWidthInregion.
+
2012-08-30 Dirk Schulze <[email protected]>
Refactor WrapShape classes to BasicShape
Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (127156 => 127157)
--- trunk/Source/WebCore/rendering/RenderBox.cpp 2012-08-30 17:23:16 UTC (rev 127156)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp 2012-08-30 17:32:57 UTC (rev 127157)
@@ -1712,7 +1712,13 @@
LayoutUnit containerLogicalWidthForAutoMargins = containerLogicalWidth;
if (avoidsFloats() && cb->containsFloats())
containerLogicalWidthForAutoMargins = containingBlockAvailableLineWidthInRegion(region, offsetFromLogicalTopOfFirstPage);
- computeInlineDirectionMargins(cb, containerLogicalWidthForAutoMargins, logicalWidth());
+ ComputedMarginValues marginValues;
+ bool hasInvertedDirection = cb->style()->isLeftToRightDirection() == style()->isLeftToRightDirection();
+ computeInlineDirectionMargins(cb, containerLogicalWidthForAutoMargins, logicalWidth(),
+ hasInvertedDirection ? marginValues.m_start : marginValues.m_end,
+ hasInvertedDirection ? marginValues.m_end : marginValues.m_start);
+ setMarginStart(marginValues.m_start);
+ setMarginEnd(marginValues.m_end);
}
if (!hasPerpendicularContainingBlock && containerLogicalWidth && containerLogicalWidth != (logicalWidth() + marginStart() + marginEnd())
@@ -1820,7 +1826,7 @@
return false;
}
-void RenderBox::computeInlineDirectionMargins(RenderBlock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth)
+void RenderBox::computeInlineDirectionMargins(RenderBlock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth, LayoutUnit& marginStart, LayoutUnit& marginEnd) const
{
const RenderStyle* containingBlockStyle = containingBlock->style();
Length marginStartLength = style()->marginStartUsing(containingBlockStyle);
@@ -1829,8 +1835,8 @@
if (isFloating() || isInline()) {
// Inline blocks/tables and floats don't have their margins increased.
- containingBlock->setMarginStartForChild(this, minimumValueForLength(marginStartLength, containerWidth, renderView));
- containingBlock->setMarginEndForChild(this, minimumValueForLength(marginEndLength, containerWidth, renderView));
+ marginStart = minimumValueForLength(marginStartLength, containerWidth, renderView);
+ marginEnd = minimumValueForLength(marginEndLength, containerWidth, renderView);
return;
}
@@ -1841,15 +1847,15 @@
LayoutUnit marginStartWidth = minimumValueForLength(marginStartLength, containerWidth, renderView);
LayoutUnit marginEndWidth = minimumValueForLength(marginEndLength, containerWidth, renderView);
LayoutUnit centeredMarginBoxStart = max<LayoutUnit>(0, (containerWidth - childWidth - marginStartWidth - marginEndWidth) / 2);
- containingBlock->setMarginStartForChild(this, centeredMarginBoxStart + marginStartWidth);
- containingBlock->setMarginEndForChild(this, containerWidth - childWidth - containingBlock->marginStartForChild(this) + marginEndWidth);
+ marginStart = centeredMarginBoxStart + marginStartWidth;
+ marginEnd = containerWidth - childWidth - marginStart + marginEndWidth;
return;
}
// Case Two: The object is being pushed to the start of the containing block's available logical width.
if (marginEndLength.isAuto() && childWidth < containerWidth) {
- containingBlock->setMarginStartForChild(this, valueForLength(marginStartLength, containerWidth, renderView));
- containingBlock->setMarginEndForChild(this, containerWidth - childWidth - containingBlock->marginStartForChild(this));
+ marginStart = valueForLength(marginStartLength, containerWidth, renderView);
+ marginEnd = containerWidth - childWidth - marginStart;
return;
}
@@ -1857,15 +1863,15 @@
bool pushToEndFromTextAlign = !marginEndLength.isAuto() && ((!containingBlockStyle->isLeftToRightDirection() && containingBlockStyle->textAlign() == WEBKIT_LEFT)
|| (containingBlockStyle->isLeftToRightDirection() && containingBlockStyle->textAlign() == WEBKIT_RIGHT));
if ((marginStartLength.isAuto() && childWidth < containerWidth) || pushToEndFromTextAlign) {
- containingBlock->setMarginEndForChild(this, valueForLength(marginEndLength, containerWidth, renderView));
- containingBlock->setMarginStartForChild(this, containerWidth - childWidth - containingBlock->marginEndForChild(this));
+ marginEnd = valueForLength(marginEndLength, containerWidth, renderView);
+ marginStart = containerWidth - childWidth - marginEnd;
return;
}
// Case Four: Either no auto margins, or our width is >= the container width (css2.1, 10.3.3). In that case
// auto margins will just turn into 0.
- containingBlock->setMarginStartForChild(this, minimumValueForLength(marginStartLength, containerWidth, renderView));
- containingBlock->setMarginEndForChild(this, minimumValueForLength(marginEndLength, containerWidth, renderView));
+ marginStart = minimumValueForLength(marginStartLength, containerWidth, renderView);
+ marginEnd = minimumValueForLength(marginEndLength, containerWidth, renderView);
}
RenderBoxRegionInfo* RenderBox::renderBoxRegionInfo(RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage, RenderBoxRegionInfoFlags cacheFlag) const
@@ -1953,6 +1959,32 @@
return new RenderBoxRegionInfo(logicalLeftOffset, logicalWidthInRegion, isShifted);
}
+static bool shouldFlipBeforeAfterMargins(const RenderStyle* containingBlockStyle, const RenderStyle* childStyle)
+{
+ ASSERT(containingBlockStyle->isHorizontalWritingMode() != childStyle->isHorizontalWritingMode());
+ WritingMode childWritingMode = childStyle->writingMode();
+ bool shouldFlip = false;
+ switch (containingBlockStyle->writingMode()) {
+ case TopToBottomWritingMode:
+ shouldFlip = (childWritingMode == RightToLeftWritingMode);
+ break;
+ case BottomToTopWritingMode:
+ shouldFlip = (childWritingMode == RightToLeftWritingMode);
+ break;
+ case RightToLeftWritingMode:
+ shouldFlip = (childWritingMode == BottomToTopWritingMode);
+ break;
+ case LeftToRightWritingMode:
+ shouldFlip = (childWritingMode == BottomToTopWritingMode);
+ break;
+ }
+
+ if (!containingBlockStyle->isLeftToRightDirection())
+ shouldFlip = !shouldFlip;
+
+ return shouldFlip;
+}
+
void RenderBox::computeLogicalHeight()
{
// Cell height is managed by the table and inline non-replaced elements do not support a height property.
@@ -1977,8 +2009,15 @@
// For tables, calculate margins only.
if (isTable()) {
- if (hasPerpendicularContainingBlock)
- computeInlineDirectionMargins(cb, containingBlockLogicalWidthForContent(), logicalHeight());
+ if (hasPerpendicularContainingBlock) {
+ ComputedMarginValues marginValues;
+ bool shouldFlipBeforeAfter = shouldFlipBeforeAfterMargins(cb->style(), style());
+ computeInlineDirectionMargins(cb, containingBlockLogicalWidthForContent(), logicalHeight(),
+ shouldFlipBeforeAfter ? marginValues.m_after : marginValues.m_before,
+ shouldFlipBeforeAfter ? marginValues.m_before : marginValues.m_after);
+ setMarginBefore(marginValues.m_before);
+ setMarginAfter(marginValues.m_after);
+ }
return;
}
@@ -2026,8 +2065,15 @@
setLogicalHeight(heightResult);
- if (hasPerpendicularContainingBlock)
- computeInlineDirectionMargins(cb, containingBlockLogicalWidthForContent(), heightResult);
+ if (hasPerpendicularContainingBlock) {
+ ComputedMarginValues marginValues;
+ bool shouldFlipBeforeAfter = shouldFlipBeforeAfterMargins(cb->style(), style());
+ computeInlineDirectionMargins(cb, containingBlockLogicalWidthForContent(), heightResult,
+ shouldFlipBeforeAfter ? marginValues.m_after : marginValues.m_before,
+ shouldFlipBeforeAfter ? marginValues.m_before : marginValues.m_after);
+ setMarginBefore(marginValues.m_before);
+ setMarginAfter(marginValues.m_after);
+ }
}
// WinIE quirk: The <html> block always fills the entire canvas in quirks mode. The <body> always fills the
Modified: trunk/Source/WebCore/rendering/RenderBox.h (127156 => 127157)
--- trunk/Source/WebCore/rendering/RenderBox.h 2012-08-30 17:23:16 UTC (rev 127156)
+++ trunk/Source/WebCore/rendering/RenderBox.h 2012-08-30 17:32:57 UTC (rev 127157)
@@ -332,7 +332,7 @@
};
// Resolve auto margins in the inline direction of the containing block so that objects can be pushed to the start, middle or end
// of the containing block.
- void computeInlineDirectionMargins(RenderBlock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth);
+ void computeInlineDirectionMargins(RenderBlock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth, LayoutUnit& marginStart, LayoutUnit& marginEnd) const;
// Used to resolve margins in the containing block's block-flow direction.
void computeBlockDirectionMargins(const RenderBlock* containingBlock);
Modified: trunk/Source/WebCore/rendering/RenderTable.cpp (127156 => 127157)
--- trunk/Source/WebCore/rendering/RenderTable.cpp 2012-08-30 17:23:16 UTC (rev 127156)
+++ trunk/Source/WebCore/rendering/RenderTable.cpp 2012-08-30 17:32:57 UTC (rev 127157)
@@ -261,7 +261,13 @@
LayoutUnit containerLogicalWidthForAutoMargins = availableLogicalWidth;
if (avoidsFloats() && cb->containsFloats())
containerLogicalWidthForAutoMargins = containingBlockAvailableLineWidthInRegion(0, 0); // FIXME: Work with regions someday.
- computeInlineDirectionMargins(cb, containerLogicalWidthForAutoMargins, logicalWidth());
+ ComputedMarginValues marginValues;
+ bool hasInvertedDirection = cb->style()->isLeftToRightDirection() == style()->isLeftToRightDirection();
+ computeInlineDirectionMargins(cb, containerLogicalWidthForAutoMargins, logicalWidth(),
+ hasInvertedDirection ? marginValues.m_start : marginValues.m_end,
+ hasInvertedDirection ? marginValues.m_end : marginValues.m_start);
+ setMarginStart(marginValues.m_start);
+ setMarginEnd(marginValues.m_end);
} else {
setMarginStart(minimumValueForLength(style()->marginStart(), availableLogicalWidth, renderView));
setMarginEnd(minimumValueForLength(style()->marginEnd(), availableLogicalWidth, renderView));
_______________________________________________ webkit-changes mailing list [email protected] http://lists.webkit.org/mailman/listinfo/webkit-changes
