Index: Source/core/rendering/RenderBox.cpp |
diff --git a/Source/core/rendering/RenderBox.cpp b/Source/core/rendering/RenderBox.cpp |
index aa800cb9f326b74814efcf646a7bf2e121bcd1d8..f9819d83c1e06f9a10b3412d1e5d8d3d257208c0 100644 |
--- a/Source/core/rendering/RenderBox.cpp |
+++ b/Source/core/rendering/RenderBox.cpp |
@@ -4562,7 +4562,7 @@ LayoutRect RenderBox::noOverflowRect() const |
// writing modes, x in vertical writing modes), which is always "logical top". Apart from the |
// flipping, this method does the same as clientBoxRect(). |
- LayoutUnit left = borderLeft(); |
+ LayoutUnit left = borderLeft() + (style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft() ? verticalScrollbarWidth() : 0); |
LayoutUnit top = borderTop(); |
LayoutUnit right = borderRight(); |
LayoutUnit bottom = borderBottom(); |
@@ -4577,7 +4577,10 @@ LayoutRect RenderBox::noOverflowRect() const |
// FIXME: when the above mentioned bug is fixed, it should hopefully be possible to call |
// clientBoxRect() or paddingBoxRect() in this method, rather than fiddling with the edges on |
// our own. |
- rect.contract(verticalScrollbarWidth(), horizontalScrollbarHeight()); |
+ if (style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft()) |
+ rect.contract(0, horizontalScrollbarHeight()); |
+ else |
+ rect.contract(verticalScrollbarWidth(), horizontalScrollbarHeight()); |
return rect; |
} |