Index: chrome/browser/ui/aura/accessibility/automation_manager_aura.cc |
diff --git a/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc b/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc |
index 958197370403460b7903dee4e7972ef05df60388..d590438569b34c7ad06eae912aac55f1775b56f6 100644 |
--- a/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc |
+++ b/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc |
@@ -150,4 +150,13 @@ void AutomationManagerAura::SendEvent(BrowserContext* context, |
void AutomationManagerAura::OnNativeFocusChanged(aura::Window* focused_now) { |
focused_window_ = focused_now; |
+ if (focused_now && !focused_now->HasObserver(this)) |
+ focused_now->AddObserver(this); |
+} |
+ |
+void AutomationManagerAura::OnWindowDestroying(aura::Window* window) { |
+ if (focused_window_ == window) { |
+ window->RemoveObserver(this); |
+ focused_window_ = nullptr; |
+ } |
} |