Index: ui/events/blink/blink_event_util.h |
diff --git a/ui/events/blink/blink_event_util.h b/ui/events/blink/blink_event_util.h |
index 5636d58b28511f0351c00c98d97ee86d628772f1..8759205500a4b915dd116e364f870e9d1de09ab6 100644 |
--- a/ui/events/blink/blink_event_util.h |
+++ b/ui/events/blink/blink_event_util.h |
@@ -7,12 +7,11 @@ |
#include <memory> |
+#include "third_party/WebKit/public/platform/WebGestureEvent.h" |
#include "third_party/WebKit/public/platform/WebInputEvent.h" |
#include "ui/events/gesture_detection/motion_event.h" |
namespace blink { |
-class WebGestureEvent; |
-class WebInputEvent; |
class WebTouchEvent; |
} |
@@ -33,6 +32,16 @@ bool CanCoalesce(const blink::WebInputEvent& event_to_coalesce, |
void Coalesce(const blink::WebInputEvent& event_to_coalesce, |
blink::WebInputEvent* event); |
+bool IsCompatibleScrollorPinch(const blink::WebGestureEvent& new_event, |
+ const blink::WebGestureEvent& event_in_queue); |
+ |
+// Coalesces 3 GestureScroll/PinchUpdate into 2 events. |
+// Returns <GestureScrollUpdate, GesturePinchUpdate>. |
+std::pair<blink::WebGestureEvent, blink::WebGestureEvent> |
+CoalesceScrollAndPinch(const blink::WebGestureEvent* second_last_event, |
+ const blink::WebGestureEvent& last_event, |
+ const blink::WebGestureEvent& new_event); |
+ |
blink::WebTouchEvent CreateWebTouchEventFromMotionEvent( |
const MotionEvent& event, |
bool may_cause_scrolling); |
@@ -84,6 +93,18 @@ bool IsGestureScollOrPinch(blink::WebInputEvent::Type); |
bool IsContinuousGestureEvent(blink::WebInputEvent::Type); |
+inline const blink::WebGestureEvent* ToWebGestureEvent( |
tdresser
2016/12/13 17:18:19
The asymmetry of these methods is a bit tricky. Co
chongz
2016/12/13 18:55:45
Removed the pointer version.
However I'm not enti
|
+ const blink::WebInputEvent* event) { |
+ DCHECK(!event || IsGestureScollOrPinch(event->type)); |
+ return static_cast<const blink::WebGestureEvent*>(event); |
+} |
+ |
+inline const blink::WebGestureEvent& ToWebGestureEvent( |
+ const blink::WebInputEvent& event) { |
+ DCHECK(IsGestureScollOrPinch(event.type)); |
+ return static_cast<const blink::WebGestureEvent&>(event); |
+} |
+ |
} // namespace ui |
#endif // UI_EVENTS_BLINK_BLINK_EVENT_UTIL_H_ |