diff options
author | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-03 19:00:28 +0000 |
---|---|---|
committer | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-03 19:00:28 +0000 |
commit | df978442ba4e0629dc7f406729b25cae54fc9461 (patch) | |
tree | eff9f694230288a019ba0739d262431c87a3a4b9 /content/browser/accessibility/browser_accessibility_manager_win.cc | |
parent | a61ce5a964aa37082d09623f8b4976016a0e44f5 (diff) | |
download | chromium_src-df978442ba4e0629dc7f406729b25cae54fc9461.zip chromium_src-df978442ba4e0629dc7f406729b25cae54fc9461.tar.gz chromium_src-df978442ba4e0629dc7f406729b25cae54fc9461.tar.bz2 |
Fire accessibility focus/blur events on root web document.
When the aura Window containing the RWHVA gets or loses focus,
we must fire the corresponding accessibility event on that
object, which corresponds to the root "document" in the web
hierarchy. This worked before the Aura switch because native
HWNDs fired these events automatically.
BUG=347448
Review URL: https://codereview.chromium.org/214243005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261495 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/accessibility/browser_accessibility_manager_win.cc')
-rw-r--r-- | content/browser/accessibility/browser_accessibility_manager_win.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/content/browser/accessibility/browser_accessibility_manager_win.cc b/content/browser/accessibility/browser_accessibility_manager_win.cc index 9835045..e8055fa 100644 --- a/content/browser/accessibility/browser_accessibility_manager_win.cc +++ b/content/browser/accessibility/browser_accessibility_manager_win.cc @@ -97,6 +97,20 @@ void BrowserAccessibilityManagerWin::RemoveNode(BrowserAccessibility* node) { } } +void BrowserAccessibilityManagerWin::OnWindowFocused() { + // Fire a focus event on the root first and then the focused node. + if (focus_ != root_) + NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, root_); + BrowserAccessibilityManager::OnWindowFocused(); +} + +void BrowserAccessibilityManagerWin::OnWindowBlurred() { + // Fire a blur event on the focused node first and then the root. + BrowserAccessibilityManager::OnWindowBlurred(); + if (focus_ != root_) + NotifyAccessibilityEvent(ui::AX_EVENT_BLUR, root_); +} + void BrowserAccessibilityManagerWin::NotifyAccessibilityEvent( ui::AXEvent event_type, BrowserAccessibility* node) { |