Index: Source/core/rendering/RenderLayer.cpp |
diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp |
index 171447553aa938ac3979a2f714dae86f274fc0e3..4a1c17c5f3370bb94e6a410556300e5303ea0ce1 100644 |
--- a/Source/core/rendering/RenderLayer.cpp |
+++ b/Source/core/rendering/RenderLayer.cpp |
@@ -2408,7 +2408,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, the mouse is possible to stay in 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()) { |
Julien - ping for review
2014/09/19 16:56:41
Why do we special case mouse move here? Wouldn't m
Miyoung Shin(g)
2014/09/20 03:59:43
Mouse click is working well because there is alrea
|
renderer()->updateHitTestResult(result, toRenderView(renderer())->flipForWritingMode(hitTestLocation.point())); |
insideLayer = this; |
} |