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

Unified Diff: sky/engine/public/sky/sky_view.cc

Issue 1129333005: Plumb input events into SkyView (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 7 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
Index: sky/engine/public/sky/sky_view.cc
diff --git a/sky/engine/public/sky/sky_view.cc b/sky/engine/public/sky/sky_view.cc
index 0be12b447d723386d08dbcd93847eebcf7d2a63d..b057cc4114d611f4e99b25bc62f87b7c65c33c82 100644
--- a/sky/engine/public/sky/sky_view.cc
+++ b/sky/engine/public/sky/sky_view.cc
@@ -6,10 +6,16 @@
#include "sky/engine/public/sky/sky_view.h"
#include "base/bind.h"
+#include "base/trace_event/trace_event.h"
+#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/script/dart_controller.h"
#include "sky/engine/core/script/dom_dart_state.h"
#include "sky/engine/core/view/View.h"
#include "sky/engine/platform/weborigin/KURL.h"
+#include "sky/engine/public/platform/WebInputEvent.h"
#include "sky/engine/public/sky/sky_view_client.h"
namespace blink {
@@ -58,7 +64,29 @@ skia::RefPtr<SkPicture> SkyView::Paint() {
return skia::RefPtr<SkPicture>();
}
-bool SkyView::HandleInputEvent(const WebInputEvent& event) {
+bool SkyView::HandleInputEvent(const WebInputEvent& inputEvent) {
+ TRACE_EVENT0("input", "SkyView::HandleInputEvent");
+
+ if (WebInputEvent::isPointerEventType(inputEvent.type)) {
+ const WebPointerEvent& event = static_cast<const WebPointerEvent&>(inputEvent);
+ return data_->view_->handleInputEvent(PointerEvent::create(event));
+ }
+
+ if (WebInputEvent::isGestureEventType(inputEvent.type)) {
+ const WebGestureEvent& event = static_cast<const WebGestureEvent&>(inputEvent);
+ return data_->view_->handleInputEvent(GestureEvent::create(event));
+ }
+
+ if (WebInputEvent::isKeyboardEventType(inputEvent.type)) {
+ const WebKeyboardEvent& event = static_cast<const WebKeyboardEvent&>(inputEvent);
+ return data_->view_->handleInputEvent(KeyboardEvent::create(event));
+ }
+
+ if (WebInputEvent::isWheelEventType(inputEvent.type)) {
+ const WebWheelEvent& event = static_cast<const WebWheelEvent&>(inputEvent);
+ return data_->view_->handleInputEvent(WheelEvent::create(event));
+ }
+
return false;
}

Powered by Google App Engine
This is Rietveld 408576698