| Index: ui/events/event_unittest.cc
|
| diff --git a/ui/events/event_unittest.cc b/ui/events/event_unittest.cc
|
| index 5a5742d59e7d2cd80c957361289b220affb3abc7..85c3a9feb8c8de039c31dc85a6da73e6df542a67 100644
|
| --- a/ui/events/event_unittest.cc
|
| +++ b/ui/events/event_unittest.cc
|
| @@ -98,6 +98,28 @@ TEST(EventTest, RepeatedClick) {
|
| EXPECT_FALSE(MouseEvent::IsRepeatedClickEvent(mouse_ev1, mouse_ev2));
|
| }
|
|
|
| +// Tests that an event only increases the click count and gets marked as a
|
| +// double click if a release event was seen for the previous click. This
|
| +// prevents the same PRESSED event from being processed twice:
|
| +// http://crbug.com/389162
|
| +TEST(EventTest, DoubleClickRequiresRelease) {
|
| + const gfx::Point origin1(0, 0);
|
| + const gfx::Point origin2(100, 0);
|
| + scoped_ptr<MouseEvent> ev;
|
| +
|
| + ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin1, origin1, 0, 0));
|
| + EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev));
|
| + ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin1, origin1, 0, 0));
|
| + EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev));
|
| +
|
| + ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin2, origin2, 0, 0));
|
| + EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev));
|
| + ev.reset(new MouseEvent(ET_MOUSE_RELEASED, origin2, origin2, 0, 0));
|
| + EXPECT_EQ(1, MouseEvent::GetRepeatCount(*ev));
|
| + ev.reset(new MouseEvent(ET_MOUSE_PRESSED, origin2, origin2, 0, 0));
|
| + EXPECT_EQ(2, MouseEvent::GetRepeatCount(*ev));
|
| +}
|
| +
|
| TEST(EventTest, KeyEvent) {
|
| static const struct {
|
| KeyboardCode key_code;
|
|
|