Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Unified Diff: chrome/browser/chromeos/events/event_rewriter_unittest.cc

Issue 2724913002: Move chromeos::EventRewriter to //ui/chromeos/events (Closed)
Patch Set: Fix build error Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());

Powered by Google App Engine
This is Rietveld 408576698