Index: Source/core/rendering/RenderLayer.cpp |
diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp |
index ba9c9160db2976b1d391d06894bc2f66cab7d88d..a5945a6d5651c02c6239045cc8c275b1ddda8638 100644 |
--- a/Source/core/rendering/RenderLayer.cpp |
+++ b/Source/core/rendering/RenderLayer.cpp |
@@ -1577,9 +1577,10 @@ bool RenderLayer::hitTest(const HitTestRequest& request, const HitTestLocation& |
ASSERT(!renderer()->frame()->view()->layoutPending()); |
ASSERT(!renderer()->document().renderView()->needsLayout()); |
- LayoutRect hitTestArea = renderer()->view()->documentRect(); |
- if (!request.ignoreClipping()) |
- hitTestArea.intersect(frameVisibleRect(renderer())); |
+ // Start with frameVisibleRect to ensure we include the scrollbars. |
+ LayoutRect hitTestArea = frameVisibleRect(renderer()); |
+ if (request.ignoreClipping()) |
+ hitTestArea.unite(renderer()->view()->documentRect()); |
RenderLayer* insideLayer = hitTestLayer(this, 0, request, result, hitTestArea, hitTestLocation, false); |
if (!insideLayer) { |