| 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/wm/sticky_keys.h" | 5 #include "ash/sticky_keys/sticky_keys_controller.h" |
| 6 | 6 |
| 7 #include <X11/Xlib.h> | 7 #include <X11/Xlib.h> |
| 8 #undef None | 8 #undef None |
| 9 #undef Bool | 9 #undef Bool |
| 10 #undef RootWindow | 10 #undef RootWindow |
| 11 | 11 |
| 12 #include "ash/shell.h" | 12 #include "ash/shell.h" |
| 13 #include "ash/test/ash_test_base.h" | 13 #include "ash/test/ash_test_base.h" |
| 14 #include "base/bind.h" | 14 #include "base/bind.h" |
| 15 #include "base/callback.h" | 15 #include "base/callback.h" |
| (...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 752 EXPECT_EQ(StickyKeysHandler::DISABLED, sticky_key.current_state()); | 752 EXPECT_EQ(StickyKeysHandler::DISABLED, sticky_key.current_state()); |
| 753 } | 753 } |
| 754 | 754 |
| 755 TEST_F(StickyKeysTest, KeyEventDispatchImpl) { | 755 TEST_F(StickyKeysTest, KeyEventDispatchImpl) { |
| 756 // Test the actual key event dispatch implementation. | 756 // Test the actual key event dispatch implementation. |
| 757 EventBuffer buffer; | 757 EventBuffer buffer; |
| 758 ScopedVector<ui::Event> events; | 758 ScopedVector<ui::Event> events; |
| 759 aura::RootWindowHostDelegate* delegate = Shell::GetPrimaryRootWindow() | 759 aura::RootWindowHostDelegate* delegate = Shell::GetPrimaryRootWindow() |
| 760 ->GetDispatcher()->AsRootWindowHostDelegate(); | 760 ->GetDispatcher()->AsRootWindowHostDelegate(); |
| 761 Shell::GetInstance()->AddPreTargetHandler(&buffer); | 761 Shell::GetInstance()->AddPreTargetHandler(&buffer); |
| 762 Shell::GetInstance()->sticky_keys()->Enable(true); | 762 Shell::GetInstance()->sticky_keys_controller()->Enable(true); |
| 763 | 763 |
| 764 SendActivateStickyKeyPattern(delegate, ui::VKEY_CONTROL); | 764 SendActivateStickyKeyPattern(delegate, ui::VKEY_CONTROL); |
| 765 scoped_ptr<ui::KeyEvent> ev; | 765 scoped_ptr<ui::KeyEvent> ev; |
| 766 buffer.PopEvents(&events); | 766 buffer.PopEvents(&events); |
| 767 | 767 |
| 768 // Test key press event is correctly modified and modifier release | 768 // Test key press event is correctly modified and modifier release |
| 769 // event is sent. | 769 // event is sent. |
| 770 ev.reset(GenerateKey(true, ui::VKEY_C)); | 770 ev.reset(GenerateKey(true, ui::VKEY_C)); |
| 771 delegate->OnHostKeyEvent(ev.get()); | 771 delegate->OnHostKeyEvent(ev.get()); |
| 772 buffer.PopEvents(&events); | 772 buffer.PopEvents(&events); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 791 Shell::GetInstance()->RemovePreTargetHandler(&buffer); | 791 Shell::GetInstance()->RemovePreTargetHandler(&buffer); |
| 792 } | 792 } |
| 793 | 793 |
| 794 TEST_F(StickyKeysTest, MouseEventDispatchImpl) { | 794 TEST_F(StickyKeysTest, MouseEventDispatchImpl) { |
| 795 // Test the actual sticky mouse event dispatch implementation. | 795 // Test the actual sticky mouse event dispatch implementation. |
| 796 EventBuffer buffer; | 796 EventBuffer buffer; |
| 797 ScopedVector<ui::Event> events; | 797 ScopedVector<ui::Event> events; |
| 798 aura::RootWindowHostDelegate* delegate = Shell::GetPrimaryRootWindow() | 798 aura::RootWindowHostDelegate* delegate = Shell::GetPrimaryRootWindow() |
| 799 ->GetDispatcher()->AsRootWindowHostDelegate(); | 799 ->GetDispatcher()->AsRootWindowHostDelegate(); |
| 800 Shell::GetInstance()->AddPreTargetHandler(&buffer); | 800 Shell::GetInstance()->AddPreTargetHandler(&buffer); |
| 801 Shell::GetInstance()->sticky_keys()->Enable(true); | 801 Shell::GetInstance()->sticky_keys_controller()->Enable(true); |
| 802 | 802 |
| 803 scoped_ptr<ui::MouseEvent> ev; | 803 scoped_ptr<ui::MouseEvent> ev; |
| 804 SendActivateStickyKeyPattern(delegate, ui::VKEY_CONTROL); | 804 SendActivateStickyKeyPattern(delegate, ui::VKEY_CONTROL); |
| 805 buffer.PopEvents(&events); | 805 buffer.PopEvents(&events); |
| 806 | 806 |
| 807 // Test mouse press event is correctly modified. | 807 // Test mouse press event is correctly modified. |
| 808 ev.reset(GenerateMouseEvent(true)); | 808 ev.reset(GenerateMouseEvent(true)); |
| 809 delegate->OnHostMouseEvent(ev.get()); | 809 delegate->OnHostMouseEvent(ev.get()); |
| 810 buffer.PopEvents(&events); | 810 buffer.PopEvents(&events); |
| 811 EXPECT_EQ(1u, events.size()); | 811 EXPECT_EQ(1u, events.size()); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 827 Shell::GetInstance()->RemovePreTargetHandler(&buffer); | 827 Shell::GetInstance()->RemovePreTargetHandler(&buffer); |
| 828 } | 828 } |
| 829 | 829 |
| 830 TEST_F(StickyKeysTest, MouseWheelEventDispatchImpl) { | 830 TEST_F(StickyKeysTest, MouseWheelEventDispatchImpl) { |
| 831 // Test the actual mouse wheel event dispatch implementation. | 831 // Test the actual mouse wheel event dispatch implementation. |
| 832 EventBuffer buffer; | 832 EventBuffer buffer; |
| 833 ScopedVector<ui::Event> events; | 833 ScopedVector<ui::Event> events; |
| 834 aura::RootWindowHostDelegate* delegate = Shell::GetPrimaryRootWindow() | 834 aura::RootWindowHostDelegate* delegate = Shell::GetPrimaryRootWindow() |
| 835 ->GetDispatcher()->AsRootWindowHostDelegate(); | 835 ->GetDispatcher()->AsRootWindowHostDelegate(); |
| 836 Shell::GetInstance()->AddPreTargetHandler(&buffer); | 836 Shell::GetInstance()->AddPreTargetHandler(&buffer); |
| 837 Shell::GetInstance()->sticky_keys()->Enable(true); | 837 Shell::GetInstance()->sticky_keys_controller()->Enable(true); |
| 838 | 838 |
| 839 scoped_ptr<ui::MouseWheelEvent> ev; | 839 scoped_ptr<ui::MouseWheelEvent> ev; |
| 840 SendActivateStickyKeyPattern(delegate, ui::VKEY_CONTROL); | 840 SendActivateStickyKeyPattern(delegate, ui::VKEY_CONTROL); |
| 841 buffer.PopEvents(&events); | 841 buffer.PopEvents(&events); |
| 842 | 842 |
| 843 // Test positive mouse wheel event is correctly modified and modifier release | 843 // Test positive mouse wheel event is correctly modified and modifier release |
| 844 // event is sent. | 844 // event is sent. |
| 845 ev.reset(GenerateMouseWheelEvent(ui::MouseWheelEvent::kWheelDelta)); | 845 ev.reset(GenerateMouseWheelEvent(ui::MouseWheelEvent::kWheelDelta)); |
| 846 delegate->OnHostMouseEvent(ev.get()); | 846 delegate->OnHostMouseEvent(ev.get()); |
| 847 buffer.PopEvents(&events); | 847 buffer.PopEvents(&events); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 868 static_cast<ui::MouseWheelEvent*>(events[0])->y_offset()); | 868 static_cast<ui::MouseWheelEvent*>(events[0])->y_offset()); |
| 869 EXPECT_TRUE(events[0]->flags() & ui::EF_CONTROL_DOWN); | 869 EXPECT_TRUE(events[0]->flags() & ui::EF_CONTROL_DOWN); |
| 870 EXPECT_EQ(ui::ET_KEY_RELEASED, events[1]->type()); | 870 EXPECT_EQ(ui::ET_KEY_RELEASED, events[1]->type()); |
| 871 EXPECT_EQ(ui::VKEY_CONTROL, | 871 EXPECT_EQ(ui::VKEY_CONTROL, |
| 872 static_cast<ui::KeyEvent*>(events[1])->key_code()); | 872 static_cast<ui::KeyEvent*>(events[1])->key_code()); |
| 873 | 873 |
| 874 Shell::GetInstance()->RemovePreTargetHandler(&buffer); | 874 Shell::GetInstance()->RemovePreTargetHandler(&buffer); |
| 875 } | 875 } |
| 876 | 876 |
| 877 } // namespace ash | 877 } // namespace ash |
| OLD | NEW |