summaryrefslogtreecommitdiffstats
path: root/WebCore/page/android
diff options
context:
space:
mode:
authorGrace Kloba <klobag@google.com>2010-03-16 21:10:18 -0700
committerGrace Kloba <klobag@google.com>2010-03-16 21:10:18 -0700
commite89bab20a0e9814fa76ad55a13d8202b71a4d455 (patch)
treeea02c4cdbcec2dc3bef8877686208b1f97fcc74c /WebCore/page/android
parentd68483b2c8871634da4f12a5c7c272c47ee8e646 (diff)
downloadexternal_webkit-e89bab20a0e9814fa76ad55a13d8202b71a4d455.zip
external_webkit-e89bab20a0e9814fa76ad55a13d8202b71a4d455.tar.gz
external_webkit-e89bab20a0e9814fa76ad55a13d8202b71a4d455.tar.bz2
Pass mouse events to the subframe as the other ports
by calling subframe handler. Most of the time, nav cache found the iframe and calls the correct eventhandler. But when nav cache fails, we use the top frame and we need to pass the mouse events to the subframe. http://b/issue?id=2521087
Diffstat (limited to 'WebCore/page/android')
-rw-r--r--WebCore/page/android/EventHandlerAndroid.cpp21
1 files changed, 7 insertions, 14 deletions
diff --git a/WebCore/page/android/EventHandlerAndroid.cpp b/WebCore/page/android/EventHandlerAndroid.cpp
index 48f35c3..bdc5f2a 100644
--- a/WebCore/page/android/EventHandlerAndroid.cpp
+++ b/WebCore/page/android/EventHandlerAndroid.cpp
@@ -78,16 +78,6 @@ bool EventHandler::eventActivatedView(const PlatformMouseEvent&) const
return false;
}
-// This function is called for mouse events by FrameView::handleMousePressEvent().
-// It is used to ensure that events are sync'ed correctly between frames. For example
-// if the user presses down in one frame and up in another frame, this function will
-// returns true, and pass the event to the correct frame.
-bool EventHandler::passSubframeEventToSubframe(MouseEventWithHitTestResults&, Frame*, HitTestResult*)
-{
- notImplemented();
- return false;
-}
-
// This is called to route wheel events to child widgets when they are RenderWidget
// as the parent usually gets wheel event. Don't have a mouse with a wheel to confirm
// the operation of this function.
@@ -99,18 +89,21 @@ bool EventHandler::passWheelEventToWidget(PlatformWheelEvent&, Widget*)
bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
{
- return passSubframeEventToSubframe(mev, subframe);
+ subframe->eventHandler()->handleMousePressEvent(mev.event());
+ return true;
}
bool EventHandler::passMouseMoveEventToSubframe(MouseEventWithHitTestResults& mev,
- Frame* subframe, HitTestResult*)
+ Frame* subframe, HitTestResult* hoveredNode)
{
- return passSubframeEventToSubframe(mev, subframe);
+ subframe->eventHandler()->handleMouseMoveEvent(mev.event(), hoveredNode);
+ return true;
}
bool EventHandler::passMouseReleaseEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
{
- return passSubframeEventToSubframe(mev, subframe);
+ subframe->eventHandler()->handleMouseReleaseEvent(mev.event());
+ return true;
}
class Clipboard : public RefCounted<Clipboard> {