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

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

Issue 237353003: Revert 263644 "[DevTools] Touch emulation in content." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 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: trunk/src/content/browser/renderer_host/render_widget_host_unittest.cc
===================================================================
--- trunk/src/content/browser/renderer_host/render_widget_host_unittest.cc (revision 263646)
+++ trunk/src/content/browser/renderer_host/render_widget_host_unittest.cc (working copy)
@@ -48,7 +48,6 @@
using blink::WebGestureEvent;
using blink::WebInputEvent;
using blink::WebKeyboardEvent;
-using blink::WebMouseEvent;
using blink::WebMouseWheelEvent;
using blink::WebTouchEvent;
using blink::WebTouchPoint;
@@ -200,7 +199,6 @@
: RenderWidgetHostImpl(delegate, process, routing_id, false),
unresponsive_timer_fired_(false) {
input_router_impl_ = static_cast<InputRouterImpl*>(input_router_.get());
- acked_touch_event_type_ = blink::WebInputEvent::Undefined;
}
// Allow poking at a few private members.
@@ -263,18 +261,6 @@
return touch_event_queue().empty();
}
- virtual void OnTouchEventAck(
- const TouchEventWithLatencyInfo& event,
- InputEventAckState ack_result) OVERRIDE {
- // Sniff touch acks.
- acked_touch_event_type_ = event.event.type;
- RenderWidgetHostImpl::OnTouchEventAck(event, ack_result);
- }
-
- WebInputEvent::Type acked_touch_event_type() const {
- return acked_touch_event_type_;
- }
-
bool ScrollStateIsContentScrolling() const {
return scroll_state() == OverscrollController::STATE_CONTENT_SCROLLING;
}
@@ -335,7 +321,6 @@
private:
bool unresponsive_timer_fired_;
- WebInputEvent::Type acked_touch_event_type_;
// |input_router_impl_| and |mock_input_router_| are owned by
// RenderWidgetHostImpl. The handles below are provided for convenience so
@@ -597,10 +582,7 @@
RenderWidgetHostTest()
: process_(NULL),
handle_key_press_event_(false),
- handle_mouse_event_(false),
- simulated_event_time_delta_seconds_(0) {
- last_simulated_event_time_seconds_ =
- (base::TimeTicks::Now() - base::TimeTicks()).InSecondsF();
+ handle_mouse_event_(false) {
}
virtual ~RenderWidgetHostTest() {
}
@@ -663,20 +645,10 @@
host_->OnMessageReceived(*response);
}
- double GetNextSimulatedEventTimeSeconds() {
- last_simulated_event_time_seconds_ += simulated_event_time_delta_seconds_;
- return last_simulated_event_time_seconds_;
- }
-
void SimulateKeyboardEvent(WebInputEvent::Type type) {
- SimulateKeyboardEvent(type, 0);
- }
-
- void SimulateKeyboardEvent(WebInputEvent::Type type, int modifiers) {
- WebKeyboardEvent event = SyntheticWebKeyboardEventBuilder::Build(type);
- event.modifiers = modifiers;
- NativeWebKeyboardEvent native_event;
- memcpy(&native_event, &event, sizeof(event));
+ WebKeyboardEvent event = SyntheticWebKeyboardEventBuilder::Build(type);
+ NativeWebKeyboardEvent native_event;
+ memcpy(&native_event, &event, sizeof(event));
host_->ForwardKeyboardEvent(native_event);
}
@@ -707,19 +679,13 @@
}
void SimulateMouseMove(int x, int y, int modifiers) {
- SimulateMouseEvent(WebInputEvent::MouseMove, x, y, modifiers, false);
+ host_->ForwardMouseEvent(
+ SyntheticWebMouseEventBuilder::Build(WebInputEvent::MouseMove,
+ x,
+ y,
+ modifiers));
}
- void SimulateMouseEvent(
- WebInputEvent::Type type, int x, int y, int modifiers, bool pressed) {
- WebMouseEvent event =
- SyntheticWebMouseEventBuilder::Build(type, x, y, modifiers);
- if (pressed)
- event.button = WebMouseEvent::ButtonLeft;
- event.timeStampSeconds = GetNextSimulatedEventTimeSeconds();
- host_->ForwardMouseEvent(event);
- }
-
void SimulateWheelEventWithPhase(WebMouseWheelEvent::Phase phase) {
host_->ForwardWheelEvent(SyntheticWebMouseWheelEventBuilder::Build(phase));
}
@@ -822,8 +788,6 @@
scoped_ptr<gfx::Screen> screen_;
bool handle_key_press_event_;
bool handle_mouse_event_;
- double last_simulated_event_time_seconds_;
- double simulated_event_time_delta_seconds_;
private:
SyntheticWebTouchEvent touch_event_;
@@ -2417,203 +2381,6 @@
process_->sink().ClearMessages();
}
-std::string GetInputMessageTypes(RenderWidgetHostProcess* process) {
- const WebInputEvent* event = NULL;
- ui::LatencyInfo latency_info;
- bool is_keyboard_shortcut;
- std::string result;
- for (size_t i = 0; i < process->sink().message_count(); ++i) {
- const IPC::Message *message = process->sink().GetMessageAt(i);
- EXPECT_EQ(InputMsg_HandleInputEvent::ID, message->type());
- EXPECT_TRUE(InputMsg_HandleInputEvent::Read(
- message, &event, &latency_info, &is_keyboard_shortcut));
- if (i != 0)
- result += " ";
- result += WebInputEventTraits::GetName(event->type);
- }
- process->sink().ClearMessages();
- return result;
-}
-
-TEST_F(RenderWidgetHostTest, TouchEmulator) {
- simulated_event_time_delta_seconds_ = 0.1;
- host_->DisableGestureDebounce();
- // Immediately ack all touches instead of sending them to the renderer.
- host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, false));
- host_->OnMessageReceived(
- ViewHostMsg_SetTouchEventEmulationEnabled(0, true, true));
- process_->sink().ClearMessages();
- view_->set_bounds(gfx::Rect(0, 0, 400, 200));
- view_->Show();
-
- SimulateMouseEvent(WebInputEvent::MouseMove, 10, 10, 0, false);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- // Mouse press becomes touch start which in turn becomes tap.
- SimulateMouseEvent(WebInputEvent::MouseDown, 10, 10, 0, true);
- EXPECT_EQ(WebInputEvent::TouchStart, host_->acked_touch_event_type());
- EXPECT_EQ("GestureTapDown", GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GestureTapDown,
- INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
-
- // Mouse drag generates touch move, cancels tap and starts scroll.
- SimulateMouseEvent(WebInputEvent::MouseMove, 10, 30, 0, true);
- EXPECT_EQ(WebInputEvent::TouchMove, host_->acked_touch_event_type());
- EXPECT_EQ(
- "GestureTapCancel GestureScrollBegin GestureScrollUpdate",
- GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GestureTapCancel,
- INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
- SendInputEventACK(WebInputEvent::GestureScrollBegin,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- SendInputEventACK(WebInputEvent::GestureScrollUpdate,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- // Mouse drag with shift becomes pinch.
- SimulateMouseEvent(
- WebInputEvent::MouseMove, 10, 40, WebInputEvent::ShiftKey, true);
- EXPECT_EQ(WebInputEvent::TouchMove, host_->acked_touch_event_type());
- EXPECT_EQ("GesturePinchBegin",
- GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GesturePinchBegin,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- SimulateMouseEvent(
- WebInputEvent::MouseMove, 10, 50, WebInputEvent::ShiftKey, true);
- EXPECT_EQ(WebInputEvent::TouchMove, host_->acked_touch_event_type());
- EXPECT_EQ("GesturePinchUpdate",
- GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GesturePinchUpdate,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- // Mouse drag without shift becomes scroll again.
- SimulateMouseEvent(WebInputEvent::MouseMove, 10, 60, 0, true);
- EXPECT_EQ(WebInputEvent::TouchMove, host_->acked_touch_event_type());
- EXPECT_EQ("GesturePinchEnd GestureScrollUpdate",
- GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GestureScrollUpdate,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- SimulateMouseEvent(WebInputEvent::MouseMove, 10, 70, 0, true);
- EXPECT_EQ(WebInputEvent::TouchMove, host_->acked_touch_event_type());
- EXPECT_EQ("GestureScrollUpdate",
- GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GestureScrollUpdate,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- SimulateMouseEvent(WebInputEvent::MouseUp, 10, 70, 0, true);
- EXPECT_EQ(WebInputEvent::TouchEnd, host_->acked_touch_event_type());
- EXPECT_EQ("GestureScrollEnd", GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GestureScrollEnd,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- // Mouse move does nothing.
- SimulateMouseEvent(WebInputEvent::MouseMove, 10, 80, 0, false);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- // Another mouse down continues scroll.
- SimulateMouseEvent(WebInputEvent::MouseDown, 10, 80, 0, true);
- EXPECT_EQ(WebInputEvent::TouchStart, host_->acked_touch_event_type());
- EXPECT_EQ("GestureTapDown", GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GestureTapDown,
- INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- SimulateMouseEvent(WebInputEvent::MouseMove, 10, 100, 0, true);
- EXPECT_EQ(WebInputEvent::TouchMove, host_->acked_touch_event_type());
- EXPECT_EQ(
- "GestureTapCancel GestureScrollBegin GestureScrollUpdate",
- GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GestureTapCancel,
- INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
- SendInputEventACK(WebInputEvent::GestureScrollBegin,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- SendInputEventACK(WebInputEvent::GestureScrollUpdate,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- // Another pinch.
- SimulateMouseEvent(
- WebInputEvent::MouseMove, 10, 110, WebInputEvent::ShiftKey, true);
- EXPECT_EQ(WebInputEvent::TouchMove, host_->acked_touch_event_type());
- EXPECT_EQ("GesturePinchBegin",
- GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GesturePinchBegin,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- SimulateMouseEvent(
- WebInputEvent::MouseMove, 10, 120, WebInputEvent::ShiftKey, true);
- EXPECT_EQ(WebInputEvent::TouchMove, host_->acked_touch_event_type());
- EXPECT_EQ("GesturePinchUpdate",
- GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GesturePinchUpdate,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- // Turn off emulation during a pinch.
- host_->OnMessageReceived(
- ViewHostMsg_SetTouchEventEmulationEnabled(0, false, false));
- EXPECT_EQ(WebInputEvent::TouchCancel, host_->acked_touch_event_type());
- EXPECT_EQ("GesturePinchEnd GestureScrollEnd",
- GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GesturePinchEnd,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- SendInputEventACK(WebInputEvent::GestureScrollEnd,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- // Mouse event should pass untouched.
- SimulateMouseEvent(
- WebInputEvent::MouseMove, 10, 10, WebInputEvent::ShiftKey, true);
- EXPECT_EQ("MouseMove", GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::MouseMove,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- // Turn on emulation.
- host_->OnMessageReceived(
- ViewHostMsg_SetTouchEventEmulationEnabled(0, true, true));
- EXPECT_EQ(0U, process_->sink().message_count());
-
- // Another touch.
- SimulateMouseEvent(WebInputEvent::MouseDown, 10, 10, 0, true);
- EXPECT_EQ(WebInputEvent::TouchStart, host_->acked_touch_event_type());
- EXPECT_EQ("GestureTapDown", GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GestureTapDown,
- INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-
- // Scroll.
- SimulateMouseEvent(WebInputEvent::MouseMove, 10, 30, 0, true);
- EXPECT_EQ(WebInputEvent::TouchMove, host_->acked_touch_event_type());
- EXPECT_EQ(
- "GestureTapCancel GestureScrollBegin GestureScrollUpdate",
- GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GestureTapCancel,
- INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
- SendInputEventACK(WebInputEvent::GestureScrollBegin,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- SendInputEventACK(WebInputEvent::GestureScrollUpdate,
- INPUT_EVENT_ACK_STATE_CONSUMED);
-
- // Turn off emulation during a scroll.
- host_->OnMessageReceived(
- ViewHostMsg_SetTouchEventEmulationEnabled(0, false, false));
- EXPECT_EQ(WebInputEvent::TouchCancel, host_->acked_touch_event_type());
-
- EXPECT_EQ("GestureScrollEnd", GetInputMessageTypes(process_));
- SendInputEventACK(WebInputEvent::GestureScrollEnd,
- INPUT_EVENT_ACK_STATE_CONSUMED);
- EXPECT_EQ(0U, process_->sink().message_count());
-}
-
#define TEST_InputRouterRoutes_NOARGS(INPUTMSG) \
TEST_F(RenderWidgetHostTest, InputRouterRoutes##INPUTMSG) { \
host_->SetupForInputRouterTest(); \

Powered by Google App Engine
This is Rietveld 408576698