| 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/sticky_keys/sticky_keys_controller.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 |
| (...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 787 mev.reset(GenerateSynthesizedMouseEvent(false)); | 787 mev.reset(GenerateSynthesizedMouseEvent(false)); |
| 788 sticky_key.HandleMouseEvent(mev.get()); | 788 sticky_key.HandleMouseEvent(mev.get()); |
| 789 EXPECT_TRUE(mev->flags() & ui::EF_CONTROL_DOWN); | 789 EXPECT_TRUE(mev->flags() & ui::EF_CONTROL_DOWN); |
| 790 EXPECT_EQ(STICKY_KEY_STATE_DISABLED, sticky_key.current_state()); | 790 EXPECT_EQ(STICKY_KEY_STATE_DISABLED, sticky_key.current_state()); |
| 791 } | 791 } |
| 792 | 792 |
| 793 TEST_F(StickyKeysTest, KeyEventDispatchImpl) { | 793 TEST_F(StickyKeysTest, KeyEventDispatchImpl) { |
| 794 // Test the actual key event dispatch implementation. | 794 // Test the actual key event dispatch implementation. |
| 795 EventBuffer buffer; | 795 EventBuffer buffer; |
| 796 ScopedVector<ui::Event> events; | 796 ScopedVector<ui::Event> events; |
| 797 aura::WindowEventDispatcher* dispatcher = Shell::GetPrimaryRootWindow() | 797 aura::WindowEventDispatcher* dispatcher = |
| 798 ->GetDispatcher(); | 798 Shell::GetPrimaryRootWindow()->GetHost()->dispatcher(); |
| 799 Shell::GetInstance()->AddPreTargetHandler(&buffer); | 799 Shell::GetInstance()->AddPreTargetHandler(&buffer); |
| 800 Shell::GetInstance()->sticky_keys_controller()->Enable(true); | 800 Shell::GetInstance()->sticky_keys_controller()->Enable(true); |
| 801 | 801 |
| 802 SendActivateStickyKeyPattern(dispatcher, ui::VKEY_CONTROL); | 802 SendActivateStickyKeyPattern(dispatcher, ui::VKEY_CONTROL); |
| 803 scoped_ptr<ui::KeyEvent> ev; | 803 scoped_ptr<ui::KeyEvent> ev; |
| 804 buffer.PopEvents(&events); | 804 buffer.PopEvents(&events); |
| 805 | 805 |
| 806 // Test key press event is correctly modified and modifier release | 806 // Test key press event is correctly modified and modifier release |
| 807 // event is sent. | 807 // event is sent. |
| 808 ev.reset(GenerateKey(true, ui::VKEY_C)); | 808 ev.reset(GenerateKey(true, ui::VKEY_C)); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 827 static_cast<ui::KeyEvent*>(events[0])->key_code()); | 827 static_cast<ui::KeyEvent*>(events[0])->key_code()); |
| 828 EXPECT_FALSE(events[0]->flags() & ui::EF_CONTROL_DOWN); | 828 EXPECT_FALSE(events[0]->flags() & ui::EF_CONTROL_DOWN); |
| 829 | 829 |
| 830 Shell::GetInstance()->RemovePreTargetHandler(&buffer); | 830 Shell::GetInstance()->RemovePreTargetHandler(&buffer); |
| 831 } | 831 } |
| 832 | 832 |
| 833 TEST_F(StickyKeysTest, MouseEventDispatchImpl) { | 833 TEST_F(StickyKeysTest, MouseEventDispatchImpl) { |
| 834 // Test the actual sticky mouse event dispatch implementation. | 834 // Test the actual sticky mouse event dispatch implementation. |
| 835 EventBuffer buffer; | 835 EventBuffer buffer; |
| 836 ScopedVector<ui::Event> events; | 836 ScopedVector<ui::Event> events; |
| 837 aura::WindowEventDispatcher* dispatcher = Shell::GetPrimaryRootWindow() | 837 aura::WindowEventDispatcher* dispatcher = |
| 838 ->GetDispatcher(); | 838 Shell::GetPrimaryRootWindow()->GetHost()->dispatcher(); |
| 839 Shell::GetInstance()->AddPreTargetHandler(&buffer); | 839 Shell::GetInstance()->AddPreTargetHandler(&buffer); |
| 840 Shell::GetInstance()->sticky_keys_controller()->Enable(true); | 840 Shell::GetInstance()->sticky_keys_controller()->Enable(true); |
| 841 | 841 |
| 842 scoped_ptr<ui::MouseEvent> ev; | 842 scoped_ptr<ui::MouseEvent> ev; |
| 843 SendActivateStickyKeyPattern(dispatcher, ui::VKEY_CONTROL); | 843 SendActivateStickyKeyPattern(dispatcher, ui::VKEY_CONTROL); |
| 844 buffer.PopEvents(&events); | 844 buffer.PopEvents(&events); |
| 845 | 845 |
| 846 // Test mouse press event is correctly modified. | 846 // Test mouse press event is correctly modified. |
| 847 ev.reset(GenerateMouseEvent(true)); | 847 ev.reset(GenerateMouseEvent(true)); |
| 848 ui::EventDispatchDetails details = dispatcher->OnEventFromSource(ev.get()); | 848 ui::EventDispatchDetails details = dispatcher->OnEventFromSource(ev.get()); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 864 EXPECT_EQ(ui::VKEY_CONTROL, | 864 EXPECT_EQ(ui::VKEY_CONTROL, |
| 865 static_cast<ui::KeyEvent*>(events[1])->key_code()); | 865 static_cast<ui::KeyEvent*>(events[1])->key_code()); |
| 866 | 866 |
| 867 Shell::GetInstance()->RemovePreTargetHandler(&buffer); | 867 Shell::GetInstance()->RemovePreTargetHandler(&buffer); |
| 868 } | 868 } |
| 869 | 869 |
| 870 TEST_F(StickyKeysTest, MouseWheelEventDispatchImpl) { | 870 TEST_F(StickyKeysTest, MouseWheelEventDispatchImpl) { |
| 871 // Test the actual mouse wheel event dispatch implementation. | 871 // Test the actual mouse wheel event dispatch implementation. |
| 872 EventBuffer buffer; | 872 EventBuffer buffer; |
| 873 ScopedVector<ui::Event> events; | 873 ScopedVector<ui::Event> events; |
| 874 aura::WindowEventDispatcher* dispatcher = Shell::GetPrimaryRootWindow() | 874 aura::WindowEventDispatcher* dispatcher = |
| 875 ->GetDispatcher(); | 875 Shell::GetPrimaryRootWindow()->GetHost()->dispatcher(); |
| 876 Shell::GetInstance()->AddPreTargetHandler(&buffer); | 876 Shell::GetInstance()->AddPreTargetHandler(&buffer); |
| 877 Shell::GetInstance()->sticky_keys_controller()->Enable(true); | 877 Shell::GetInstance()->sticky_keys_controller()->Enable(true); |
| 878 | 878 |
| 879 scoped_ptr<ui::MouseWheelEvent> ev; | 879 scoped_ptr<ui::MouseWheelEvent> ev; |
| 880 SendActivateStickyKeyPattern(dispatcher, ui::VKEY_CONTROL); | 880 SendActivateStickyKeyPattern(dispatcher, ui::VKEY_CONTROL); |
| 881 buffer.PopEvents(&events); | 881 buffer.PopEvents(&events); |
| 882 | 882 |
| 883 // Test positive mouse wheel event is correctly modified and modifier release | 883 // Test positive mouse wheel event is correctly modified and modifier release |
| 884 // event is sent. | 884 // event is sent. |
| 885 ev.reset(GenerateMouseWheelEvent(ui::MouseWheelEvent::kWheelDelta)); | 885 ev.reset(GenerateMouseWheelEvent(ui::MouseWheelEvent::kWheelDelta)); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 910 static_cast<ui::MouseWheelEvent*>(events[0])->y_offset()); | 910 static_cast<ui::MouseWheelEvent*>(events[0])->y_offset()); |
| 911 EXPECT_TRUE(events[0]->flags() & ui::EF_CONTROL_DOWN); | 911 EXPECT_TRUE(events[0]->flags() & ui::EF_CONTROL_DOWN); |
| 912 EXPECT_EQ(ui::ET_KEY_RELEASED, events[1]->type()); | 912 EXPECT_EQ(ui::ET_KEY_RELEASED, events[1]->type()); |
| 913 EXPECT_EQ(ui::VKEY_CONTROL, | 913 EXPECT_EQ(ui::VKEY_CONTROL, |
| 914 static_cast<ui::KeyEvent*>(events[1])->key_code()); | 914 static_cast<ui::KeyEvent*>(events[1])->key_code()); |
| 915 | 915 |
| 916 Shell::GetInstance()->RemovePreTargetHandler(&buffer); | 916 Shell::GetInstance()->RemovePreTargetHandler(&buffer); |
| 917 } | 917 } |
| 918 | 918 |
| 919 } // namespace ash | 919 } // namespace ash |
| OLD | NEW |