Title: [127157] trunk
Revision
127157
Author
[email protected]
Date
2012-08-30 10:32:57 -0700 (Thu, 30 Aug 2012)

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

Added Paths

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

Reply via email to