[orca] Chromium: Don't cache the accessible parent



commit 3d165897debb26aab2ef930a142da74b54872d98
Author: Joanmarie Diggs <joanmarie diggs gmail com>
Date:   Thu Jan 30 17:05:43 2020 -0500

    Chromium: Don't cache the accessible parent
    
    Chromium doesn't always emit parent-change events. While we don't listen
    for those ourselves, those events tell AT-SPI2 to update the cached parent.
    If we cache the parent, then we can wind up getting stuck. Example page is
    the Github issue page when the issue search field gets focus.
    
    We need to get this fixed in Chromium, but in the meantime this should
    make common pages like github work better.

 src/orca/scripts/toolkits/Chromium/script.py | 10 ++++++++++
 1 file changed, 10 insertions(+)
---
diff --git a/src/orca/scripts/toolkits/Chromium/script.py b/src/orca/scripts/toolkits/Chromium/script.py
index 6baa54bb9..a6567e9d9 100644
--- a/src/orca/scripts/toolkits/Chromium/script.py
+++ b/src/orca/scripts/toolkits/Chromium/script.py
@@ -47,6 +47,16 @@ class Script(web.Script):
 
         self.presentIfInactive = False
 
+        # Chromium doesn't always emit parent-change events. While we don't listen
+        # for those ourselves, those events tell AT-SPI2 to update the cached parent.
+        # If we cache the parent, then we can wind up getting stuck. Example page is
+        # the Github issue page when the issue search field gets focus.
+        app.setCacheMask(pyatspi.cache.DEFAULT ^
+                         pyatspi.cache.CHILDREN ^
+                         pyatspi.cache.PARENT ^
+                         pyatspi.cache.NAME ^
+                         pyatspi.cache.DESCRIPTION)
+
     def getBrailleGenerator(self):
         """Returns the braille generator for this script."""
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]