summaryrefslogtreecommitdiffstats
path: root/views/widget/widget_gtk.cc
diff options
context:
space:
mode:
authormsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-22 23:42:31 +0000
committermsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-22 23:42:31 +0000
commit6b98e52b28fa37b71d4dd80556e936277a85dbc6 (patch)
tree51ba108da81657563670b942dee4c5de315ffd5e /views/widget/widget_gtk.cc
parent988ace29e4f1990cf22f7d9781049e0b14d3d5cd (diff)
downloadchromium_src-6b98e52b28fa37b71d4dd80556e936277a85dbc6.zip
chromium_src-6b98e52b28fa37b71d4dd80556e936277a85dbc6.tar.gz
chromium_src-6b98e52b28fa37b71d4dd80556e936277a85dbc6.tar.bz2
Revert 82751 - Add NativeWidgetDelegate/Widget::OnKeyEvent post-IME handling.Refactor XEvent code and InputMethodGtk::DispatchKeyEvent.Nix WidgetWin::GetFocusedViewRootView, rename RootView::OnKeyEvent.Cleanup headers and refactor code in extension_input_api.cc.BUG=72040TEST=Key event handling in win/linux_views/touch; extension input API SendKeyboardEventInputFunction use.Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=82713Review URL: http://codereview.chromium.org/6823055
TBR=msw@chromium.org Review URL: http://codereview.chromium.org/6897033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82752 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/widget/widget_gtk.cc')
-rw-r--r--views/widget/widget_gtk.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/views/widget/widget_gtk.cc b/views/widget/widget_gtk.cc
index 85b361c..00c9610 100644
--- a/views/widget/widget_gtk.cc
+++ b/views/widget/widget_gtk.cc
@@ -615,9 +615,9 @@ void WidgetGtk::Init(GtkWidget* parent,
// See views::Views::Focus and views::FocusManager::ClearNativeFocus
// for more details.
g_signal_connect(widget_, "key_press_event",
- G_CALLBACK(&OnEventKeyThunk), this);
+ G_CALLBACK(&OnKeyEventThunk), this);
g_signal_connect(widget_, "key_release_event",
- G_CALLBACK(&OnEventKeyThunk), this);
+ G_CALLBACK(&OnKeyEventThunk), this);
// Drag and drop.
gtk_drag_dest_set(window_contents_, static_cast<GtkDestDefaults>(0),
@@ -1291,7 +1291,7 @@ gboolean WidgetGtk::OnFocusOut(GtkWidget* widget, GdkEventFocus* event) {
return false;
}
-gboolean WidgetGtk::OnEventKey(GtkWidget* widget, GdkEventKey* event) {
+gboolean WidgetGtk::OnKeyEvent(GtkWidget* widget, GdkEventKey* event) {
KeyEvent key(reinterpret_cast<NativeEvent>(event));
if (input_method_.get())
input_method_->DispatchKeyEvent(key);
@@ -1385,8 +1385,10 @@ void WidgetGtk::DispatchKeyEventPostIME(const KeyEvent& key) {
if (key.key_code() != ui::VKEY_MENU || key.type() != ui::ET_KEY_RELEASED)
should_handle_menu_key_release_ = false;
- // Send the key event to View hierarchy first.
- bool handled = delegate_->OnKeyEvent(key);
+ bool handled = false;
+
+ // Dispatch the key event to View hierarchy first.
+ handled = GetRootView()->ProcessKeyEvent(key);
if (key.key_code() == ui::VKEY_PROCESSKEY || handled)
return;