diff options
author | pkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-12 14:36:10 +0000 |
---|---|---|
committer | pkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-12 14:36:10 +0000 |
commit | f0a8e55726054f15882432dff6e86c2294ef9878 (patch) | |
tree | f29930452e674d779c3f20dc47c2b319a5534359 /views | |
parent | 50957ec1867224da1d32c3023c6c9261a6bf4b77 (diff) | |
download | chromium_src-f0a8e55726054f15882432dff6e86c2294ef9878.zip chromium_src-f0a8e55726054f15882432dff6e86c2294ef9878.tar.gz chromium_src-f0a8e55726054f15882432dff6e86c2294ef9878.tar.bz2 |
On desktop
1) Set focus on omnibox
2) Open wrench menu
3) Click on omnibox
Keyboard does not show up
The fix for this seems to be the second half of the code in the IsActivated method in
native_widget_host_view_views
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/8200008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105077 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r-- | views/widget/native_widget_views.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/views/widget/native_widget_views.cc b/views/widget/native_widget_views.cc index 906e020..d1b372a 100644 --- a/views/widget/native_widget_views.cc +++ b/views/widget/native_widget_views.cc @@ -381,6 +381,14 @@ void NativeWidgetViews::Hide() { view_->SetVisible(false); if (HasMouseCapture()) ReleaseMouseCapture(); + + // This is necessary because views desktop's window manager doesn't + // set the focus back to parent. + if (GetWidget()->is_top_level()) { + Widget* parent_widget = view_->GetWidget(); + if (parent_widget && parent_widget->GetInputMethod()) + parent_widget->GetInputMethod()->OnFocus(); + } } void NativeWidgetViews::ShowWithWindowState(ui::WindowShowState show_state) { |