| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ash/autoclick/autoclick_controller.h" | 5 #include "ash/autoclick/autoclick_controller.h" |
| 6 #include "ash/shell.h" | 6 #include "ash/shell.h" |
| 7 #include "ash/test/ash_test_base.h" | 7 #include "ash/test/ash_test_base.h" |
| 8 #include "ui/aura/test/test_window_delegate.h" | 8 #include "ui/aura/test/test_window_delegate.h" |
| 9 #include "ui/aura/window.h" | 9 #include "ui/aura/window.h" |
| 10 #include "ui/aura/window_event_dispatcher.h" | 10 #include "ui/aura/window_event_dispatcher.h" |
| 11 #include "ui/events/event.h" | 11 #include "ui/events/event.h" |
| 12 #include "ui/events/event_constants.h" | 12 #include "ui/events/event_constants.h" |
| 13 #include "ui/events/event_handler.h" | 13 #include "ui/events/event_handler.h" |
| 14 #include "ui/events/keycodes/keyboard_codes.h" | 14 #include "ui/events/keycodes/keyboard_codes.h" |
| 15 #include "ui/events/test/event_generator.h" | 15 #include "ui/events/test/event_generator.h" |
| 16 | 16 |
| 17 namespace ash { | 17 namespace ash { |
| 18 | 18 |
| 19 class MouseEventCapturer : public ui::EventHandler { | 19 class MouseEventCapturer : public ui::EventHandler { |
| 20 public: | 20 public: |
| 21 MouseEventCapturer() { Reset(); } | 21 MouseEventCapturer() { Reset(); } |
| 22 virtual ~MouseEventCapturer() {} | 22 virtual ~MouseEventCapturer() {} |
| 23 | 23 |
| 24 void Reset() { | 24 void Reset() { |
| 25 events_.clear(); | 25 events_.clear(); |
| 26 } | 26 } |
| 27 | 27 |
| 28 virtual void OnMouseEvent(ui::MouseEvent* event) OVERRIDE { | 28 virtual void OnMouseEvent(ui::MouseEvent* event) override { |
| 29 if (!(event->flags() & ui::EF_LEFT_MOUSE_BUTTON)) | 29 if (!(event->flags() & ui::EF_LEFT_MOUSE_BUTTON)) |
| 30 return; | 30 return; |
| 31 // Filter out extraneous mouse events like mouse entered, exited, | 31 // Filter out extraneous mouse events like mouse entered, exited, |
| 32 // capture changed, etc. | 32 // capture changed, etc. |
| 33 ui::EventType type = event->type(); | 33 ui::EventType type = event->type(); |
| 34 if (type == ui::ET_MOUSE_MOVED || type == ui::ET_MOUSE_PRESSED || | 34 if (type == ui::ET_MOUSE_MOVED || type == ui::ET_MOUSE_PRESSED || |
| 35 type == ui::ET_MOUSE_RELEASED) { | 35 type == ui::ET_MOUSE_RELEASED) { |
| 36 events_.push_back(ui::MouseEvent( | 36 events_.push_back(ui::MouseEvent( |
| 37 event->type(), | 37 event->type(), |
| 38 event->location(), | 38 event->location(), |
| (...skipping 18 matching lines...) Expand all Loading... |
| 57 std::vector<ui::MouseEvent> events_; | 57 std::vector<ui::MouseEvent> events_; |
| 58 | 58 |
| 59 DISALLOW_COPY_AND_ASSIGN(MouseEventCapturer); | 59 DISALLOW_COPY_AND_ASSIGN(MouseEventCapturer); |
| 60 }; | 60 }; |
| 61 | 61 |
| 62 class AutoclickTest : public test::AshTestBase { | 62 class AutoclickTest : public test::AshTestBase { |
| 63 public: | 63 public: |
| 64 AutoclickTest() {} | 64 AutoclickTest() {} |
| 65 virtual ~AutoclickTest() {} | 65 virtual ~AutoclickTest() {} |
| 66 | 66 |
| 67 virtual void SetUp() OVERRIDE { | 67 virtual void SetUp() override { |
| 68 test::AshTestBase::SetUp(); | 68 test::AshTestBase::SetUp(); |
| 69 Shell::GetInstance()->AddPreTargetHandler(&mouse_event_capturer_); | 69 Shell::GetInstance()->AddPreTargetHandler(&mouse_event_capturer_); |
| 70 GetAutoclickController()->SetAutoclickDelay(0); | 70 GetAutoclickController()->SetAutoclickDelay(0); |
| 71 | 71 |
| 72 // Move mouse to deterministic location at the start of each test. | 72 // Move mouse to deterministic location at the start of each test. |
| 73 GetEventGenerator().MoveMouseTo(100, 100); | 73 GetEventGenerator().MoveMouseTo(100, 100); |
| 74 } | 74 } |
| 75 | 75 |
| 76 virtual void TearDown() OVERRIDE { | 76 virtual void TearDown() override { |
| 77 Shell::GetInstance()->RemovePreTargetHandler(&mouse_event_capturer_); | 77 Shell::GetInstance()->RemovePreTargetHandler(&mouse_event_capturer_); |
| 78 test::AshTestBase::TearDown(); | 78 test::AshTestBase::TearDown(); |
| 79 } | 79 } |
| 80 | 80 |
| 81 void MoveMouseWithFlagsTo(int x, int y, ui::EventFlags flags) { | 81 void MoveMouseWithFlagsTo(int x, int y, ui::EventFlags flags) { |
| 82 GetEventGenerator().set_flags(flags); | 82 GetEventGenerator().set_flags(flags); |
| 83 GetEventGenerator().MoveMouseTo(x, y); | 83 GetEventGenerator().MoveMouseTo(x, y); |
| 84 GetEventGenerator().set_flags(ui::EF_NONE); | 84 GetEventGenerator().set_flags(ui::EF_NONE); |
| 85 } | 85 } |
| 86 | 86 |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 aura::test::EventCountDelegate delegate; | 301 aura::test::EventCountDelegate delegate; |
| 302 scoped_ptr<aura::Window> window(CreateTestWindowInShellWithDelegate( | 302 scoped_ptr<aura::Window> window(CreateTestWindowInShellWithDelegate( |
| 303 &delegate, 123, gfx::Rect(50, 50, 100, 100))); | 303 &delegate, 123, gfx::Rect(50, 50, 100, 100))); |
| 304 window->Show(); | 304 window->Show(); |
| 305 events = WaitForMouseEvents(); | 305 events = WaitForMouseEvents(); |
| 306 EXPECT_EQ(0u, events.size()); | 306 EXPECT_EQ(0u, events.size()); |
| 307 EXPECT_EQ("1 1 0", delegate.GetMouseMotionCountsAndReset()); | 307 EXPECT_EQ("1 1 0", delegate.GetMouseMotionCountsAndReset()); |
| 308 } | 308 } |
| 309 | 309 |
| 310 } // namespace ash | 310 } // namespace ash |
| OLD | NEW |