From 17d6c0481d767575a62c9d5ea4d5c8272304e7fb Mon Sep 17 00:00:00 2001 From: "yusukes@google.com" Date: Tue, 27 Jul 2010 03:23:47 +0000 Subject: Support chromeos::RemapModifierKeys API. BUG=chromium-os:2636 TEST=manually on eeepc, ran the browser_tests Review URL: http://codereview.chromium.org/2806077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53752 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/chromeos/cros/cros_in_process_browser_test.cc | 4 ++++ chrome/browser/chromeos/cros/keyboard_library.cc | 7 +++++++ chrome/browser/chromeos/cros/keyboard_library.h | 4 ++++ chrome/browser/chromeos/cros/mock_keyboard_library.h | 1 + 4 files changed, 16 insertions(+) (limited to 'chrome/browser/chromeos') diff --git a/chrome/browser/chromeos/cros/cros_in_process_browser_test.cc b/chrome/browser/chromeos/cros/cros_in_process_browser_test.cc index 58055b5..46304d5 100644 --- a/chrome/browser/chromeos/cros/cros_in_process_browser_test.cc +++ b/chrome/browser/chromeos/cros/cros_in_process_browser_test.cc @@ -152,6 +152,10 @@ void CrosInProcessBrowserTest::SetKeyboardLibraryStatusAreaExpectations() { .Times(AnyNumber()) .WillRepeatedly((Return(true))) .RetiresOnSaturation(); + EXPECT_CALL(*mock_keyboard_library_, RemapModifierKeys(_)) + .Times(AnyNumber()) + .WillRepeatedly((Return(true))) + .RetiresOnSaturation(); EXPECT_CALL(*mock_keyboard_library_, SetKeyboardLayoutPerWindow(_)) .Times(AnyNumber()) .WillRepeatedly((Return(true))) diff --git a/chrome/browser/chromeos/cros/keyboard_library.cc b/chrome/browser/chromeos/cros/keyboard_library.cc index ff7a3b1..dce8442 100644 --- a/chrome/browser/chromeos/cros/keyboard_library.cc +++ b/chrome/browser/chromeos/cros/keyboard_library.cc @@ -24,6 +24,13 @@ bool KeyboardLibraryImpl::SetCurrentKeyboardLayoutByName( return false; } +bool KeyboardLibraryImpl::RemapModifierKeys(const ModifierMap& modifier_map) { + if (CrosLibrary::Get()->EnsureLoaded()) { + return chromeos::RemapModifierKeys(modifier_map); + } + return false; +} + bool KeyboardLibraryImpl::GetKeyboardLayoutPerWindow( bool* is_per_window) const { if (CrosLibrary::Get()->EnsureLoaded()) { diff --git a/chrome/browser/chromeos/cros/keyboard_library.h b/chrome/browser/chromeos/cros/keyboard_library.h index 457ca32..ab1b12e 100644 --- a/chrome/browser/chromeos/cros/keyboard_library.h +++ b/chrome/browser/chromeos/cros/keyboard_library.h @@ -27,6 +27,9 @@ class KeyboardLibrary { virtual bool SetCurrentKeyboardLayoutByName( const std::string& layout_name) = 0; + // Remaps modifier keys. Returns true on success. + virtual bool RemapModifierKeys(const ModifierMap& modifier_map) = 0; + // Gets whehter we have separate keyboard layout per window, or not. The // result is stored in |is_per_window|. Returns true on success. virtual bool GetKeyboardLayoutPerWindow(bool* is_per_window) const = 0; @@ -45,6 +48,7 @@ class KeyboardLibraryImpl : public KeyboardLibrary { // KeyboardLibrary overrides. virtual std::string GetCurrentKeyboardLayoutName() const; virtual bool SetCurrentKeyboardLayoutByName(const std::string& layout_name); + virtual bool RemapModifierKeys(const ModifierMap& modifier_map); virtual bool GetKeyboardLayoutPerWindow(bool* is_per_window) const; virtual bool SetKeyboardLayoutPerWindow(bool is_per_window); diff --git a/chrome/browser/chromeos/cros/mock_keyboard_library.h b/chrome/browser/chromeos/cros/mock_keyboard_library.h index 0d300ef..44e458d 100644 --- a/chrome/browser/chromeos/cros/mock_keyboard_library.h +++ b/chrome/browser/chromeos/cros/mock_keyboard_library.h @@ -20,6 +20,7 @@ class MockKeyboardLibrary : public KeyboardLibrary { MOCK_CONST_METHOD0(GetCurrentKeyboardLayoutName, std::string(void)); MOCK_METHOD1(SetCurrentKeyboardLayoutByName, bool(const std::string&)); + MOCK_METHOD1(RemapModifierKeys, bool(const ModifierMap&)); MOCK_CONST_METHOD1(GetKeyboardLayoutPerWindow, bool(bool*)); MOCK_METHOD1(SetKeyboardLayoutPerWindow, bool(bool)); }; -- cgit v1.1