Index: chrome/renderer/render_widget.cc |
diff --git a/chrome/renderer/render_widget.cc b/chrome/renderer/render_widget.cc |
index 480285a3fcd597355269981f33da4809345d5929..e6dff43f18ea91b208b5710a74c244787ec48d7a 100644 |
--- a/chrome/renderer/render_widget.cc |
+++ b/chrome/renderer/render_widget.cc |
@@ -36,6 +36,10 @@ |
#include "third_party/skia/include/core/SkMallocPixelRef.h" |
#endif // defined(OS_POSIX) |
+#if defined(TOUCH_UI) |
+#include "chrome/renderer/gesture_manager.h" |
+#endif |
+ |
#include "third_party/WebKit/WebKit/chromium/public/WebWidget.h" |
using WebKit::WebCompositionUnderline; |
@@ -54,6 +58,10 @@ using WebKit::WebTextInputType; |
using WebKit::WebVector; |
using WebKit::WebWidget; |
+#if defined(TOUCH_UI) |
+using WebKit::WebTouchEvent; |
+#endif |
+ |
RenderWidget::RenderWidget(RenderThreadBase* render_thread, |
WebKit::WebPopupType popup_type) |
: routing_id_(MSG_ROUTING_NONE), |
@@ -75,7 +83,12 @@ RenderWidget::RenderWidget(RenderThreadBase* render_thread, |
popup_type_(popup_type), |
pending_window_rect_count_(0), |
suppress_next_char_events_(false), |
- is_gpu_rendering_active_(false) { |
+ is_gpu_rendering_active_(false) |
+#if defined(TOUCH_UI) |
+ , |
+ gesture_manager_(GestureManager::Get()) |
+#endif |
+ { |
RenderProcess::current()->AddRefProcess(); |
DCHECK(render_thread_); |
} |
@@ -103,7 +116,7 @@ RenderWidget* RenderWidget::Create(int32 opener_id, |
// static |
WebWidget* RenderWidget::CreateWebWidget(RenderWidget* render_widget) { |
switch (render_widget->popup_type_) { |
- case WebKit::WebPopupTypeNone: // Nothing to create. |
+ case WebKit::WebPopupTypeNone: // Nothing to create. |
break; |
case WebKit::WebPopupTypeSelect: |
case WebKit::WebPopupTypeSuggestion: |
@@ -341,8 +354,17 @@ void RenderWidget::OnHandleInputEvent(const IPC::Message& message) { |
bool processed = false; |
if (input_event->type != WebInputEvent::Char || !suppress_next_char_events_) { |
suppress_next_char_events_ = false; |
- if (webwidget_) |
+ if (webwidget_) { |
processed = webwidget_->handleInputEvent(*input_event); |
+#if defined(TOUCH_UI) |
+ if (WebInputEvent::isTouchEventType(input_event->type)) { |
darin (slow to review)
2010/09/25 15:21:06
why is this code here instead of inside the WebVie
|
+ processed = gesture_manager_->ProcessTouchEventForGesture( |
+ *static_cast<const WebTouchEvent*>(input_event), |
+ this, |
+ processed); |
+ } |
+#endif |
+ } |
} |
// If this RawKeyDown event corresponds to a browser keyboard shortcut and |