https://bugs.webkit.org/show_bug.cgi?id=70197
Reviewed by Dave Kilzer.
Source/WebCore:
Test: fast/block/float/avoidance-rtl.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats): Changed
logicalLeftOffsetForContent() to startOffsetForContent() to get the right value in the
right-to-left case.
LayoutTests:
* fast/block/float/avoidance-rtl-expected.png: Added.
* fast/block/float/avoidance-rtl-expected.txt: Added.
* fast/block/float/avoidance-rtl.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@97575
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2011-10-16 Dan Bernstein <mitz@apple.com>
+
+ REGRESSION (r96620): Float-avoiding block positioned incorrectly in right-to-left block
+ https://bugs.webkit.org/show_bug.cgi?id=70197
+
+ Reviewed by Dave Kilzer.
+
+ * fast/block/float/avoidance-rtl-expected.png: Added.
+ * fast/block/float/avoidance-rtl-expected.txt: Added.
+ * fast/block/float/avoidance-rtl.html: Added.
+
2011-10-16 Adam Barth <abarth@webkit.org>
Always enable ENABLE(DOM_STORAGE)
--- /dev/null
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock {DIV} at (0,0) size 250x100 [bgcolor=#FF0000] [border: (50px solid #008000)]
+ RenderBlock (floating) {DIV} at (150,0) size 100x100 [bgcolor=#008000]
+layer at (58,8) size 100x100
+ RenderBlock {DIV} at (50,0) size 100x100 [bgcolor=#008000]
--- /dev/null
+<div style="border-left: 50px solid green; direction: rtl; width: 200; background-color: red;">\r
+ <div style="background-color: green; width: 100px; height: 100px; float: right;"></div>\r
+ <div style="overflow: hidden; background-color: green; height: 100px; width: 100px;"></div>\r
+</div>\r
+2011-10-16 Dan Bernstein <mitz@apple.com>
+
+ REGRESSION (r96620): Float-avoiding block positioned incorrectly in right-to-left block
+ https://bugs.webkit.org/show_bug.cgi?id=70197
+
+ Reviewed by Dave Kilzer.
+
+ Test: fast/block/float/avoidance-rtl.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats): Changed
+ logicalLeftOffsetForContent() to startOffsetForContent() to get the right value in the
+ right-to-left case.
+
2011-10-16 Adam Barth <abarth@webkit.org>
Always enable ENABLE(DOM_STORAGE)
LayoutUnit RenderBlock::computeStartPositionDeltaForChildAvoidingFloats(const RenderBox* child, LayoutUnit childMarginStart,
LayoutUnit childLogicalWidth, RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage)
{
- LayoutUnit startPosition = logicalLeftOffsetForContent(region, offsetFromLogicalTopOfFirstPage);
+ LayoutUnit startPosition = startOffsetForContent(region, offsetFromLogicalTopOfFirstPage);
// Add in our start margin.
LayoutUnit oldPosition = startPosition + childMarginStart;