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

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

Issue 10823262: Refactoring: Extract gesture event filtering into helper class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more review comments Created 8 years, 4 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
« no previous file with comments | « content/browser/renderer_host/render_widget_host_impl.cc ('k') | content/content_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « content/browser/renderer_host/render_widget_host_impl.cc ('k') | content/content_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698