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

Unified Diff: content/browser/renderer_host/render_widget_host_view_win.h

Issue 10365009: Adding Gesture Recognition to RenderWidgetHostViewWin (web client) (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 8 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: content/browser/renderer_host/render_widget_host_view_win.h
diff --git a/content/browser/renderer_host/render_widget_host_view_win.h b/content/browser/renderer_host/render_widget_host_view_win.h
index e1178947cbc53d71ca5eca1e5e9484fc07b00ea2..de3595ddc0d6d874e164265e4788d2f4adb1e722 100644
--- a/content/browser/renderer_host/render_widget_host_view_win.h
+++ b/content/browser/renderer_host/render_widget_host_view_win.h
@@ -24,6 +24,8 @@
#include "content/common/content_export.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
+#include "ui/base/gestures/gesture_types.h"
+#include "ui/base/gestures/gesture_recognizer.h"
#include "ui/base/win/ime_input.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/gfx/point.h"
@@ -51,6 +53,10 @@ namespace ui {
class ViewProp;
}
+namespace views{
+class GestureEvent;
+}
+
typedef CWinTraits<WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, 0>
RenderWidgetHostHWNDTraits;
@@ -94,7 +100,9 @@ class RenderWidgetHostViewWin
public content::RenderWidgetHostViewBase,
public content::NotificationObserver,
public BrowserAccessibilityDelegate,
- public gfx::SysColorChangeListener {
+ public gfx::SysColorChangeListener,
+ public ui::GestureConsumer,
+ public ui::GestureEventHelper {
public:
virtual ~RenderWidgetHostViewWin();
@@ -248,6 +256,23 @@ class RenderWidgetHostViewWin
// Implementation of SysColorChangeListener:
virtual void OnSysColorChange() OVERRIDE;
+ // Overridden from ui::GestureEventHelper.
+ virtual ui::GestureEvent* CreateGestureEvent(
+ ui::EventType type,
+ const gfx::Point& location,
+ int flags,
+ const base::Time& time,
sky 2012/05/04 16:23:40 Same comment from other review: no refs for times.
+ float param_first,
+ float param_second,
+ unsigned int touch_id_bitfield) OVERRIDE;
+ virtual ui::TouchEvent* CreateTouchEvent(
+ ui::EventType type,
+ const gfx::Point& location,
+ int touch_id,
+ const base::TimeDelta& time_stamp) OVERRIDE;
+ virtual bool DispatchLongPressGestureEvent(ui::GestureEvent* event) OVERRIDE;
+ virtual bool DispatchCancelTouchEvent(ui::TouchEvent* event) OVERRIDE;
+
protected:
friend class content::RenderWidgetHostView;
@@ -333,13 +358,14 @@ class RenderWidgetHostViewWin
// becomes hidden, this method is called to reset the tooltip.
void ResetTooltip();
+ // Builds and forwards a WebKitGestureEvent to the renderer.
+ bool ForwardGestureEventToRenderer(
+ WebKit::WebInputEvent::Type eventType,
sky 2012/05/04 16:23:40 eventType -> event_type
+ const views::GestureEvent* gesture);
+ void ProcessGestures( ui::GestureRecognizer::Gestures* gestures);
sky 2012/05/04 16:23:40 remove space. Add newline before methods.
// Sends the specified mouse event to the renderer.
void ForwardMouseEventToRenderer(UINT message, WPARAM wparam, LPARAM lparam);
- // Synthesize mouse wheel event.
- LRESULT SynthesizeMouseWheel(bool is_vertical, int scroll_code,
- short scroll_position);
-
// Shuts down the render_widget_host_. This is a separate function so we can
// invoke it from the message loop.
void ShutdownHost();
@@ -575,6 +601,8 @@ class RenderWidgetHostViewWin
// Are touch events currently enabled?
bool touch_events_enabled_;
+ scoped_ptr<ui::GestureRecognizer> gesture_recognizer_;
+
gfx::ScopedSysColorChangeListener sys_color_change_listener_;
DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewWin);

Powered by Google App Engine
This is Rietveld 408576698