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

Unified Diff: content/browser/renderer_host/render_widget_host_impl.cc

Issue 11148008: touch-event queue: Add a touch-event queue for all platforms. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tot-merge Created 8 years, 2 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_impl.cc
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 3a85551f0639f76aa70c08f41dcf72003b78c798..a421f0924025c3f2661ac50d32655fca9e672856 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -28,6 +28,7 @@
#include "content/browser/renderer_host/render_widget_helper.h"
#include "content/browser/renderer_host/render_widget_host_delegate.h"
#include "content/browser/renderer_host/tap_suppression_controller.h"
+#include "content/browser/renderer_host/touch_event_queue.h"
#include "content/common/accessibility_messages.h"
#include "content/common/gpu/gpu_messages.h"
#include "content/common/view_messages.h"
@@ -149,6 +150,7 @@ RenderWidgetHostImpl::RenderWidgetHostImpl(RenderWidgetHostDelegate* delegate,
has_touch_handler_(false),
ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)),
tick_active_smooth_scroll_gestures_task_posted_(false),
+ touch_event_queue_(new TouchEventQueue(this)),
gesture_event_filter_(new GestureEventFilter(this)) {
CHECK(delegate_);
if (routing_id_ == MSG_ROUTING_NONE) {
@@ -940,6 +942,15 @@ void RenderWidgetHostImpl::ForwardGestureEvent(
ForwardInputEvent(gesture_event, sizeof(WebGestureEvent), false);
}
+void RenderWidgetHostImpl::ForwardTouchEventImmediately(
+ const WebKit::WebTouchEvent& touch_event) {
+ TRACE_EVENT0("renderer_host", "RenderWidgetHostImpl::ForwardTouchEvent");
+ if (ignore_input_events_ || process_->IgnoreInputEvents())
+ return;
+
+ ForwardInputEvent(touch_event, sizeof(WebKit::WebTouchEvent), false);
+}
+
void RenderWidgetHostImpl::ForwardGestureEventImmediately(
const WebKit::WebGestureEvent& gesture_event) {
if (ignore_input_events_ || process_->IgnoreInputEvents())
@@ -1047,12 +1058,7 @@ void RenderWidgetHostImpl::ForwardInputEvent(const WebInputEvent& input_event,
void RenderWidgetHostImpl::ForwardTouchEvent(
const WebKit::WebTouchEvent& touch_event) {
- TRACE_EVENT0("renderer_host", "RenderWidgetHostImpl::ForwardTouchEvent");
- if (ignore_input_events_ || process_->IgnoreInputEvents())
- return;
-
- // TODO(sad): Do touch-event coalescing when appropriate.
- ForwardInputEvent(touch_event, sizeof(WebKit::WebTouchEvent), false);
+ touch_event_queue_->QueueEvent(touch_event);
aelias_OOO_until_Jul13 2012/10/16 23:28:38 RenderWidgetHost is not doing anything here except
sadrul 2012/10/16 23:49:14 I actually considered doing something similar at f
}
#if defined(TOOLKIT_GTK)
@@ -1734,8 +1740,7 @@ void RenderWidgetHostImpl::ProcessGestureAck(bool processed, int type) {
}
void RenderWidgetHostImpl::ProcessTouchAck(bool processed) {
- if (view_)
- view_->ProcessTouchAck(processed);
+ touch_event_queue_->ProcessTouchAck(processed);
}
void RenderWidgetHostImpl::OnMsgFocus() {

Powered by Google App Engine
This is Rietveld 408576698