Index: Source/core/paint/DeprecatedPaintLayer.cpp |
diff --git a/Source/core/paint/DeprecatedPaintLayer.cpp b/Source/core/paint/DeprecatedPaintLayer.cpp |
index 7bfe447d7838fa4c8164ef98652e2532612b2982..071e55c5c9152cec9febd3bec566eceef9121af1 100644 |
--- a/Source/core/paint/DeprecatedPaintLayer.cpp |
+++ b/Source/core/paint/DeprecatedPaintLayer.cpp |
@@ -1580,17 +1580,15 @@ static inline LayoutRect frameVisibleRect(LayoutObject* layoutObject) |
bool DeprecatedPaintLayer::hitTest(HitTestResult& result) |
{ |
- return hitTest(result.hitTestRequest(), result.hitTestLocation(), result); |
-} |
- |
-bool DeprecatedPaintLayer::hitTest(const HitTestRequest& request, const HitTestLocation& hitTestLocation, HitTestResult& result) |
-{ |
ASSERT(isSelfPaintingLayer() || hasSelfPaintingLayerDescendant()); |
// LayoutView should make sure to update layout before entering hit testing |
ASSERT(!layoutObject()->frame()->view()->layoutPending()); |
ASSERT(!layoutObject()->document().layoutView()->needsLayout()); |
+ const HitTestRequest& request = result.hitTestRequest(); |
+ const HitTestLocation& hitTestLocation = result.hitTestLocation(); |
+ |
// Start with frameVisibleRect to ensure we include the scrollbars. |
LayoutRect hitTestArea = frameVisibleRect(layoutObject()); |
if (request.ignoreClipping()) |
@@ -1607,6 +1605,9 @@ bool DeprecatedPaintLayer::hitTest(const HitTestRequest& request, const HitTestL |
if (!request.isChildFrameHitTest() && ((request.active() || request.release()) || (request.move() && hitTestArea.contains(hitPoint.x(), hitPoint.y()))) && isRootLayer()) { |
layoutObject()->updateHitTestResult(result, toLayoutView(layoutObject())->flipForWritingMode(hitTestLocation.point())); |
insideLayer = this; |
+ |
+ // Don't cache this result since it really wasn't a true hit. |
+ result.setCacheable(false); |
} |
} |