diff options
author | suzhe@google.com <suzhe@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-01 22:59:32 +0000 |
---|---|---|
committer | suzhe@google.com <suzhe@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-01 22:59:32 +0000 |
commit | 4b99402b089ba598ae26c82d99c3c3d2fe0cd574 (patch) | |
tree | f4fe9b7a92bc90b364c40b901919fee163b7061b /views/widget | |
parent | 4b8b6d844d019a612a02274d298e3dcffc42276b (diff) | |
download | chromium_src-4b99402b089ba598ae26c82d99c3c3d2fe0cd574.zip chromium_src-4b99402b089ba598ae26c82d99c3c3d2fe0cd574.tar.gz chromium_src-4b99402b089ba598ae26c82d99c3c3d2fe0cd574.tar.bz2 |
Refactor RenderWidgetHostViewViews to use the new input method API for Views.
This CL also fixes some issues related to NULL host_ pointer in the
original code. Hope the fixes are correct.
Another side effect of this CL is: it converts views::KeyEvent to NativeWebKeyboardEvent by using the conversion table of Views instead of WebInputEventFactory provided by WebKit. See bug 54315.
BUG=54315
BUG=75003
TEST=none
Review URL: http://codereview.chromium.org/6713083
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80238 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/widget')
-rw-r--r-- | views/widget/widget_gtk.cc | 15 | ||||
-rw-r--r-- | views/widget/widget_gtk.h | 2 |
2 files changed, 12 insertions, 5 deletions
diff --git a/views/widget/widget_gtk.cc b/views/widget/widget_gtk.cc index da998b4..9de4fa1 100644 --- a/views/widget/widget_gtk.cc +++ b/views/widget/widget_gtk.cc @@ -44,6 +44,12 @@ #endif #endif +#if defined(TOUCH_UI) && defined(HAVE_IBUS) +#include "views/ime/input_method_ibus.h" +#else +#include "views/ime/input_method_gtk.h" +#endif + using ui::OSExchangeData; using ui::OSExchangeDataProviderGtk; using ui::ActiveWindowWatcherX; @@ -505,12 +511,13 @@ void WidgetGtk::Init(GtkWidget* parent, // already created at this point. // TODO(suzhe): Always enable input method when we start to use // RenderWidgetHostViewViews in normal ChromeOS. -#if !defined(TOUCH_UI) - if (type_ != TYPE_CHILD && NativeTextfieldViews::IsTextfieldViewsEnabled()) { -#else +#if defined(TOUCH_UI) && defined(HAVE_IBUS) if (type_ != TYPE_CHILD) { -#endif + input_method_.reset(new InputMethodIBus(this)); +#else + if (type_ != TYPE_CHILD && NativeTextfieldViews::IsTextfieldViewsEnabled()) { input_method_.reset(new InputMethodGtk(this)); +#endif input_method_->Init(GetWidget()); } diff --git a/views/widget/widget_gtk.h b/views/widget/widget_gtk.h index 4028997..3217900 100644 --- a/views/widget/widget_gtk.h +++ b/views/widget/widget_gtk.h @@ -14,7 +14,6 @@ #include "ui/gfx/size.h" #include "views/focus/focus_manager.h" #include "views/ime/input_method_delegate.h" -#include "views/ime/input_method_gtk.h" #include "views/widget/native_widget.h" #include "views/widget/widget.h" @@ -32,6 +31,7 @@ using ui::OSExchangeDataProviderGtk; namespace views { class DropTargetGtk; +class InputMethod; class TooltipManagerGtk; class View; class WindowGtk; |