diff options
Diffstat (limited to 'content/browser/accessibility/browser_accessibility_win.cc')
-rw-r--r-- | content/browser/accessibility/browser_accessibility_win.cc | 12 |
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. |