summaryrefslogtreecommitdiffstats
path: root/content/browser/accessibility/browser_accessibility_manager_win.h
diff options
context:
space:
mode:
authordmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-13 06:57:49 +0000
committerdmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-13 06:57:49 +0000
commit9dc9d50342bd25ca4e997daf6d056b52dde54234 (patch)
treee946d01a621f1e39c908c2cf9d4fb32ff710e68b /content/browser/accessibility/browser_accessibility_manager_win.h
parentc8e9a870ed09c724c29009396b6e9eb4ec28553a (diff)
downloadchromium_src-9dc9d50342bd25ca4e997daf6d056b52dde54234.zip
chromium_src-9dc9d50342bd25ca4e997daf6d056b52dde54234.tar.gz
chromium_src-9dc9d50342bd25ca4e997daf6d056b52dde54234.tar.bz2
Fix race in BrowserAccessibilityManagerWin creation.
Previously, BrowserAccessibilityManagerWin needed its parent HWND and parent IAccessible upon construction, and if RWHVA didn't have those, it didn't create the BAMW. This resulted in at least two races: * If an accessibility tree update came from the renderer but the BAMW wasn't created because the window wasn't available, the tree update would get discarded - possibly leading to an assertion failure / renderer crash later on the next update from being out of sync. * If we tried to create the BAMW before the LegacyRWHH existed, we would fall through and create a BAM instead of a BAMW, making that whole tab inaccessible. To fix both issues, we always create a BAMW when needed, and we update the BAMW with the LegacyRWHH as soon as it's available. BUG=372478,379019 NOTRY=true Review URL: https://codereview.chromium.org/329053004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276950 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/accessibility/browser_accessibility_manager_win.h')
-rw-r--r--content/browser/accessibility/browser_accessibility_manager_win.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/content/browser/accessibility/browser_accessibility_manager_win.h b/content/browser/accessibility/browser_accessibility_manager_win.h
index 18260e4..90914db 100644
--- a/content/browser/accessibility/browser_accessibility_manager_win.h
+++ b/content/browser/accessibility/browser_accessibility_manager_win.h
@@ -40,6 +40,8 @@ class CONTENT_EXPORT BrowserAccessibilityManagerWin
parent_iaccessible_ = parent_iaccessible;
}
+ void SetAccessibleHWND(LegacyRenderWidgetHostHWND* accessible_hwnd);
+
// Calls NotifyWinEvent if the parent window's IAccessible pointer is known.
void MaybeCallNotifyWinEvent(DWORD event, LONG child_id);