| 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 |