Index: content/browser/renderer_host/render_widget_host_unittest.cc |
diff --git a/content/browser/renderer_host/render_widget_host_unittest.cc b/content/browser/renderer_host/render_widget_host_unittest.cc |
index d358680c405c556fd14e7ea423a544addee94e35..76133f490d5cc26cd62e1f193cb64b74b8fd7e82 100644 |
--- a/content/browser/renderer_host/render_widget_host_unittest.cc |
+++ b/content/browser/renderer_host/render_widget_host_unittest.cc |
@@ -9,6 +9,7 @@ |
#include "content/browser/browser_thread_impl.h" |
#include "content/browser/renderer_host/backing_store.h" |
#include "content/browser/renderer_host/render_widget_host_delegate.h" |
+#include "content/browser/renderer_host/gesture_event_filter.h" |
#include "content/browser/renderer_host/test_render_view_host.h" |
#include "content/common/view_messages.h" |
#include "content/port/browser/render_widget_host_view_port.h" |
@@ -32,6 +33,7 @@ using base::TimeDelta; |
using content::BackingStore; |
using content::BrowserThread; |
using content::BrowserThreadImpl; |
+using content::GestureEventFilter; |
using content::MockRenderProcessHost; |
using content::NativeWebKeyboardEvent; |
using content::RenderWidgetHost; |
@@ -223,8 +225,7 @@ class MockRenderWidgetHost : public RenderWidgetHostImpl { |
using RenderWidgetHostImpl::in_flight_size_; |
using RenderWidgetHostImpl::is_hidden_; |
using RenderWidgetHostImpl::resize_ack_pending_; |
- using RenderWidgetHostImpl::coalesced_gesture_events_; |
- using RenderWidgetHostImpl::fling_in_progress_; |
+ using RenderWidgetHostImpl::gesture_event_filter_; |
bool unresponsive_timer_fired() const { |
return unresponsive_timer_fired_; |
@@ -234,6 +235,18 @@ class MockRenderWidgetHost : public RenderWidgetHostImpl { |
hung_renderer_delay_ms_ = delay_ms; |
} |
+ WebGestureEvent GestureEventLastQueueEvent() { |
+ return gesture_event_filter_->coalesced_gesture_events_.back(); |
+ } |
+ |
+ unsigned GestureEventLastQueueEventSize() { |
+ return gesture_event_filter_->coalesced_gesture_events_.size(); |
+ } |
+ |
+ bool FlingInProgress() { |
+ return gesture_event_filter_->fling_in_progress_; |
+ } |
+ |
protected: |
virtual void NotifyRendererUnresponsive() OVERRIDE { |
unresponsive_timer_fired_ = true; |
@@ -795,14 +808,14 @@ TEST_F(RenderWidgetHostTest, CoalescesGesturesEvents) { |
SimulateGestureEvent(8, -5, 0, WebInputEvent::GestureScrollUpdate); |
// Make sure that the queue contains what we think it should. |
- WebGestureEvent merged_event = host_->coalesced_gesture_events_.back(); |
+ WebGestureEvent merged_event = host_->GestureEventLastQueueEvent(); |
EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type); |
// Coalesced. |
SimulateGestureEvent(8, -6, 0, WebInputEvent::GestureScrollUpdate); |
// Check that coalescing updated the correct values. |
- merged_event = host_->coalesced_gesture_events_.back(); |
+ merged_event = host_->GestureEventLastQueueEvent(); |
EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type); |
EXPECT_EQ(0, merged_event.modifiers); |
EXPECT_EQ(16, merged_event.deltaX); |
@@ -812,7 +825,7 @@ TEST_F(RenderWidgetHostTest, CoalescesGesturesEvents) { |
SimulateGestureEvent(8, -7, 1, WebInputEvent::GestureScrollUpdate); |
// Check that we didn't wrongly coalesce. |
- merged_event = host_->coalesced_gesture_events_.back(); |
+ merged_event = host_->GestureEventLastQueueEvent(); |
EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type); |
EXPECT_EQ(1, merged_event.modifiers); |
@@ -860,80 +873,80 @@ TEST_F(RenderWidgetHostTest, GestureFlingCancelsFiltered) { |
// GFC without previous GFS is dropped. |
SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); |
EXPECT_EQ(0U, process_->sink().message_count()); |
- EXPECT_EQ(0U, host_->coalesced_gesture_events_.size()); |
+ EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); |
// GFC after previous GFS is dispatched and acked. |
process_->sink().ClearMessages(); |
SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingStart); |
- EXPECT_TRUE(host_->fling_in_progress_); |
+ EXPECT_TRUE(host_->FlingInProgress()); |
SendInputEventACK(WebInputEvent::GestureFlingStart, true); |
MessageLoop::current()->RunAllPending(); |
SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); |
- EXPECT_FALSE(host_->fling_in_progress_); |
+ EXPECT_FALSE(host_->FlingInProgress()); |
EXPECT_EQ(2U, process_->sink().message_count()); |
SendInputEventACK(WebInputEvent::GestureFlingCancel, true); |
MessageLoop::current()->RunAllPending(); |
- EXPECT_EQ(0U, host_->coalesced_gesture_events_.size()); |
+ EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); |
// GFC before previous GFS is acked. |
process_->sink().ClearMessages(); |
SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingStart); |
- EXPECT_TRUE(host_->fling_in_progress_); |
+ EXPECT_TRUE(host_->FlingInProgress()); |
SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); |
- EXPECT_FALSE(host_->fling_in_progress_); |
+ EXPECT_FALSE(host_->FlingInProgress()); |
EXPECT_EQ(1U, process_->sink().message_count()); |
- EXPECT_FALSE(host_->coalesced_gesture_events_.empty()); |
+ EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize()); |
// Advance state realistically. |
SendInputEventACK(WebInputEvent::GestureFlingStart, true); |
MessageLoop::current()->RunAllPending(); |
SendInputEventACK(WebInputEvent::GestureFlingCancel, true); |
MessageLoop::current()->RunAllPending(); |
- EXPECT_EQ(0U, host_->coalesced_gesture_events_.size()); |
+ EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); |
// GFS is added to the queue if another event is pending |
process_->sink().ClearMessages(); |
SimulateGestureEvent(8, -7, 0, WebInputEvent::GestureScrollUpdate); |
SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingStart); |
EXPECT_EQ(1U, process_->sink().message_count()); |
- WebGestureEvent merged_event = host_->coalesced_gesture_events_.back(); |
+ WebGestureEvent merged_event = host_->GestureEventLastQueueEvent(); |
EXPECT_EQ(WebInputEvent::GestureFlingStart, merged_event.type); |
- EXPECT_FALSE(host_->fling_in_progress_); |
- EXPECT_EQ(1U, host_->coalesced_gesture_events_.size()); |
+ EXPECT_FALSE(host_->FlingInProgress()); |
+ EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize()); |
// GFS in queue means that a GFC is added to the queue |
SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); |
- merged_event = host_->coalesced_gesture_events_.back(); |
+ merged_event =host_->GestureEventLastQueueEvent(); |
EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type); |
- EXPECT_FALSE(host_->fling_in_progress_); |
- EXPECT_EQ(2U, host_->coalesced_gesture_events_.size()); |
+ EXPECT_FALSE(host_->FlingInProgress()); |
+ EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize()); |
// Adding a second GFC is dropped. |
SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); |
- EXPECT_FALSE(host_->fling_in_progress_); |
- EXPECT_EQ(2U, host_->coalesced_gesture_events_.size()); |
+ EXPECT_FALSE(host_->FlingInProgress()); |
+ EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize()); |
// Adding another GFS will add it to the queue. |
SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingStart); |
- merged_event = host_->coalesced_gesture_events_.back(); |
+ merged_event = host_->GestureEventLastQueueEvent(); |
EXPECT_EQ(WebInputEvent::GestureFlingStart, merged_event.type); |
- EXPECT_FALSE(host_->fling_in_progress_); |
- EXPECT_EQ(3U, host_->coalesced_gesture_events_.size()); |
+ EXPECT_FALSE(host_->FlingInProgress()); |
+ EXPECT_EQ(3U, host_->GestureEventLastQueueEventSize()); |
// GFS in queue means that a GFC is added to the queue |
SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); |
- merged_event = host_->coalesced_gesture_events_.back(); |
+ merged_event = host_->GestureEventLastQueueEvent(); |
EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type); |
- EXPECT_FALSE(host_->fling_in_progress_); |
- EXPECT_EQ(4U, host_->coalesced_gesture_events_.size()); |
+ EXPECT_FALSE(host_->FlingInProgress()); |
+ EXPECT_EQ(4U, host_->GestureEventLastQueueEventSize()); |
// Adding another GFC with a GFC already there is dropped. |
SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); |
- merged_event = host_->coalesced_gesture_events_.back(); |
+ merged_event = host_->GestureEventLastQueueEvent(); |
EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type); |
- EXPECT_FALSE(host_->fling_in_progress_); |
- EXPECT_EQ(4U, host_->coalesced_gesture_events_.size()); |
+ EXPECT_FALSE(host_->FlingInProgress()); |
+ EXPECT_EQ(4U, host_->GestureEventLastQueueEventSize()); |
} |
// Test that the hang monitor timer expires properly if a new timer is started |