Index: Source/core/rendering/RenderLayer.cpp |
diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp |
index 7628d593e95e929803d4a0be18b5258ac60935fe..63e83e3d8eff1a0b96387ac499894f9d9a82d102 100644 |
--- a/Source/core/rendering/RenderLayer.cpp |
+++ b/Source/core/rendering/RenderLayer.cpp |
@@ -2414,7 +2414,10 @@ bool RenderLayer::hitTest(const HitTestRequest& request, const HitTestLocation& |
// We didn't hit any layer. If we are the root layer and the mouse is -- or just was -- down, |
// return ourselves. We do this so mouse events continue getting delivered after a drag has |
// exited the WebView, and so hit testing over a scrollbar hits the content document. |
- if (!request.isChildFrameHitTest() && (request.active() || request.release()) && isRootLayer()) { |
+ // In addtion, it is possible for the mouse to stay in the document but there is no element. |
+ // At that time, the events of the mouse should be fired. |
+ LayoutPoint hitPoint = hitTestLocation.point(); |
+ if (!request.isChildFrameHitTest() && ((request.active() || request.release()) || (request.move() && hitTestArea.contains(hitPoint.x(), hitPoint.y()))) && isRootLayer()) { |
renderer()->updateHitTestResult(result, toRenderView(renderer())->flipForWritingMode(hitTestLocation.point())); |
insideLayer = this; |
} |