Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1034)

Unified Diff: sky/engine/core/frame/NewEventHandler.cpp

Issue 876853005: Add wheel support to sky-scrollable (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Add missing files Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/engine/core/frame/NewEventHandler.h ('k') | sky/engine/public/platform/WebInputEvent.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/frame/NewEventHandler.cpp
diff --git a/sky/engine/core/frame/NewEventHandler.cpp b/sky/engine/core/frame/NewEventHandler.cpp
index 2b0598c720720941601a18aabeac06449af5c6a4..0915c05c2f5f5a875086fd2b30fbccd06e9a6292 100644
--- a/sky/engine/core/frame/NewEventHandler.cpp
+++ b/sky/engine/core/frame/NewEventHandler.cpp
@@ -13,6 +13,7 @@
#include "sky/engine/core/events/GestureEvent.h"
#include "sky/engine/core/events/KeyboardEvent.h"
#include "sky/engine/core/events/PointerEvent.h"
+#include "sky/engine/core/events/WheelEvent.h"
#include "sky/engine/core/frame/LocalFrame.h"
#include "sky/engine/core/frame/FrameView.h"
#include "sky/engine/core/rendering/RenderObject.h"
@@ -95,6 +96,12 @@ bool NewEventHandler::dispatchKeyboardEvent(Node& target, const WebKeyboardEvent
return target.dispatchEvent(keyboardEvent.release());
}
+bool NewEventHandler::dispatchWheelEvent(Node& target, const WebWheelEvent& event)
+{
+ RefPtr<WheelEvent> wheelEvent = WheelEvent::create(event);
+ return target.dispatchEvent(wheelEvent.release());
+}
+
bool NewEventHandler::dispatchClickEvent(Node& capturingTarget, const WebPointerEvent& event)
{
ASSERT(event.type == WebInputEvent::PointerUp);
@@ -167,6 +174,13 @@ bool NewEventHandler::handleKeyboardEvent(const WebKeyboardEvent& event)
return handled;
}
+bool NewEventHandler::handleWheelEvent(const WebWheelEvent& event)
+{
+ HitTestResult hitTestResult = performHitTest(positionForEvent(event));
+ RefPtr<Node> target = targetForHitTestResult(hitTestResult);
+ return target && !dispatchWheelEvent(*target, event);
+}
+
bool NewEventHandler::handlePointerDownEvent(const WebPointerEvent& event)
{
// In principle, we shouldn't get another pointer down for the same
« no previous file with comments | « sky/engine/core/frame/NewEventHandler.h ('k') | sky/engine/public/platform/WebInputEvent.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698