OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "chrome/browser/chromeos/events/event_rewriter.h" | 5 #include "chrome/browser/chromeos/events/event_rewriter.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
10 #include "ash/sticky_keys/sticky_keys_controller.h" | 10 #include "ash/sticky_keys/sticky_keys_controller.h" |
(...skipping 1769 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1780 virtual ~EventBuffer() {} | 1780 virtual ~EventBuffer() {} |
1781 | 1781 |
1782 void PopEvents(ScopedVector<ui::Event>* events) { | 1782 void PopEvents(ScopedVector<ui::Event>* events) { |
1783 events->clear(); | 1783 events->clear(); |
1784 events->swap(events_); | 1784 events->swap(events_); |
1785 } | 1785 } |
1786 | 1786 |
1787 private: | 1787 private: |
1788 // ui::EventProcessor overrides: | 1788 // ui::EventProcessor overrides: |
1789 virtual ui::EventDispatchDetails OnEventFromSource( | 1789 virtual ui::EventDispatchDetails OnEventFromSource( |
1790 ui::Event* event) OVERRIDE { | 1790 ui::Event* event) override { |
1791 if (event->IsKeyEvent()) { | 1791 if (event->IsKeyEvent()) { |
1792 events_.push_back(new ui::KeyEvent(*static_cast<ui::KeyEvent*>(event))); | 1792 events_.push_back(new ui::KeyEvent(*static_cast<ui::KeyEvent*>(event))); |
1793 } else if (event->IsMouseWheelEvent()) { | 1793 } else if (event->IsMouseWheelEvent()) { |
1794 events_.push_back( | 1794 events_.push_back( |
1795 new ui::MouseWheelEvent(*static_cast<ui::MouseWheelEvent*>(event))); | 1795 new ui::MouseWheelEvent(*static_cast<ui::MouseWheelEvent*>(event))); |
1796 } else if (event->IsMouseEvent()) { | 1796 } else if (event->IsMouseEvent()) { |
1797 events_.push_back( | 1797 events_.push_back( |
1798 new ui::MouseEvent(*static_cast<ui::MouseEvent*>(event))); | 1798 new ui::MouseEvent(*static_cast<ui::MouseEvent*>(event))); |
1799 } | 1799 } |
1800 return ui::EventDispatchDetails(); | 1800 return ui::EventDispatchDetails(); |
1801 } | 1801 } |
1802 | 1802 |
1803 ScopedVector<ui::Event> events_; | 1803 ScopedVector<ui::Event> events_; |
1804 | 1804 |
1805 DISALLOW_COPY_AND_ASSIGN(EventBuffer); | 1805 DISALLOW_COPY_AND_ASSIGN(EventBuffer); |
1806 }; | 1806 }; |
1807 | 1807 |
1808 // Trivial EventSource that does nothing but send events. | 1808 // Trivial EventSource that does nothing but send events. |
1809 class TestEventSource : public ui::EventSource { | 1809 class TestEventSource : public ui::EventSource { |
1810 public: | 1810 public: |
1811 explicit TestEventSource(ui::EventProcessor* processor) | 1811 explicit TestEventSource(ui::EventProcessor* processor) |
1812 : processor_(processor) {} | 1812 : processor_(processor) {} |
1813 virtual ui::EventProcessor* GetEventProcessor() OVERRIDE { | 1813 virtual ui::EventProcessor* GetEventProcessor() override { |
1814 return processor_; | 1814 return processor_; |
1815 } | 1815 } |
1816 ui::EventDispatchDetails Send(ui::Event* event) { | 1816 ui::EventDispatchDetails Send(ui::Event* event) { |
1817 return SendEventToProcessor(event); | 1817 return SendEventToProcessor(event); |
1818 } | 1818 } |
1819 | 1819 |
1820 private: | 1820 private: |
1821 ui::EventProcessor* processor_; | 1821 ui::EventProcessor* processor_; |
1822 }; | 1822 }; |
1823 | 1823 |
(...skipping 26 matching lines...) Expand all Loading... |
1850 SendKeyEvent(ui::ET_KEY_RELEASED, key_code); | 1850 SendKeyEvent(ui::ET_KEY_RELEASED, key_code); |
1851 } | 1851 } |
1852 | 1852 |
1853 protected: | 1853 protected: |
1854 TestingPrefServiceSyncable* prefs() { return &prefs_; } | 1854 TestingPrefServiceSyncable* prefs() { return &prefs_; } |
1855 | 1855 |
1856 void PopEvents(ScopedVector<ui::Event>* events) { | 1856 void PopEvents(ScopedVector<ui::Event>* events) { |
1857 buffer_.PopEvents(events); | 1857 buffer_.PopEvents(events); |
1858 } | 1858 } |
1859 | 1859 |
1860 virtual void SetUp() OVERRIDE { | 1860 virtual void SetUp() override { |
1861 AshTestBase::SetUp(); | 1861 AshTestBase::SetUp(); |
1862 sticky_keys_controller_ = | 1862 sticky_keys_controller_ = |
1863 ash::Shell::GetInstance()->sticky_keys_controller(); | 1863 ash::Shell::GetInstance()->sticky_keys_controller(); |
1864 rewriter_.reset(new EventRewriter(sticky_keys_controller_)); | 1864 rewriter_.reset(new EventRewriter(sticky_keys_controller_)); |
1865 chromeos::Preferences::RegisterProfilePrefs(prefs_.registry()); | 1865 chromeos::Preferences::RegisterProfilePrefs(prefs_.registry()); |
1866 rewriter_->set_pref_service_for_testing(&prefs_); | 1866 rewriter_->set_pref_service_for_testing(&prefs_); |
1867 #if defined(USE_X11) | 1867 #if defined(USE_X11) |
1868 ui::SetUpTouchPadForTest(kTouchPadDeviceId); | 1868 ui::SetUpTouchPadForTest(kTouchPadDeviceId); |
1869 #endif | 1869 #endif |
1870 source_.AddEventRewriter(rewriter_.get()); | 1870 source_.AddEventRewriter(rewriter_.get()); |
1871 sticky_keys_controller_->Enable(true); | 1871 sticky_keys_controller_->Enable(true); |
1872 } | 1872 } |
1873 | 1873 |
1874 virtual void TearDown() OVERRIDE { | 1874 virtual void TearDown() override { |
1875 rewriter_.reset(); | 1875 rewriter_.reset(); |
1876 AshTestBase::TearDown(); | 1876 AshTestBase::TearDown(); |
1877 } | 1877 } |
1878 | 1878 |
1879 protected: | 1879 protected: |
1880 ash::StickyKeysController* sticky_keys_controller_; | 1880 ash::StickyKeysController* sticky_keys_controller_; |
1881 | 1881 |
1882 private: | 1882 private: |
1883 scoped_ptr<EventRewriter> rewriter_; | 1883 scoped_ptr<EventRewriter> rewriter_; |
1884 | 1884 |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2304 EXPECT_EQ(ui::VKEY_CONTROL, | 2304 EXPECT_EQ(ui::VKEY_CONTROL, |
2305 static_cast<ui::KeyEvent*>(events[1])->key_code()); | 2305 static_cast<ui::KeyEvent*>(events[1])->key_code()); |
2306 } | 2306 } |
2307 | 2307 |
2308 class StickyKeysOverlayTest : public EventRewriterAshTest { | 2308 class StickyKeysOverlayTest : public EventRewriterAshTest { |
2309 public: | 2309 public: |
2310 StickyKeysOverlayTest() : overlay_(NULL) {} | 2310 StickyKeysOverlayTest() : overlay_(NULL) {} |
2311 | 2311 |
2312 virtual ~StickyKeysOverlayTest() {} | 2312 virtual ~StickyKeysOverlayTest() {} |
2313 | 2313 |
2314 virtual void SetUp() OVERRIDE { | 2314 virtual void SetUp() override { |
2315 EventRewriterAshTest::SetUp(); | 2315 EventRewriterAshTest::SetUp(); |
2316 overlay_ = sticky_keys_controller_->GetOverlayForTest(); | 2316 overlay_ = sticky_keys_controller_->GetOverlayForTest(); |
2317 ASSERT_TRUE(overlay_); | 2317 ASSERT_TRUE(overlay_); |
2318 } | 2318 } |
2319 | 2319 |
2320 ash::StickyKeysOverlay* overlay_; | 2320 ash::StickyKeysOverlay* overlay_; |
2321 }; | 2321 }; |
2322 | 2322 |
2323 TEST_F(StickyKeysOverlayTest, OneModifierEnabled) { | 2323 TEST_F(StickyKeysOverlayTest, OneModifierEnabled) { |
2324 EXPECT_FALSE(overlay_->is_visible()); | 2324 EXPECT_FALSE(overlay_->is_visible()); |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2478 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); | 2478 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); |
2479 EXPECT_TRUE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); | 2479 EXPECT_TRUE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); |
2480 | 2480 |
2481 // Turn off AltGr and Mod3. | 2481 // Turn off AltGr and Mod3. |
2482 sticky_keys_controller_->SetModifiersEnabled(false, false); | 2482 sticky_keys_controller_->SetModifiersEnabled(false, false); |
2483 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); | 2483 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); |
2484 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); | 2484 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); |
2485 } | 2485 } |
2486 | 2486 |
2487 } // namespace chromeos | 2487 } // namespace chromeos |
OLD | NEW |