Index: ui/views/accessibility/ax_aura_obj_cache.cc |
diff --git a/ui/views/accessibility/ax_aura_obj_cache.cc b/ui/views/accessibility/ax_aura_obj_cache.cc |
index 0ce0047c9987815064f5f795ccbb317198d53528..46043362945b42bdbc7ceda1a2be08307e2c8396 100644 |
--- a/ui/views/accessibility/ax_aura_obj_cache.cc |
+++ b/ui/views/accessibility/ax_aura_obj_cache.cc |
@@ -6,6 +6,8 @@ |
#include "base/memory/ptr_util.h" |
#include "base/memory/singleton.h" |
+#include "base/strings/string_util.h" |
+#include "ui/aura/client/aura_constants.h" |
#include "ui/aura/client/focus_client.h" |
#include "ui/aura/window.h" |
#include "ui/views/accessibility/ax_aura_obj_wrapper.h" |
@@ -160,8 +162,14 @@ View* AXAuraObjCache::GetFocusedView() { |
View* focused_view = focus_manager->GetFocusedView(); |
if (focused_view) |
return focused_view; |
- else |
+ |
+ if (focused_window->GetProperty( |
+ aura::client::kAccessibilityFocusFallsbackToWidgetKey)) { |
+ // If no view is focused, falls back to root view. |
return focused_widget->GetRootView(); |
+ } else { |
sky
2016/12/08 16:07:18
chromium style is no else after a return
yawano
2016/12/09 01:40:00
Done.
|
+ return nullptr; |
+ } |
} |
void AXAuraObjCache::OnWindowFocused(aura::Window* gained_focus, |