summaryrefslogtreecommitdiffstats
path: root/ui/app_list
diff options
context:
space:
mode:
authorcalamity@chromium.org <calamity@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-07 06:43:09 +0000
committercalamity@chromium.org <calamity@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-07 06:43:09 +0000
commite5275409c2368be1c68d0489d99c23a7c775da50 (patch)
treebe40f12407352f91716122b2f99753d04ab32c2d /ui/app_list
parenta93defc444fb83335c918dabb8f14a7b3547b83c (diff)
downloadchromium_src-e5275409c2368be1c68d0489d99c23a7c775da50.zip
chromium_src-e5275409c2368be1c68d0489d99c23a7c775da50.tar.gz
chromium_src-e5275409c2368be1c68d0489d99c23a7c775da50.tar.bz2
Fix focus issue in the experimental app list.
Fix an issue where the experimental app list would steal focus after being dismissed due to the app list reset code. This CL is the experimental app list's equivalent fix for the focus issue fixed by r279585. BUG=387559 Review URL: https://codereview.chromium.org/366203003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281498 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/app_list')
-rw-r--r--ui/app_list/views/start_page_view.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/ui/app_list/views/start_page_view.cc b/ui/app_list/views/start_page_view.cc
index c81fbb9..affdc2d 100644
--- a/ui/app_list/views/start_page_view.cc
+++ b/ui/app_list/views/start_page_view.cc
@@ -19,6 +19,7 @@
#include "ui/views/controls/label.h"
#include "ui/views/controls/textfield/textfield.h"
#include "ui/views/layout/box_layout.h"
+#include "ui/views/widget/widget.h"
namespace app_list {
@@ -196,7 +197,9 @@ void StartPageView::SetShowState(ShowState show_state) {
instant_container_->SetVisible(show_state == SHOW_START_PAGE);
results_view_->SetVisible(show_state == SHOW_SEARCH_RESULTS);
- if (show_state == SHOW_START_PAGE)
+ // This can be called when the app list is closing (widget is invisible). In
+ // that case, do not steal focus from other elements.
+ if (show_state == SHOW_START_PAGE && GetWidget() && GetWidget()->IsVisible())
search_box_view_->search_box()->RequestFocus();
if (show_state_ == show_state)