Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1786)

Unified Diff: chrome/browser/ui/libgtk2ui/x11_input_method_context_impl_gtk2.h

Issue 1068093002: Refactoring for InputMethodAuraLinux. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed interactive_ui_tests failure. Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/libgtk2ui/x11_input_method_context_impl_gtk2.h
diff --git a/chrome/browser/ui/libgtk2ui/x11_input_method_context_impl_gtk2.h b/chrome/browser/ui/libgtk2ui/x11_input_method_context_impl_gtk2.h
index fe87ef5a6f3b1f41d043670c7c19bef8e8943cf7..13fb11536edfe1c344809fbde82690042430066e 100644
--- a/chrome/browser/ui/libgtk2ui/x11_input_method_context_impl_gtk2.h
+++ b/chrome/browser/ui/libgtk2ui/x11_input_method_context_impl_gtk2.h
@@ -26,15 +26,16 @@ namespace libgtk2ui {
// and uses GtkIMContext(gtk-immodule) as a bridge from/to underlying IMEs.
class X11InputMethodContextImplGtk2 : public ui::LinuxInputMethodContext {
public:
- explicit X11InputMethodContextImplGtk2(
- ui::LinuxInputMethodContextDelegate* delegate);
+ X11InputMethodContextImplGtk2(ui::LinuxInputMethodContextDelegate* delegate,
+ bool is_simple);
~X11InputMethodContextImplGtk2() override;
// Overriden from ui::LinuxInputMethodContext
bool DispatchKeyEvent(const ui::KeyEvent& key_event) override;
+ void SetCursorLocation(const gfx::Rect& rect) override;
void Reset() override;
- void OnTextInputTypeChanged(ui::TextInputType text_input_type) override;
- void OnCaretBoundsChanged(const gfx::Rect& caret_bounds) override;
+ void Focus() override;
+ void Blur() override;
private:
// Resets the cache of X modifier keycodes.
@@ -70,17 +71,9 @@ class X11InputMethodContextImplGtk2 : public ui::LinuxInputMethodContext {
// A set of callback functions. Must not be NULL.
ui::LinuxInputMethodContextDelegate* delegate_;
- // IME's input context used for TEXT_INPUT_TYPE_NONE and
- // TEXT_INPUT_TYPE_PASSWORD.
- GtkIMContext* gtk_context_simple_;
- // IME's input context used for the other text input types.
- GtkIMContext* gtk_multicontext_;
-
- // An alias to |gtk_context_simple_| or |gtk_multicontext_| depending on the
- // text input type. Can be NULL when it's not focused.
+ // IME's input GTK context.
GtkIMContext* gtk_context_;
- // Last set client window.
GdkWindow* gdk_last_set_client_window_;
// Last known caret bounds relative to the screen coordinates.
@@ -94,46 +87,6 @@ class X11InputMethodContextImplGtk2 : public ui::LinuxInputMethodContext {
std::vector<int> super_keycodes_;
std::vector<int> hyper_keycodes_;
- // The helper class to trap GTK+'s "commit" signal for direct input key
- // events.
- //
- // gtk_im_context_filter_keypress() emits "commit" signal in order to insert
- // a character which is not actually processed by a IME. This behavior seems,
- // in Javascript world, that a keydown event with keycode = VKEY_PROCESSKEY
- // (= 229) is fired. So we have to trap such "commit" signal for direct input
- // key events. This class helps to trap such events.
- class GtkCommitSignalTrap {
- public:
- GtkCommitSignalTrap();
-
- // Enables the trap which monitors a direct input key event of |keyval|.
- void StartTrap(guint keyval);
-
- // Disables the trap.
- void StopTrap();
-
- // Checks if the committed |text| has come from a direct input key event,
- // and returns true in that case. Once it's trapped, IsSignalCaught()
- // returns true.
- // Must be called at most once between StartTrap() and StopTrap().
- bool Trap(const base::string16& text);
-
- // Returns true if a direct input key event is detected.
- bool IsSignalCaught() const { return is_signal_caught_; }
-
- private:
- bool is_trap_enabled_;
- guint gdk_event_key_keyval_;
- bool is_signal_caught_;
-
- DISALLOW_COPY_AND_ASSIGN(GtkCommitSignalTrap);
- };
-
- GtkCommitSignalTrap commit_signal_trap_;
-
- FRIEND_TEST_ALL_PREFIXES(X11InputMethodContextImplGtk2FriendTest,
- GtkCommitSignalTrap);
-
DISALLOW_COPY_AND_ASSIGN(X11InputMethodContextImplGtk2);
};
« no previous file with comments | « chrome/browser/ui/libgtk2ui/gtk2_ui.cc ('k') | chrome/browser/ui/libgtk2ui/x11_input_method_context_impl_gtk2.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698