Chromium Code Reviews| 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..b176d9cfde5585d5d6b9c1437daa95059c7daf70 100644 |
| --- a/ui/views/focus/focus_manager.cc |
| +++ b/ui/views/focus/focus_manager.cc |
| @@ -313,6 +313,20 @@ 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_| |
| + // right now, we just need to store this view and call a ClearNativeFocus (see |
| + // the comments in View::OnFocus. |
| + if (view && !widget_->IsActive()) { |
| + SetStoredFocusView(view); |
| + ClearNativeFocus(); |
|
sky
2016/10/03 15:56:18
I'm wrong. It's the call to Focus() on 346 that tr
Qiang(Joe) Xu
2016/10/03 20:24:50
I agree with it. In this way, activatable ones rem
|
| + 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. |