Index: content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java |
index cc5367681bbbdbd95f8bbc677a7d738114abd8a1..a8326c7e6f8f688516b4f239dc596896025f029a 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java |
@@ -211,9 +211,11 @@ public class BrowserAccessibilityManager { |
} |
return true; |
case AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS: |
+ // ALWAYS respond with TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED whether we thought |
+ // it had focus or not, so that the Android framework cache is correct. |
+ sendAccessibilityEvent(virtualViewId, |
+ AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED); |
if (mAccessibilityFocusId == virtualViewId) { |
- sendAccessibilityEvent(mAccessibilityFocusId, |
- AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED); |
mAccessibilityFocusId = View.NO_ID; |
mAccessibilityFocusRect = null; |
} |