diff options
Diffstat (limited to 'Source/WebCore/rendering/RenderBox.cpp')
-rw-r--r-- | Source/WebCore/rendering/RenderBox.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Source/WebCore/rendering/RenderBox.cpp b/Source/WebCore/rendering/RenderBox.cpp index d2de4b8a9..9b3b7de86 100644 --- a/Source/WebCore/rendering/RenderBox.cpp +++ b/Source/WebCore/rendering/RenderBox.cpp @@ -757,7 +757,7 @@ bool RenderBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result // Check our bounds next. For this purpose always assume that we can only be hit in the // foreground phase (which is true for replaced elements like images). - LayoutRect boundsRect = borderBoxRectInRegion(result.region()); + LayoutRect boundsRect = borderBoxRectInRegion(pointInContainer.region()); boundsRect.moveBy(adjustedLocation); if (visibleToHitTesting() && action == HitTestForeground && pointInContainer.intersects(boundsRect)) { updateHitTestResult(result, pointInContainer.point() - toLayoutSize(adjustedLocation)); @@ -3634,7 +3634,14 @@ void RenderBox::addLayoutOverflow(const LayoutRect& rect) else hasTopOverflow = true; } - + + if (hasColumns() && style()->columnProgression() == ReverseColumnProgression) { + if (isHorizontalWritingMode() ^ !style()->hasInlineColumnAxis()) + hasLeftOverflow = !hasLeftOverflow; + else + hasTopOverflow = !hasTopOverflow; + } + if (!hasTopOverflow) overflowRect.shiftYEdgeTo(max(overflowRect.y(), clientBox.y())); else |