summaryrefslogtreecommitdiffstats
path: root/chromium/content/renderer/input/input_event_filter_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/renderer/input/input_event_filter_unittest.cc')
-rw-r--r--chromium/content/renderer/input/input_event_filter_unittest.cc66
1 files changed, 26 insertions, 40 deletions
diff --git a/chromium/content/renderer/input/input_event_filter_unittest.cc b/chromium/content/renderer/input/input_event_filter_unittest.cc
index a131ceb47dc..a234e793fdc 100644
--- a/chromium/content/renderer/input/input_event_filter_unittest.cc
+++ b/chromium/content/renderer/input/input_event_filter_unittest.cc
@@ -8,10 +8,13 @@
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
+#include "content/common/input/synthetic_web_input_event_builders.h"
#include "content/common/input_messages.h"
#include "content/common/view_messages.h"
#include "content/renderer/input/input_event_filter.h"
+#include "ipc/ipc_listener.h"
#include "ipc/ipc_test_sink.h"
+#include "ipc/message_filter.h"
#include "testing/gtest/include/gtest/gtest.h"
using blink::WebInputEvent;
@@ -96,18 +99,7 @@ class IPCMessageRecorder : public IPC::Listener {
std::vector<IPC::Message> messages_;
};
-void InitMouseEvent(WebMouseEvent* event, WebInputEvent::Type type,
- int x, int y) {
- // Avoid valgrind false positives by initializing memory completely.
- memset(event, 0, sizeof(*event));
-
- new (event) WebMouseEvent();
- event->type = type;
- event->x = x;
- event->y = y;
-}
-
-void AddMessagesToFilter(IPC::ChannelProxy::MessageFilter* message_filter,
+void AddMessagesToFilter(IPC::MessageFilter* message_filter,
const std::vector<IPC::Message>& events) {
for (size_t i = 0; i < events.size(); ++i) {
message_filter->OnMessageReceived(events[i]);
@@ -116,7 +108,7 @@ void AddMessagesToFilter(IPC::ChannelProxy::MessageFilter* message_filter,
base::MessageLoop::current()->RunUntilIdle();
}
-void AddEventsToFilter(IPC::ChannelProxy::MessageFilter* message_filter,
+void AddEventsToFilter(IPC::MessageFilter* message_filter,
const WebMouseEvent events[],
size_t count) {
std::vector<IPC::Message> messages;
@@ -163,10 +155,11 @@ class InputEventFilterTest : public testing::Test {
};
TEST_F(InputEventFilterTest, Basic) {
- WebMouseEvent kEvents[3];
- InitMouseEvent(&kEvents[0], WebInputEvent::MouseDown, 10, 10);
- InitMouseEvent(&kEvents[1], WebInputEvent::MouseMove, 20, 20);
- InitMouseEvent(&kEvents[2], WebInputEvent::MouseUp, 30, 30);
+ WebMouseEvent kEvents[3] = {
+ SyntheticWebMouseEventBuilder::Build(WebMouseEvent::MouseMove, 10, 10, 0),
+ SyntheticWebMouseEventBuilder::Build(WebMouseEvent::MouseMove, 20, 20, 0),
+ SyntheticWebMouseEventBuilder::Build(WebMouseEvent::MouseMove, 30, 30, 0)
+ };
AddEventsToFilter(filter_.get(), kEvents, arraysize(kEvents));
EXPECT_EQ(0U, ipc_sink_.message_count());
@@ -185,13 +178,11 @@ TEST_F(InputEventFilterTest, Basic) {
EXPECT_EQ(kTestRoutingID, message->routing_id());
EXPECT_EQ(InputHostMsg_HandleInputEvent_ACK::ID, message->type());
- WebInputEvent::Type event_type = WebInputEvent::Undefined;
- InputEventAckState ack_result = INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
- ui::LatencyInfo latency_info;
- EXPECT_TRUE(InputHostMsg_HandleInputEvent_ACK::Read(message,
- &event_type,
- &ack_result,
- &latency_info));
+ InputHostMsg_HandleInputEvent_ACK::Param params;
+ EXPECT_TRUE(InputHostMsg_HandleInputEvent_ACK::Read(message, &params));
+ WebInputEvent::Type event_type = params.a.type;
+ InputEventAckState ack_result = params.a.state;
+
EXPECT_EQ(kEvents[i].type, event_type);
EXPECT_EQ(ack_result, INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS);
@@ -213,11 +204,9 @@ TEST_F(InputEventFilterTest, Basic) {
const IPC::Message& message = message_recorder_.message_at(i);
ASSERT_EQ(InputMsg_HandleInputEvent::ID, message.type());
- const WebInputEvent* event = NULL;
- ui::LatencyInfo latency_info;
- bool is_kbd_shortcut;
- EXPECT_TRUE(InputMsg_HandleInputEvent::Read(
- &message, &event, &latency_info, &is_kbd_shortcut));
+ InputMsg_HandleInputEvent::Param params;
+ EXPECT_TRUE(InputMsg_HandleInputEvent::Read(&message, &params));
+ const WebInputEvent* event = params.a;
EXPECT_EQ(kEvents[i].size, event->size);
EXPECT_TRUE(memcmp(&kEvents[i], event, event->size) == 0);
@@ -241,13 +230,10 @@ TEST_F(InputEventFilterTest, Basic) {
EXPECT_EQ(kTestRoutingID, message->routing_id());
EXPECT_EQ(InputHostMsg_HandleInputEvent_ACK::ID, message->type());
- WebInputEvent::Type event_type = WebInputEvent::Undefined;
- InputEventAckState ack_result = INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
- ui::LatencyInfo latency_info;
- EXPECT_TRUE(InputHostMsg_HandleInputEvent_ACK::Read(message,
- &event_type,
- &ack_result,
- &latency_info));
+ InputHostMsg_HandleInputEvent_ACK::Param params;
+ EXPECT_TRUE(InputHostMsg_HandleInputEvent_ACK::Read(message, &params));
+ WebInputEvent::Type event_type = params.a.type;
+ InputEventAckState ack_result = params.a.state;
EXPECT_EQ(kEvents[i].type, event_type);
EXPECT_EQ(ack_result, INPUT_EVENT_ACK_STATE_CONSUMED);
}
@@ -260,10 +246,10 @@ TEST_F(InputEventFilterTest, PreserveRelativeOrder) {
event_recorder_.set_send_to_widget(true);
- WebMouseEvent mouse_down;
- mouse_down.type = WebMouseEvent::MouseDown;
- WebMouseEvent mouse_up;
- mouse_up.type = WebMouseEvent::MouseUp;
+ WebMouseEvent mouse_down =
+ SyntheticWebMouseEventBuilder::Build(WebMouseEvent::MouseDown);
+ WebMouseEvent mouse_up =
+ SyntheticWebMouseEventBuilder::Build(WebMouseEvent::MouseUp);
std::vector<IPC::Message> messages;
messages.push_back(InputMsg_HandleInputEvent(kTestRoutingID,