b6ddaaf7983ed59175524121afff199bf6d5dbe1
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / input_method / mock_input_method_engine.h
1 // Copyright 2014 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 #ifndef CHROME_BROWSER_CHROMEOS_INPUT_METHOD_MOCK_INPUT_METHOD_ENGINE_H_
6 #define CHROME_BROWSER_CHROMEOS_INPUT_METHOD_MOCK_INPUT_METHOD_ENGINE_H_
7
8 #include <string>
9 #include <vector>
10
11 #include "chrome/browser/chromeos/input_method/input_method_engine_interface.h"
12 #include "chromeos/ime/input_method_descriptor.h"
13
14 namespace ui {
15 class KeyEvent;
16 }  // namespace ui
17
18 namespace ash {
19 namespace ime {
20 struct InputMethodMenuItem;
21 }  // namespace ime
22 }  // namespace ash
23
24 namespace chromeos {
25
26 class CompositionText;
27
28 namespace input_method {
29 class CandidateWindow;
30 struct KeyEventHandle;
31 }  // namespace input_method
32
33 class MockInputMethodEngine : public InputMethodEngineInterface {
34  public:
35   explicit MockInputMethodEngine();
36   virtual ~MockInputMethodEngine();
37
38   // InputMethodEngineInterface overrides.
39   virtual const std::string& GetActiveComponentId() const OVERRIDE;
40   virtual bool SetComposition(int context_id,
41                               const char* text,
42                               int selection_start,
43                               int selection_end,
44                               int cursor,
45                               const std::vector<SegmentInfo>& segments,
46                               std::string* error) OVERRIDE;
47   virtual bool ClearComposition(int context_id, std::string* error) OVERRIDE;
48   virtual bool CommitText(int context_id, const char* text,
49                           std::string* error) OVERRIDE;
50   virtual bool SendKeyEvents(int context_id,
51                              const std::vector<KeyboardEvent>& events) OVERRIDE;
52   virtual const CandidateWindowProperty&
53     GetCandidateWindowProperty() const OVERRIDE;
54   virtual void SetCandidateWindowProperty(
55       const CandidateWindowProperty& property) OVERRIDE;
56   virtual bool SetCandidateWindowVisible(bool visible,
57                                          std::string* error) OVERRIDE;
58   virtual bool SetCandidates(int context_id,
59                              const std::vector<Candidate>& candidates,
60                              std::string* error) OVERRIDE;
61   virtual bool SetCursorPosition(int context_id, int candidate_id,
62                                  std::string* error) OVERRIDE;
63   virtual bool SetMenuItems(const std::vector<MenuItem>& items) OVERRIDE;
64   virtual bool UpdateMenuItems(const std::vector<MenuItem>& items) OVERRIDE;
65   virtual bool IsActive() const OVERRIDE;
66   virtual bool DeleteSurroundingText(int context_id,
67                                      int offset,
68                                      size_t number_of_chars,
69                                      std::string* error) OVERRIDE;
70
71   // IMEEngineHandlerInterface overrides.
72   virtual void FocusIn(
73       const IMEEngineHandlerInterface::InputContext& input_context) OVERRIDE;
74   virtual void FocusOut() OVERRIDE;
75   virtual void Enable(const std::string& component_id) OVERRIDE;
76   virtual void Disable() OVERRIDE;
77   virtual void PropertyActivate(const std::string& property_name) OVERRIDE;
78   virtual void Reset() OVERRIDE;
79   virtual void ProcessKeyEvent(const ui::KeyEvent& key_event,
80                                const KeyEventDoneCallback& callback) OVERRIDE;
81   virtual void CandidateClicked(uint32 index) OVERRIDE;
82   virtual void SetSurroundingText(const std::string& text, uint32 cursor_pos,
83                                   uint32 anchor_pos) OVERRIDE;
84   virtual void HideInputView() OVERRIDE;
85
86   std::string last_activated_property() const {
87     return last_activated_property_;
88   }
89
90  private:
91   std::string active_component_id_;
92
93   // The current candidate window property.
94   CandidateWindowProperty candidate_window_property_;
95
96   std::string last_activated_property_;
97 };
98
99 }  // namespace chromeos
100
101 #endif  // CHROME_BROWSER_CHROMEOS_INPUT_METHOD_MOCK_INPUT_METHOD_ENGINE_H_