| Index: ui/base/ime/input_method_ibus.h | 
| diff --git a/ui/base/ime/input_method_ibus.h b/ui/base/ime/input_method_ibus.h | 
| index 14161b30f5bf68162692377ff7efa785ef4cbe2f..da8e6005e1305226dba9b38663dfe0fc64f69017 100644 | 
| --- a/ui/base/ime/input_method_ibus.h | 
| +++ b/ui/base/ime/input_method_ibus.h | 
| @@ -18,6 +18,9 @@ | 
| #include "ui/base/ime/ibus_client.h" | 
| #include "ui/base/ime/input_method_base.h" | 
|  | 
| +namespace dbus { | 
| +class ObjectPath; | 
| +} | 
| namespace chromeos { | 
| namespace ibus { | 
| class IBusText; | 
| @@ -65,8 +68,8 @@ class UI_EXPORT InputMethodIBus : public InputMethodBase { | 
| CompositionText* out_composition) const; | 
|  | 
| private: | 
| -  class PendingKeyEventImpl; | 
| -  class PendingCreateICRequestImpl; | 
| +  class PendingKeyEvent; | 
| +  class PendingCreateICRequest; | 
|  | 
| // Overridden from InputMethodBase: | 
| virtual void OnWillChangeFocusedClient(TextInputClient* focused_before, | 
| @@ -133,7 +136,7 @@ class UI_EXPORT InputMethodIBus : public InputMethodBase { | 
|  | 
| // Called when a pending key event has finished. The event will be removed | 
| // from |pending_key_events_|. | 
| -  void FinishPendingKeyEvent(PendingKeyEventImpl* pending_key); | 
| +  void FinishPendingKeyEvent(PendingKeyEvent* pending_key); | 
|  | 
| // Abandons all pending key events. It usually happends when we lose keyboard | 
| // focus, the text input type is changed or we are destroyed. | 
| @@ -143,6 +146,12 @@ class UI_EXPORT InputMethodIBus : public InputMethodBase { | 
| // object proxy. | 
| void ResetInputContext(); | 
|  | 
| +  // Returns true if the connection to ibus-daemon is established. | 
| +  bool IsConnected(); | 
| + | 
| +  // Returns true if the input context is ready to use. | 
| +  bool IsContextReady(); | 
| + | 
| // Event handlers for IBusInputContext: | 
| void OnCommitText(const chromeos::ibus::IBusText& text); | 
| void OnForwardKeyEvent(uint32 keyval, uint32 keycode, uint32 status); | 
| @@ -152,9 +161,10 @@ class UI_EXPORT InputMethodIBus : public InputMethodBase { | 
| bool visible); | 
| void OnHidePreeditText(); | 
|  | 
| -  void CreateInputContextDone(PendingCreateICRequestImpl* ic_request, | 
| +  void CreateInputContextDone(PendingCreateICRequest* ic_request, | 
| const dbus::ObjectPath& object_path); | 
| -  static void ProcessKeyEventDone(PendingKeyEventImpl* pending_key_event, | 
| +  void CreateInputContextFail(PendingCreateICRequest* ic_request); | 
| +  static void ProcessKeyEventDone(PendingKeyEvent* pending_key_event, | 
| bool is_handled); | 
|  | 
| scoped_ptr<internal::IBusClient> ibus_client_; | 
| @@ -162,11 +172,11 @@ class UI_EXPORT InputMethodIBus : public InputMethodBase { | 
| // All pending key events. Note: we do not own these object, we just save | 
| // pointers to these object so that we can abandon them when necessary. | 
| // They will be deleted in ProcessKeyEventDone(). | 
| -  std::set<PendingKeyEventImpl*> pending_key_events_; | 
| +  std::set<PendingKeyEvent*> pending_key_events_; | 
|  | 
| // The pending request for creating the input context. We need to keep this | 
| // pointer so that we can receive or abandon the result. | 
| -  PendingCreateICRequestImpl* pending_create_ic_request_; | 
| +  PendingCreateICRequest* pending_create_ic_request_; | 
|  | 
| // Pending composition text generated by the current pending key event. | 
| // It'll be sent to the focused text input client as soon as we receive the | 
|  |