From: mitz@apple.com Date: Sun, 16 Oct 2011 15:55:33 +0000 (+0000) Subject: REGRESSION (r96620): Float-avoiding block positioned incorrectly in right-to-left... X-Git-Url: https://git.webkit.org/?p=WebKit-https.git;a=commitdiff_plain;h=535e468ac757c8398991c7547144c9417f8defb6 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. 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 --- diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index 3f1f5c39e21d..38f323c843be 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,14 @@ +2011-10-16 Dan Bernstein + + 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 Always enable ENABLE(DOM_STORAGE) diff --git a/LayoutTests/fast/block/float/avoidance-rtl-expected.png b/LayoutTests/fast/block/float/avoidance-rtl-expected.png new file mode 100644 index 000000000000..3a9dc721f52c Binary files /dev/null and b/LayoutTests/fast/block/float/avoidance-rtl-expected.png differ diff --git a/LayoutTests/fast/block/float/avoidance-rtl-expected.txt b/LayoutTests/fast/block/float/avoidance-rtl-expected.txt new file mode 100644 index 000000000000..c452049ae7d1 --- /dev/null +++ b/LayoutTests/fast/block/float/avoidance-rtl-expected.txt @@ -0,0 +1,9 @@ +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] diff --git a/LayoutTests/fast/block/float/avoidance-rtl.html b/LayoutTests/fast/block/float/avoidance-rtl.html new file mode 100644 index 000000000000..8cd231ee6a10 --- /dev/null +++ b/LayoutTests/fast/block/float/avoidance-rtl.html @@ -0,0 +1,4 @@ +
+
+
+
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 7fb0afcf31f0..efe17a71fd0e 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,17 @@ +2011-10-16 Dan Bernstein + + 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 Always enable ENABLE(DOM_STORAGE) diff --git a/Source/WebCore/rendering/RenderBlock.cpp b/Source/WebCore/rendering/RenderBlock.cpp index 4671bd2d9fc0..406a4046c6bc 100644 --- a/Source/WebCore/rendering/RenderBlock.cpp +++ b/Source/WebCore/rendering/RenderBlock.cpp @@ -1812,7 +1812,7 @@ LayoutUnit RenderBlock::estimateLogicalTopPosition(RenderBox* child, const Margi 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;