Upstream version 5.34.98.0
[platform/framework/web/crosswalk.git] / src / chromeos / ime / mock_xkeyboard.cc
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chromeos/ime/mock_xkeyboard.h"
6
7 namespace chromeos {
8 namespace input_method {
9
10 MockXKeyboard::MockXKeyboard()
11     : set_current_keyboard_layout_by_name_count_(0),
12       caps_lock_is_enabled_(false),
13       num_lock_is_enabled_(false) {
14 }
15
16 bool MockXKeyboard::SetCurrentKeyboardLayoutByName(
17     const std::string& layout_name) {
18   ++set_current_keyboard_layout_by_name_count_;
19   last_layout_ = layout_name;
20   return true;
21 }
22
23 bool MockXKeyboard::ReapplyCurrentKeyboardLayout() {
24   return true;
25 }
26
27 void MockXKeyboard::ReapplyCurrentModifierLockStatus() {
28 }
29
30 void MockXKeyboard::SetLockedModifiers(ModifierLockStatus new_caps_lock_status,
31                                        ModifierLockStatus new_num_lock_status) {
32   if (new_caps_lock_status != kDontChange) {
33     caps_lock_is_enabled_ =
34         (new_caps_lock_status == kEnableLock) ? true : false;
35   }
36   if (new_num_lock_status != kDontChange)
37     num_lock_is_enabled_ = (new_num_lock_status == kEnableLock) ? true : false;
38 }
39
40 void MockXKeyboard::SetNumLockEnabled(bool enable_num_lock) {
41   num_lock_is_enabled_ = enable_num_lock;
42 }
43
44 void MockXKeyboard::SetCapsLockEnabled(bool enable_caps_lock) {
45   caps_lock_is_enabled_ = enable_caps_lock;
46 }
47
48 bool MockXKeyboard::NumLockIsEnabled() {
49   return num_lock_is_enabled_;
50 }
51
52 bool MockXKeyboard::CapsLockIsEnabled() {
53   return caps_lock_is_enabled_;
54 }
55
56 unsigned int MockXKeyboard::GetNumLockMask() {
57   return 1;
58 }
59
60 void MockXKeyboard::GetLockedModifiers(bool* out_caps_lock_enabled,
61                                        bool* out_num_lock_enabled) {
62   *out_caps_lock_enabled = caps_lock_is_enabled_;
63   *out_num_lock_enabled = num_lock_is_enabled_;
64 }
65
66 }  // namespace input_method
67 }  // namespace chromeos