summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos
diff options
context:
space:
mode:
authoryusukes@google.com <yusukes@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-27 03:23:47 +0000
committeryusukes@google.com <yusukes@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-27 03:23:47 +0000
commit17d6c0481d767575a62c9d5ea4d5c8272304e7fb (patch)
tree84c4f29e9cc38e72c445e364f166dec345bca30a /chrome/browser/chromeos
parent9b3f1e5bad21a11a83f1157aac6983da7758608b (diff)
downloadchromium_src-17d6c0481d767575a62c9d5ea4d5c8272304e7fb.zip
chromium_src-17d6c0481d767575a62c9d5ea4d5c8272304e7fb.tar.gz
chromium_src-17d6c0481d767575a62c9d5ea4d5c8272304e7fb.tar.bz2
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
Diffstat (limited to 'chrome/browser/chromeos')
-rw-r--r--chrome/browser/chromeos/cros/cros_in_process_browser_test.cc4
-rw-r--r--chrome/browser/chromeos/cros/keyboard_library.cc7
-rw-r--r--chrome/browser/chromeos/cros/keyboard_library.h4
-rw-r--r--chrome/browser/chromeos/cros/mock_keyboard_library.h1
4 files changed, 16 insertions, 0 deletions
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));
};