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

Unified Diff: ui/views/focus/focus_manager.cc

Issue 2371113003: Do not give instant focus if a view's toplevelwidget is not active (Closed)
Patch Set: replace ClearNativeFocus with widget_->Activate() Created 4 years, 2 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
« no previous file with comments | « chrome/browser/ui/views/toolbar/toolbar_view_browsertest.cc ('k') | ui/views/mus/native_widget_mus.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/focus/focus_manager.cc
diff --git a/ui/views/focus/focus_manager.cc b/ui/views/focus/focus_manager.cc
index 80a4dc8d6bdd0c7b67ee984e6081e434cebe6db1..e44146c4ab77a6e401f9b0988aa626fc775d5e0b 100644
--- a/ui/views/focus/focus_manager.cc
+++ b/ui/views/focus/focus_manager.cc
@@ -313,6 +313,19 @@ void FocusManager::SetFocusedViewWithReason(
if (focused_view_ == view)
return;
+#if !defined(OS_MACOSX)
+ // TODO(warx): There are some AccessiblePaneViewTest failed on macosx.
+ // crbug.com/650859. Remove !defined(OS_MACOSX) once that is fixed.
+ //
+ // If |widget_| is not active, focus is not allowed to set within |widget_|
sky 2016/10/04 15:47:03 I think you want something like: If the widget is
Qiang(Joe) Xu 2016/10/10 16:40:00 Done.
+ // right now, we just need to store this view.
+ if (view && !widget_->IsActive()) {
+ SetStoredFocusView(view);
+ widget_->Activate();
+ return;
+ }
+#endif
+
base::AutoReset<bool> auto_changing_focus(&is_changing_focus_, true);
// Update the reason for the focus change (since this is checked by
// some listeners), then notify all listeners.
« no previous file with comments | « chrome/browser/ui/views/toolbar/toolbar_view_browsertest.cc ('k') | ui/views/mus/native_widget_mus.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698