Overflow propagation broken in BTT and RTL writing-modes
https://bugs.webkit.org/show_bug.cgi?id=113781
Patch by Morten Stenshorne <mstensho@opera.com> on 2014-04-23
Reviewed by David Hyatt.
Source/WebCore:
Overflow rectangles are not quite physical, not quite logical. This
means that we cannot use clientBoxRect() directly to represent a
rectangle that expresses exactly no overflow. This rectangle is the
padding box (relative to the border box) in vertical-lr and
horizontal-tb, but the block-direction borders need to be flipped in
vertical-rl and horizontal-bt.
Tests: fast/css/overflow-btt-border-after.html
fast/css/overflow-rtl-border-after.html
* WebCore.exp.in:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeOverflow):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
* rendering/RenderBox.h:
(WebCore::RenderBox::layoutOverflowRect):
LayoutTests:
* fast/css/overflow-btt-border-after-expected.txt: Added.
* fast/css/overflow-btt-border-after.html: Added.
* fast/css/overflow-rtl-border-after-expected.txt: Added.
* fast/css/overflow-rtl-border-after.html: Added.
* fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
* platform/gtk/fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
* platform/mac/fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
Removed incorrect screenshots that now differ from the actual (correct) rendering.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed