Index: chrome/browser/chromeos/events/event_rewriter_unittest.cc |
diff --git a/chrome/browser/chromeos/events/event_rewriter_unittest.cc b/chrome/browser/chromeos/events/event_rewriter_unittest.cc |
index da755cd7587280625362d8967b965ae83df5d8df..85dfbf1cbbea425b27dee2f5a17f7d9855e39ae0 100644 |
--- a/chrome/browser/chromeos/events/event_rewriter_unittest.cc |
+++ b/chrome/browser/chromeos/events/event_rewriter_unittest.cc |
@@ -2,8 +2,6 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/chromeos/events/event_rewriter.h" |
- |
#include <vector> |
#include "ash/common/wm/window_state.h" |
@@ -15,6 +13,7 @@ |
#include "base/command_line.h" |
#include "base/macros.h" |
#include "base/strings/stringprintf.h" |
+#include "chrome/browser/chromeos/events/event_rewriter_delegate_impl.h" |
#include "chrome/browser/chromeos/input_method/input_method_configuration.h" |
#include "chrome/browser/chromeos/input_method/mock_input_method_manager_impl.h" |
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h" |
@@ -28,6 +27,8 @@ |
#include "ui/aura/window.h" |
#include "ui/aura/window_tree_host.h" |
#include "ui/base/ime/chromeos/fake_ime_keyboard.h" |
+#include "ui/chromeos/events/event_rewriter.h" |
+#include "ui/chromeos/pref_names.h" |
#include "ui/events/event.h" |
#include "ui/events/event_rewriter.h" |
#include "ui/events/event_utils.h" |
@@ -71,12 +72,13 @@ std::string GetKeyEventAsString(const ui::KeyEvent& keyevent) { |
keyevent.GetDomKey()); |
} |
-std::string GetRewrittenEventAsString(chromeos::EventRewriter* rewriter, |
- ui::EventType ui_type, |
- ui::KeyboardCode ui_keycode, |
- ui::DomCode code, |
- int ui_flags, // ui::EventFlags |
- ui::DomKey key) { |
+std::string GetRewrittenEventAsString( |
+ const std::unique_ptr<ui::chromeos::EventRewriter>& rewriter, |
+ ui::EventType ui_type, |
+ ui::KeyboardCode ui_keycode, |
+ ui::DomCode code, |
+ int ui_flags, // ui::EventFlags |
+ ui::DomKey key) { |
const ui::KeyEvent event(ui_type, ui_keycode, code, ui_flags, key, |
ui::EventTimeForNow()); |
std::unique_ptr<ui::Event> new_event; |
@@ -104,8 +106,9 @@ std::string GetTestCaseAsString(ui::EventType ui_type, |
} |
// Tests a single stateless key rewrite operation. |
-void CheckKeyTestCase(chromeos::EventRewriter* rewriter, |
- const KeyTestCase& test) { |
+void CheckKeyTestCase( |
+ const std::unique_ptr<ui::chromeos::EventRewriter>& rewriter, |
+ const KeyTestCase& test) { |
SCOPED_TRACE("\nSource: " + GetTestCaseAsString(test.type, test.input)); |
std::string expected = GetTestCaseAsString(test.type, test.expected); |
EXPECT_EQ(expected, GetRewrittenEventAsString( |
@@ -128,7 +131,10 @@ class EventRewriterTest : public ash::test::AshTestBase { |
input_method_manager_mock_ = new input_method::MockInputMethodManagerImpl; |
chromeos::input_method::InitializeForTesting( |
input_method_manager_mock_); // pass ownership |
- |
+ delegate_ = base::MakeUnique<EventRewriterDelegateImpl>(); |
+ delegate_->set_pref_service_for_testing(prefs()); |
+ rewriter_ = |
+ base::MakeUnique<ui::chromeos::EventRewriter>(delegate_.get(), nullptr); |
AshTestBase::SetUp(); |
} |
@@ -143,25 +149,27 @@ class EventRewriterTest : public ash::test::AshTestBase { |
void TestRewriteNumPadKeysOnAppleKeyboard(); |
const ui::MouseEvent* RewriteMouseButtonEvent( |
- chromeos::EventRewriter* rewriter, |
const ui::MouseEvent& event, |
std::unique_ptr<ui::Event>* new_event) { |
- rewriter->RewriteMouseButtonEventForTesting(event, new_event); |
+ rewriter_->RewriteMouseButtonEventForTesting(event, new_event); |
return *new_event ? new_event->get()->AsMouseEvent() : &event; |
} |
+ sync_preferences::TestingPrefServiceSyncable* prefs() { return &prefs_; } |
+ |
FakeChromeUserManager* fake_user_manager_; // Not owned. |
ScopedUserManagerEnabler user_manager_enabler_; |
input_method::MockInputMethodManagerImpl* input_method_manager_mock_; |
+ |
+ sync_preferences::TestingPrefServiceSyncable prefs_; |
+ std::unique_ptr<EventRewriterDelegateImpl> delegate_; |
+ std::unique_ptr<ui::chromeos::EventRewriter> rewriter_; |
}; |
TEST_F(EventRewriterTest, TestRewriteCommandToControl) { |
// First, test with a PC keyboard. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
+ rewriter_->set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
KeyTestCase pc_keyboard_tests[] = { |
// VKEY_A, Alt modifier. |
@@ -200,13 +208,12 @@ TEST_F(EventRewriterTest, TestRewriteCommandToControl) { |
ui::EF_ALT_DOWN | ui::EF_COMMAND_DOWN, ui::DomKey::META}}, |
}; |
- for (const auto& test : pc_keyboard_tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : pc_keyboard_tests) |
+ CheckKeyTestCase(rewriter_, test); |
// An Apple keyboard reusing the ID, zero. |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "Apple Keyboard"); |
- rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "Apple Keyboard"); |
+ rewriter_->set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
KeyTestCase apple_keyboard_tests[] = { |
// VKEY_A, Alt modifier. |
@@ -245,24 +252,20 @@ TEST_F(EventRewriterTest, TestRewriteCommandToControl) { |
ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ui::DomKey::CONTROL}}, |
}; |
- for (const auto& test : apple_keyboard_tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : apple_keyboard_tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
// For crbug.com/133896. |
TEST_F(EventRewriterTest, TestRewriteCommandToControlWithControlRemapped) { |
// Remap Control to Alt. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
IntegerPrefMember control; |
- control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); |
+ control.Init(prefs::kLanguageRemapControlKeyTo, prefs()); |
control.SetValue(chromeos::input_method::kAltKey); |
- EventRewriter rewriter(NULL); |
- rewriter.set_pref_service_for_testing(&prefs); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
+ rewriter_->set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
KeyTestCase pc_keyboard_tests[] = { |
// Control should be remapped to Alt. |
@@ -273,13 +276,12 @@ TEST_F(EventRewriterTest, TestRewriteCommandToControlWithControlRemapped) { |
ui::DomKey::ALT}}, |
}; |
- for (const auto& test : pc_keyboard_tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : pc_keyboard_tests) |
+ CheckKeyTestCase(rewriter_, test); |
// An Apple keyboard reusing the ID, zero. |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "Apple Keyboard"); |
- rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "Apple Keyboard"); |
+ rewriter_->set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
KeyTestCase apple_keyboard_tests[] = { |
// VKEY_LWIN (left Command key) with Alt modifier. The remapped Command |
@@ -299,17 +301,13 @@ TEST_F(EventRewriterTest, TestRewriteCommandToControlWithControlRemapped) { |
ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, ui::DomKey::CONTROL}}, |
}; |
- for (const auto& test : apple_keyboard_tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : apple_keyboard_tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
void EventRewriterTest::TestRewriteNumPadKeys() { |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
+ rewriter_->set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
KeyTestCase tests[] = { |
// XK_KP_Insert (= NumPad 0 without Num Lock), no modifier. |
@@ -476,9 +474,8 @@ void EventRewriterTest::TestRewriteNumPadKeys() { |
ui::DomKey::Constant<'9'>::Character}}, |
}; |
- for (const auto& test : tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteNumPadKeys) { |
@@ -494,11 +491,8 @@ TEST_F(EventRewriterTest, TestRewriteNumPadKeysWithDiamondKeyFlag) { |
// Tests if the rewriter can handle a Command + Num Pad event. |
void EventRewriterTest::TestRewriteNumPadKeysOnAppleKeyboard() { |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "Apple Keyboard"); |
- rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "Apple Keyboard"); |
+ rewriter_->set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
KeyTestCase tests[] = { |
// XK_KP_End (= NumPad 1 without Num Lock), Win modifier. |
@@ -518,9 +512,8 @@ void EventRewriterTest::TestRewriteNumPadKeysOnAppleKeyboard() { |
{ui::VKEY_NUMPAD1, ui::DomCode::NUMPAD1, ui::EF_CONTROL_DOWN, |
ui::DomKey::Constant<'1'>::Character}}}; |
- for (const auto& test : tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteNumPadKeysOnAppleKeyboard) { |
@@ -539,10 +532,7 @@ TEST_F(EventRewriterTest, |
} |
TEST_F(EventRewriterTest, TestRewriteModifiersNoRemap) { |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
KeyTestCase tests[] = { |
// Press Search. Confirm the event is not rewritten. |
@@ -584,16 +574,12 @@ TEST_F(EventRewriterTest, TestRewriteModifiersNoRemap) { |
{ui::VKEY_LWIN, ui::DomCode::META_LEFT, ui::EF_NONE, ui::DomKey::META}}, |
}; |
- for (const auto& test : tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteModifiersNoRemapMultipleKeys) { |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
KeyTestCase tests[] = { |
// Press Alt with Shift. Confirm the event is not rewritten. |
@@ -647,28 +633,24 @@ TEST_F(EventRewriterTest, TestRewriteModifiersNoRemapMultipleKeys) { |
ui::DomKey::Constant<'B'>::Character}}, |
}; |
- for (const auto& test : tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteModifiersDisableSome) { |
// Disable Search, Control and Escape keys. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
IntegerPrefMember search; |
- search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); |
+ search.Init(prefs::kLanguageRemapSearchKeyTo, prefs()); |
search.SetValue(chromeos::input_method::kVoidKey); |
IntegerPrefMember control; |
- control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); |
+ control.Init(prefs::kLanguageRemapControlKeyTo, prefs()); |
control.SetValue(chromeos::input_method::kVoidKey); |
IntegerPrefMember escape; |
- escape.Init(prefs::kLanguageRemapEscapeKeyTo, &prefs); |
+ escape.Init(prefs::kLanguageRemapEscapeKeyTo, prefs()); |
escape.SetValue(chromeos::input_method::kVoidKey); |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
KeyTestCase disabled_modifier_tests[] = { |
// Press Alt with Shift. This key press shouldn't be affected by the |
@@ -723,13 +705,12 @@ TEST_F(EventRewriterTest, TestRewriteModifiersDisableSome) { |
ui::DomKey::Constant<'a'>::Character}}, |
}; |
- for (const auto& test : disabled_modifier_tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : disabled_modifier_tests) |
+ CheckKeyTestCase(rewriter_, test); |
// Remap Alt to Control. |
IntegerPrefMember alt; |
- alt.Init(prefs::kLanguageRemapAltKeyTo, &prefs); |
+ alt.Init(prefs::kLanguageRemapAltKeyTo, prefs()); |
alt.SetValue(chromeos::input_method::kControlKey); |
KeyTestCase tests[] = { |
@@ -749,22 +730,18 @@ TEST_F(EventRewriterTest, TestRewriteModifiersDisableSome) { |
ui::DomKey::Constant<'a'>::Character}}, |
}; |
- for (const auto& test : tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteModifiersRemapToControl) { |
// Remap Search to Control. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
IntegerPrefMember search; |
- search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); |
+ search.Init(prefs::kLanguageRemapSearchKeyTo, prefs()); |
search.SetValue(chromeos::input_method::kControlKey); |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
KeyTestCase s_tests[] = { |
// Press Search. Confirm the event is now VKEY_CONTROL. |
@@ -775,13 +752,12 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToControl) { |
ui::DomKey::CONTROL}}, |
}; |
- for (const auto& test : s_tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : s_tests) |
+ CheckKeyTestCase(rewriter_, test); |
// Remap Alt to Control too. |
IntegerPrefMember alt; |
- alt.Init(prefs::kLanguageRemapAltKeyTo, &prefs); |
+ alt.Init(prefs::kLanguageRemapAltKeyTo, prefs()); |
alt.SetValue(chromeos::input_method::kControlKey); |
KeyTestCase sa_tests[] = { |
@@ -827,22 +803,18 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToControl) { |
ui::DomKey::Constant<'B'>::Character}}, |
}; |
- for (const auto& test : sa_tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : sa_tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteModifiersRemapToEscape) { |
// Remap Search to Escape. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
IntegerPrefMember search; |
- search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); |
+ search.Init(prefs::kLanguageRemapSearchKeyTo, prefs()); |
search.SetValue(chromeos::input_method::kEscapeKey); |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
KeyTestCase tests[] = { |
// Press Search. Confirm the event is now VKEY_ESCAPE. |
@@ -852,22 +824,18 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToEscape) { |
{ui::VKEY_ESCAPE, ui::DomCode::ESCAPE, ui::EF_NONE, ui::DomKey::ESCAPE}}, |
}; |
- for (const auto& test : tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) { |
// Remap Escape to Alt. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
IntegerPrefMember escape; |
- escape.Init(prefs::kLanguageRemapEscapeKeyTo, &prefs); |
+ escape.Init(prefs::kLanguageRemapEscapeKeyTo, prefs()); |
escape.SetValue(chromeos::input_method::kAltKey); |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
KeyTestCase e2a_tests[] = { |
// Press Escape. Confirm the event is now VKEY_MENU. |
@@ -881,13 +849,12 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) { |
{ui::VKEY_MENU, ui::DomCode::ALT_LEFT, ui::EF_NONE, ui::DomKey::ALT}}, |
}; |
- for (const auto& test : e2a_tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : e2a_tests) |
+ CheckKeyTestCase(rewriter_, test); |
// Remap Alt to Control. |
IntegerPrefMember alt; |
- alt.Init(prefs::kLanguageRemapAltKeyTo, &prefs); |
+ alt.Init(prefs::kLanguageRemapAltKeyTo, prefs()); |
alt.SetValue(chromeos::input_method::kControlKey); |
KeyTestCase a2c_tests[] = { |
@@ -912,13 +879,12 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) { |
ui::DomKey::Constant<'('>::Character}}, |
}; |
- for (const auto& test : a2c_tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : a2c_tests) |
+ CheckKeyTestCase(rewriter_, test); |
// Remap Control to Search. |
IntegerPrefMember control; |
- control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); |
+ control.Init(prefs::kLanguageRemapControlKeyTo, prefs()); |
control.SetValue(chromeos::input_method::kSearchKey); |
KeyTestCase c2s_tests[] = { |
@@ -958,13 +924,12 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) { |
ui::DomKey::Constant<'B'>::Character}}, |
}; |
- for (const auto& test : c2s_tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : c2s_tests) |
+ CheckKeyTestCase(rewriter_, test); |
// Remap Search to Backspace. |
IntegerPrefMember search; |
- search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); |
+ search.Init(prefs::kLanguageRemapSearchKeyTo, prefs()); |
search.SetValue(chromeos::input_method::kBackspaceKey); |
KeyTestCase s2b_tests[] = { |
@@ -986,13 +951,12 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) { |
ui::DomKey::BACKSPACE}}, |
}; |
- for (const auto& test : s2b_tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : s2b_tests) |
+ CheckKeyTestCase(rewriter_, test); |
// Remap Backspace to Escape. |
IntegerPrefMember backspace; |
- backspace.Init(prefs::kLanguageRemapBackspaceKeyTo, &prefs); |
+ backspace.Init(prefs::kLanguageRemapBackspaceKeyTo, prefs()); |
backspace.SetValue(chromeos::input_method::kEscapeKey); |
KeyTestCase b2e_tests[] = { |
@@ -1003,31 +967,27 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) { |
{ui::VKEY_ESCAPE, ui::DomCode::ESCAPE, ui::EF_NONE, ui::DomKey::ESCAPE}}, |
}; |
- for (const auto& test : b2e_tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : b2e_tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) { |
// Remap Search to Caps Lock. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
IntegerPrefMember search; |
- search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); |
+ search.Init(prefs::kLanguageRemapSearchKeyTo, prefs()); |
search.SetValue(chromeos::input_method::kCapsLockKey); |
chromeos::input_method::FakeImeKeyboard ime_keyboard; |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
- rewriter.set_ime_keyboard_for_testing(&ime_keyboard); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
+ rewriter_->set_ime_keyboard_for_testing(&ime_keyboard); |
EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_); |
// Press Search. |
EXPECT_EQ(GetExpectedResultAsString( |
ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK, |
ui::EF_MOD3_DOWN | ui::EF_CAPS_LOCK_ON, ui::DomKey::CAPS_LOCK), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, |
ui::VKEY_LWIN, ui::DomCode::META_LEFT, |
ui::EF_COMMAND_DOWN, ui::DomKey::META)); |
// Confirm that the Caps Lock status is changed. |
@@ -1037,7 +997,7 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) { |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CAPITAL, |
ui::DomCode::CAPS_LOCK, ui::EF_NONE, |
ui::DomKey::CAPS_LOCK), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_RELEASED, |
ui::VKEY_LWIN, ui::DomCode::META_LEFT, |
ui::EF_NONE, ui::DomKey::META)); |
// Confirm that the Caps Lock status is not changed. |
@@ -1047,7 +1007,7 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) { |
EXPECT_EQ(GetExpectedResultAsString( |
ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK, |
ui::EF_CAPS_LOCK_ON | ui::EF_MOD3_DOWN, ui::DomKey::CAPS_LOCK), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, |
ui::VKEY_LWIN, ui::DomCode::META_LEFT, |
ui::EF_COMMAND_DOWN | ui::EF_CAPS_LOCK_ON, |
ui::DomKey::META)); |
@@ -1058,7 +1018,7 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) { |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CAPITAL, |
ui::DomCode::CAPS_LOCK, ui::EF_NONE, |
ui::DomKey::CAPS_LOCK), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_RELEASED, |
ui::VKEY_LWIN, ui::DomCode::META_LEFT, |
ui::EF_NONE, ui::DomKey::META)); |
// Confirm that the Caps Lock status is not changed. |
@@ -1068,7 +1028,7 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) { |
EXPECT_EQ(GetExpectedResultAsString( |
ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK, |
ui::EF_CAPS_LOCK_ON | ui::EF_MOD3_DOWN, ui::DomKey::CAPS_LOCK), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, |
ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK, |
ui::EF_CAPS_LOCK_ON | ui::EF_MOD3_DOWN, |
ui::DomKey::CAPS_LOCK)); |
@@ -1089,7 +1049,7 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) { |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CAPITAL, |
ui::DomCode::CAPS_LOCK, ui::EF_NONE, |
ui::DomKey::CAPS_LOCK), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_RELEASED, |
ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK, |
ui::EF_NONE, ui::DomKey::CAPS_LOCK)); |
#if defined(USE_X11) |
@@ -1100,35 +1060,29 @@ TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) { |
} |
TEST_F(EventRewriterTest, TestRewriteCapsLock) { |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
chromeos::input_method::FakeImeKeyboard ime_keyboard; |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
- rewriter.set_ime_keyboard_for_testing(&ime_keyboard); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
+ rewriter_->set_ime_keyboard_for_testing(&ime_keyboard); |
EXPECT_FALSE(ime_keyboard.caps_lock_is_enabled_); |
// On Chrome OS, CapsLock is mapped to F16 with Mod3Mask. |
EXPECT_EQ(GetExpectedResultAsString( |
ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK, |
ui::EF_CAPS_LOCK_ON | ui::EF_MOD3_DOWN, ui::DomKey::CAPS_LOCK), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, |
ui::VKEY_F16, ui::DomCode::F16, |
ui::EF_MOD3_DOWN, ui::DomKey::F16)); |
EXPECT_TRUE(ime_keyboard.caps_lock_is_enabled_); |
} |
TEST_F(EventRewriterTest, TestRewriteDiamondKey) { |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
chromeos::input_method::FakeImeKeyboard ime_keyboard; |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
- rewriter.set_ime_keyboard_for_testing(&ime_keyboard); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
+ rewriter_->set_ime_keyboard_for_testing(&ime_keyboard); |
KeyTestCase tests[] = { |
// F15 should work as Ctrl when --has-chromeos-diamond-key is not |
@@ -1152,9 +1106,8 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKey) { |
ui::DomKey::Constant<'a'>::Character}}, |
}; |
- for (const auto& test : tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) { |
@@ -1162,59 +1115,56 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) { |
base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
chromeos::switches::kHasChromeOSDiamondKey, ""); |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
chromeos::input_method::FakeImeKeyboard ime_keyboard; |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
- rewriter.set_ime_keyboard_for_testing(&ime_keyboard); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
+ rewriter_->set_ime_keyboard_for_testing(&ime_keyboard); |
// By default, F15 should work as Control. |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_CONTROL, |
ui::DomCode::CONTROL_LEFT, |
ui::EF_CONTROL_DOWN, ui::DomKey::CONTROL), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, |
ui::VKEY_F15, ui::DomCode::F15, |
ui::EF_NONE, ui::DomKey::F15)); |
// Check that Control is applied to a subsequent key press. |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_CONTROL_DOWN, |
ui::DomKey::Constant<'a'>::Character), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character)); |
// Release F15 |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CONTROL, |
ui::DomCode::CONTROL_LEFT, ui::EF_NONE, |
ui::DomKey::CONTROL), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_RELEASED, |
ui::VKEY_F15, ui::DomCode::F15, |
ui::EF_NONE, ui::DomKey::F15)); |
// Check that Control is no longer applied to a subsequent key press. |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character)); |
IntegerPrefMember diamond; |
- diamond.Init(prefs::kLanguageRemapDiamondKeyTo, &prefs); |
+ diamond.Init(prefs::kLanguageRemapDiamondKeyTo, prefs()); |
diamond.SetValue(chromeos::input_method::kVoidKey); |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_UNKNOWN, |
ui::DomCode::NONE, ui::EF_NONE, |
ui::DomKey::UNIDENTIFIED), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, |
ui::VKEY_F15, ui::DomCode::F15, |
ui::EF_NONE, ui::DomKey::F15)); |
// Check that no modifier is applied to another key. |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character)); |
@@ -1223,28 +1173,28 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) { |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_CONTROL, |
ui::DomCode::CONTROL_LEFT, |
ui::EF_CONTROL_DOWN, ui::DomKey::CONTROL), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, |
ui::VKEY_F15, ui::DomCode::F15, |
ui::EF_NONE, ui::DomKey::F15)); |
// Check that Control is applied to a subsequent key press. |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_CONTROL_DOWN, |
ui::DomKey::Constant<'a'>::Character), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character)); |
// Release F15 |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CONTROL, |
ui::DomCode::CONTROL_LEFT, ui::EF_NONE, |
ui::DomKey::CONTROL), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_RELEASED, |
ui::VKEY_F15, ui::DomCode::F15, |
ui::EF_NONE, ui::DomKey::F15)); |
// Check that Control is no longer applied to a subsequent key press. |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character)); |
@@ -1253,28 +1203,28 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) { |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_MENU, |
ui::DomCode::ALT_LEFT, ui::EF_ALT_DOWN, |
ui::DomKey::ALT), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, |
ui::VKEY_F15, ui::DomCode::F15, |
ui::EF_NONE, ui::DomKey::F15)); |
// Check that Alt is applied to a subsequent key press. |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_ALT_DOWN, |
ui::DomKey::Constant<'a'>::Character), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character)); |
// Release F15 |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_MENU, |
ui::DomCode::ALT_LEFT, ui::EF_NONE, |
ui::DomKey::ALT), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_RELEASED, |
ui::VKEY_F15, ui::DomCode::F15, |
ui::EF_NONE, ui::DomKey::F15)); |
// Check that Alt is no longer applied to a subsequent key press. |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character)); |
@@ -1283,7 +1233,7 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) { |
EXPECT_EQ(GetExpectedResultAsString( |
ui::ET_KEY_PRESSED, ui::VKEY_CAPITAL, ui::DomCode::CAPS_LOCK, |
ui::EF_CAPS_LOCK_ON | ui::EF_MOD3_DOWN, ui::DomKey::CAPS_LOCK), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, |
ui::VKEY_F15, ui::DomCode::F15, |
ui::EF_NONE, ui::DomKey::F15)); |
// Check that Caps is applied to a subsequent key press. |
@@ -1291,21 +1241,21 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) { |
ui::DomCode::US_A, |
ui::EF_CAPS_LOCK_ON | ui::EF_MOD3_DOWN, |
ui::DomKey::Constant<'A'>::Character), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character)); |
// Release F15 |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_RELEASED, ui::VKEY_CAPITAL, |
ui::DomCode::CAPS_LOCK, ui::EF_NONE, |
ui::DomKey::CAPS_LOCK), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_RELEASED, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_RELEASED, |
ui::VKEY_F15, ui::DomCode::F15, |
ui::EF_NONE, ui::DomKey::F15)); |
// Check that Control is no longer applied to a subsequent key press. |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character)); |
@@ -1314,15 +1264,12 @@ TEST_F(EventRewriterTest, TestRewriteDiamondKeyWithFlag) { |
TEST_F(EventRewriterTest, TestRewriteCapsLockToControl) { |
// Remap CapsLock to Control. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
IntegerPrefMember control; |
- control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs); |
+ control.Init(prefs::kLanguageRemapCapsLockKeyTo, prefs()); |
control.SetValue(chromeos::input_method::kControlKey); |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
KeyTestCase tests[] = { |
// Press CapsLock+a. Confirm that Mod3Mask is rewritten to ControlMask. |
@@ -1350,22 +1297,18 @@ TEST_F(EventRewriterTest, TestRewriteCapsLockToControl) { |
ui::DomKey::Constant<'a'>::Character}}, |
}; |
- for (const auto& test : tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteCapsLockMod3InUse) { |
// Remap CapsLock to Control. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
IntegerPrefMember control; |
- control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs); |
+ control.Init(prefs::kLanguageRemapCapsLockKeyTo, prefs()); |
control.SetValue(chromeos::input_method::kControlKey); |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
input_method_manager_mock_->set_mod3_used(true); |
// Press CapsLock+a. Confirm that Mod3Mask is NOT rewritten to ControlMask |
@@ -1373,7 +1316,7 @@ TEST_F(EventRewriterTest, TestRewriteCapsLockMod3InUse) { |
EXPECT_EQ(GetExpectedResultAsString(ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character), |
- GetRewrittenEventAsString(&rewriter, ui::ET_KEY_PRESSED, ui::VKEY_A, |
+ GetRewrittenEventAsString(rewriter_, ui::ET_KEY_PRESSED, ui::VKEY_A, |
ui::DomCode::US_A, ui::EF_NONE, |
ui::DomKey::Constant<'a'>::Character)); |
@@ -1381,12 +1324,9 @@ TEST_F(EventRewriterTest, TestRewriteCapsLockMod3InUse) { |
} |
TEST_F(EventRewriterTest, TestRewriteExtendedKeys) { |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
+ rewriter_->set_last_keyboard_device_id_for_testing(kKeyboardDeviceId); |
KeyTestCase tests[] = { |
// Alt+Backspace -> Delete |
@@ -1521,17 +1461,13 @@ TEST_F(EventRewriterTest, TestRewriteExtendedKeys) { |
{ui::VKEY_INSERT, ui::DomCode::INSERT, ui::EF_CONTROL_DOWN, |
ui::DomKey::INSERT}}}; |
- for (const auto& test : tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteFunctionKeys) { |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
KeyTestCase tests[] = { |
// F1 -> Back |
@@ -1836,22 +1772,18 @@ TEST_F(EventRewriterTest, TestRewriteFunctionKeys) { |
{ui::VKEY_F12, ui::DomCode::F12, ui::EF_COMMAND_DOWN, ui::DomKey::F12}, |
{ui::VKEY_F12, ui::DomCode::F12, ui::EF_NONE, ui::DomKey::F12}}}; |
- for (const auto& test : tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteExtendedKeysWithSearchRemapped) { |
// Remap Search to Control. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
IntegerPrefMember search; |
- search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); |
+ search.Init(prefs::kLanguageRemapSearchKeyTo, prefs()); |
search.SetValue(chromeos::input_method::kControlKey); |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
KeyTestCase tests[] = { |
// Alt+Search+Down -> End |
@@ -1868,22 +1800,18 @@ TEST_F(EventRewriterTest, TestRewriteExtendedKeysWithSearchRemapped) { |
{ui::VKEY_END, ui::DomCode::END, ui::EF_SHIFT_DOWN, ui::DomKey::END}}, |
}; |
- for (const auto& test : tests) { |
- CheckKeyTestCase(&rewriter, test); |
- } |
+ for (const auto& test : tests) |
+ CheckKeyTestCase(rewriter_, test); |
} |
TEST_F(EventRewriterTest, TestRewriteKeyEventSentByXSendEvent) { |
// Remap Control to Alt. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
IntegerPrefMember control; |
- control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); |
+ control.Init(prefs::kLanguageRemapControlKeyTo, prefs()); |
control.SetValue(chromeos::input_method::kAltKey); |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
// Send left control press. |
{ |
@@ -1893,7 +1821,7 @@ TEST_F(EventRewriterTest, TestRewriteKeyEventSentByXSendEvent) { |
std::unique_ptr<ui::Event> new_event; |
// Control should NOT be remapped to Alt if EF_FINAL is set. |
EXPECT_EQ(ui::EVENT_REWRITE_CONTINUE, |
- rewriter.RewriteEvent(keyevent, &new_event)); |
+ rewriter_->RewriteEvent(keyevent, &new_event)); |
EXPECT_FALSE(new_event); |
} |
#if defined(USE_X11) |
@@ -1909,7 +1837,7 @@ TEST_F(EventRewriterTest, TestRewriteKeyEventSentByXSendEvent) { |
// Control should NOT be remapped to Alt if send_event |
// flag in the event is True. |
EXPECT_EQ(ui::EVENT_REWRITE_CONTINUE, |
- rewriter.RewriteEvent(keyevent, &new_event)); |
+ rewriter_->RewriteEvent(keyevent, &new_event)); |
EXPECT_FALSE(new_event); |
} |
#endif |
@@ -1917,15 +1845,12 @@ TEST_F(EventRewriterTest, TestRewriteKeyEventSentByXSendEvent) { |
TEST_F(EventRewriterTest, TestRewriteNonNativeEvent) { |
// Remap Control to Alt. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
IntegerPrefMember control; |
- control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); |
+ control.Init(prefs::kLanguageRemapControlKeyTo, prefs()); |
control.SetValue(chromeos::input_method::kAltKey); |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
const int kTouchId = 2; |
gfx::Point location(0, 0); |
@@ -1937,7 +1862,7 @@ TEST_F(EventRewriterTest, TestRewriteNonNativeEvent) { |
#endif |
std::unique_ptr<ui::Event> new_event; |
- rewriter.RewriteEvent(press, &new_event); |
+ rewriter_->RewriteEvent(press, &new_event); |
EXPECT_TRUE(new_event); |
// Control should be remapped to Alt. |
EXPECT_EQ(ui::EF_ALT_DOWN, |
@@ -2025,9 +1950,11 @@ class EventRewriterAshTest : public ash::test::AshTestBase { |
AshTestBase::SetUp(); |
sticky_keys_controller_ = |
ash::Shell::GetInstance()->sticky_keys_controller(); |
- rewriter_.reset(new EventRewriter(sticky_keys_controller_)); |
+ delegate_ = base::MakeUnique<EventRewriterDelegateImpl>(); |
+ delegate_->set_pref_service_for_testing(prefs()); |
+ rewriter_ = base::MakeUnique<ui::chromeos::EventRewriter>( |
+ delegate_.get(), sticky_keys_controller_); |
chromeos::Preferences::RegisterProfilePrefs(prefs_.registry()); |
- rewriter_->set_pref_service_for_testing(&prefs_); |
#if defined(USE_X11) |
ui::SetUpTouchPadForTest(kTouchPadDeviceId); |
#endif |
@@ -2044,7 +1971,8 @@ class EventRewriterAshTest : public ash::test::AshTestBase { |
ash::StickyKeysController* sticky_keys_controller_; |
private: |
- std::unique_ptr<EventRewriter> rewriter_; |
+ std::unique_ptr<EventRewriterDelegateImpl> delegate_; |
+ std::unique_ptr<ui::chromeos::EventRewriter> rewriter_; |
EventBuffer buffer_; |
TestEventSource source_; |
@@ -2100,15 +2028,12 @@ TEST_F(EventRewriterTest, TestRewrittenModifierClick) { |
ui::TouchFactory::GetInstance()->SetPointerDeviceForTest(device_list); |
// Remap Control to Alt. |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); |
+ chromeos::Preferences::RegisterProfilePrefs(prefs()->registry()); |
IntegerPrefMember control; |
- control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); |
+ control.Init(prefs::kLanguageRemapControlKeyTo, prefs()); |
control.SetValue(chromeos::input_method::kAltKey); |
- EventRewriter rewriter(NULL); |
- rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
- rewriter.set_pref_service_for_testing(&prefs); |
+ rewriter_->KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); |
// Check that Control + Left Button is converted (via Alt + Left Button) |
// to Right Button. |
@@ -2120,8 +2045,7 @@ TEST_F(EventRewriterTest, TestRewrittenModifierClick) { |
EXPECT_EQ(ui::ET_MOUSE_PRESSED, press.type()); |
EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON | ui::EF_CONTROL_DOWN, press.flags()); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, press, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(press, &new_event); |
EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); |
EXPECT_FALSE(ui::EF_LEFT_MOUSE_BUTTON & result->flags()); |
EXPECT_FALSE(ui::EF_CONTROL_DOWN & result->flags()); |
@@ -2132,16 +2056,13 @@ TEST_F(EventRewriterTest, TestRewrittenModifierClick) { |
TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
// TODO(kpschoedel): pending changes for crbug.com/360377 |
-// to |chromeos::EventRewriter::RewriteLocatedEvent() |
+// to |ui::chromeos::EventRewriter::RewriteLocatedEvent() |
#if defined(USE_X11) |
std::vector<int> device_list; |
device_list.push_back(10); |
device_list.push_back(11); |
ui::TouchFactory::GetInstance()->SetPointerDeviceForTest(device_list); |
#endif |
- sync_preferences::TestingPrefServiceSyncable prefs; |
- EventRewriter rewriter(NULL); |
- rewriter.set_pref_service_for_testing(&prefs); |
const int kLeftAndAltFlag = ui::EF_LEFT_MOUSE_BUTTON | ui::EF_ALT_DOWN; |
// Test Alt + Left click. |
@@ -2155,8 +2076,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
EXPECT_EQ(ui::ET_MOUSE_PRESSED, press.type()); |
EXPECT_EQ(kLeftAndAltFlag, press.flags()); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, press, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(press, &new_event); |
EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); |
EXPECT_FALSE(kLeftAndAltFlag & result->flags()); |
EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); |
@@ -2168,8 +2088,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
ui::EventTestApi test_release(&release); |
test_release.set_source_device_id(10); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, release, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(release, &new_event); |
EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); |
EXPECT_FALSE(kLeftAndAltFlag & result->flags()); |
EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); |
@@ -2185,8 +2104,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
EXPECT_EQ(ui::ET_MOUSE_PRESSED, press.type()); |
EXPECT_EQ(kLeftAndAltFlag, press.flags()); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, press, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(press, &new_event); |
EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); |
EXPECT_FALSE(kLeftAndAltFlag & result->flags()); |
EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); |
@@ -2197,8 +2115,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
kLeftAndAltFlag); |
ui::MouseEvent release(xev); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, release, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(release, &new_event); |
EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); |
EXPECT_FALSE(kLeftAndAltFlag & result->flags()); |
EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); |
@@ -2213,8 +2130,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
ui::EventTestApi test_press(&press); |
test_press.set_source_device_id(10); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, press, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(press, &new_event); |
EXPECT_TRUE(ui::EF_LEFT_MOUSE_BUTTON & result->flags()); |
EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags()); |
} |
@@ -2225,8 +2141,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
ui::EventTestApi test_release(&release); |
test_release.set_source_device_id(10); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, release, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(release, &new_event); |
EXPECT_TRUE((ui::EF_LEFT_MOUSE_BUTTON | ui::EF_ALT_DOWN) & result->flags()); |
EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags()); |
} |
@@ -2238,8 +2153,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
ui::EF_LEFT_MOUSE_BUTTON); |
ui::MouseEvent press(xev); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, press, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(press, &new_event); |
EXPECT_TRUE(ui::EF_LEFT_MOUSE_BUTTON & result->flags()); |
EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags()); |
} |
@@ -2249,8 +2163,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
kLeftAndAltFlag); |
ui::MouseEvent release(xev); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, release, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(release, &new_event); |
EXPECT_TRUE((ui::EF_LEFT_MOUSE_BUTTON | ui::EF_ALT_DOWN) & result->flags()); |
EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags()); |
} |
@@ -2264,8 +2177,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
ui::EventTestApi test_press(&press); |
test_press.set_source_device_id(11); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, press, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(press, &new_event); |
EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); |
EXPECT_FALSE(kLeftAndAltFlag & result->flags()); |
EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); |
@@ -2277,8 +2189,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
ui::EventTestApi test_release(&release); |
test_release.set_source_device_id(10); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, release, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(release, &new_event); |
EXPECT_TRUE((ui::EF_LEFT_MOUSE_BUTTON | ui::EF_ALT_DOWN) & result->flags()); |
EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags()); |
} |
@@ -2289,8 +2200,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
ui::EventTestApi test_release(&release); |
test_release.set_source_device_id(11); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, release, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(release, &new_event); |
EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); |
EXPECT_FALSE(kLeftAndAltFlag & result->flags()); |
EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); |
@@ -2303,8 +2213,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
kLeftAndAltFlag); |
ui::MouseEvent press(xev); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, press, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(press, &new_event); |
EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); |
EXPECT_FALSE(kLeftAndAltFlag & result->flags()); |
EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); |
@@ -2315,8 +2224,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
kLeftAndAltFlag); |
ui::MouseEvent release(xev); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, release, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(release, &new_event); |
EXPECT_TRUE((ui::EF_LEFT_MOUSE_BUTTON | ui::EF_ALT_DOWN) & result->flags()); |
EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags()); |
} |
@@ -2326,8 +2234,7 @@ TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { |
kLeftAndAltFlag); |
ui::MouseEvent release(xev); |
std::unique_ptr<ui::Event> new_event; |
- const ui::MouseEvent* result = |
- RewriteMouseButtonEvent(&rewriter, release, &new_event); |
+ const ui::MouseEvent* result = RewriteMouseButtonEvent(release, &new_event); |
EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); |
EXPECT_FALSE(kLeftAndAltFlag & result->flags()); |
EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); |