1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_SYNTHETIC_GESTURE_TARGET_ANDROID_H_
6 #define CONTENT_BROWSER_RENDERER_HOST_INPUT_SYNTHETIC_GESTURE_TARGET_ANDROID_H_
8 #include "base/android/jni_android.h"
9 #include "base/time/time.h"
10 #include "content/browser/renderer_host/input/synthetic_gesture_target_base.h"
14 class ContentViewCoreImpl
;
16 class SyntheticGestureTargetAndroid
: public SyntheticGestureTargetBase
{
18 SyntheticGestureTargetAndroid(
19 RenderWidgetHostImpl
* host
,
20 base::android::ScopedJavaLocalRef
<jobject
> touch_event_synthesizer
);
21 virtual ~SyntheticGestureTargetAndroid();
23 static bool RegisterTouchEventSynthesizer(JNIEnv
* env
);
25 // SyntheticGestureTargetBase:
26 virtual void DispatchWebTouchEventToPlatform(
27 const blink::WebTouchEvent
& web_touch
,
28 const ui::LatencyInfo
& latency_info
) OVERRIDE
;
29 virtual void DispatchWebMouseWheelEventToPlatform(
30 const blink::WebMouseWheelEvent
& web_wheel
,
31 const ui::LatencyInfo
& latency_info
) OVERRIDE
;
32 virtual void DispatchWebMouseEventToPlatform(
33 const blink::WebMouseEvent
& web_mouse
,
34 const ui::LatencyInfo
& latency_info
) OVERRIDE
;
36 // SyntheticGestureTarget:
37 virtual SyntheticGestureParams::GestureSourceType
38 GetDefaultSyntheticGestureSourceType() const OVERRIDE
;
40 virtual int GetTouchSlopInDips() const OVERRIDE
;
43 // Enum values below need to be kept in sync with TouchEventSynthesizer.java
52 void TouchSetPointer(JNIEnv
* env
, int index
, int x
, int y
, int id
);
54 JNIEnv
* env
, Action action
, int pointer_count
, int64 time_in_ms
);
56 base::android::ScopedJavaGlobalRef
<jobject
> touch_event_synthesizer_
;
58 DISALLOW_COPY_AND_ASSIGN(SyntheticGestureTargetAndroid
);
61 } // namespace content
63 #endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_SYNTHETIC_GESTURE_TARGET_ANDROID_H_