summaryrefslogtreecommitdiffstats
path: root/content/browser/accessibility/browser_accessibility_win.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/accessibility/browser_accessibility_win.cc')
-rw-r--r--content/browser/accessibility/browser_accessibility_win.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc
index e4d2f37..a550159 100644
--- a/content/browser/accessibility/browser_accessibility_win.cc
+++ b/content/browser/accessibility/browser_accessibility_win.cc
@@ -3568,8 +3568,6 @@ void BrowserAccessibilityWin::InitRoleAndState() {
ia_state |= STATE_SYSTEM_FOCUSABLE;
if (HasState(ui::AX_STATE_HASPOPUP))
ia_state |= STATE_SYSTEM_HASPOPUP;
- if (HasState(ui::AX_STATE_HOVERED))
- ia_state |= STATE_SYSTEM_HOTTRACKED;
if (HasState(ui::AX_STATE_INDETERMINATE))
ia_state |= STATE_SYSTEM_INDETERMINATE;
if (HasIntAttribute(ui::AX_ATTR_INVALID_STATE) &&
@@ -3607,6 +3605,16 @@ void BrowserAccessibilityWin::InitRoleAndState() {
if (HasState(ui::AX_STATE_VISITED))
ia_state |= STATE_SYSTEM_TRAVERSED;
+ // Expose whether or not the mouse is over an element, but suppress
+ // this for tests because it can make the test results flaky depending
+ // on the position of the mouse.
+ BrowserAccessibilityStateImpl* accessibility_state =
+ BrowserAccessibilityStateImpl::GetInstance();
+ if (!accessibility_state->disable_hot_tracking_for_testing()) {
+ if (HasState(ui::AX_STATE_HOVERED))
+ ia_state |= STATE_SYSTEM_HOTTRACKED;
+ }
+
// WebKit marks everything as readonly unless it's editable text, so if it's
// not readonly, mark it as editable now. The final computation of the
// READONLY state for MSAA is below, after the switch.