Index: content/browser/accessibility/browser_accessibility_com_win.cc |
diff --git a/content/browser/accessibility/browser_accessibility_com_win.cc b/content/browser/accessibility/browser_accessibility_com_win.cc |
index c20cff89abbc1eafc6f79e2c4764f8b55c94233c..46b1cd18e11c6e63edf5a0ca1b6b379633b6edb0 100644 |
--- a/content/browser/accessibility/browser_accessibility_com_win.cc |
+++ b/content/browser/accessibility/browser_accessibility_com_win.cc |
@@ -642,7 +642,23 @@ |
if (!owner()) |
return E_FAIL; |
- return AXPlatformNodeWin::get_accState(var_id, state); |
+ auto* manager = Manager(); |
+ if (!manager) |
+ return E_FAIL; |
+ |
+ if (!state) |
+ return E_INVALIDARG; |
+ |
+ BrowserAccessibilityComWin* target = GetTargetFromChildID(var_id); |
+ if (!target) |
+ return E_INVALIDARG; |
+ |
+ state->vt = VT_I4; |
+ state->lVal = target->ia_state(); |
+ if (manager->GetFocus() == owner()) |
+ state->lVal |= STATE_SYSTEM_FOCUSED; |
+ |
+ return S_OK; |
} |
bool BrowserAccessibilityComWin::IsRangeValueSupported() { |