[orca] Chromium: Improve reliability of identifying find-in-page widgets
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca] Chromium: Improve reliability of identifying find-in-page widgets
- Date: Thu, 1 Aug 2019 15:50:32 +0000 (UTC)
commit 352388d5d83bbcb166dfff1c5c69af4b862238d5
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Thu Aug 1 11:50:10 2019 -0400
Chromium: Improve reliability of identifying find-in-page widgets
.../scripts/toolkits/Chromium/script_utilities.py | 24 ++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
---
diff --git a/src/orca/scripts/toolkits/Chromium/script_utilities.py
b/src/orca/scripts/toolkits/Chromium/script_utilities.py
index d8fd8b8f3..dd7cb0c56 100644
--- a/src/orca/scripts/toolkits/Chromium/script_utilities.py
+++ b/src/orca/scripts/toolkits/Chromium/script_utilities.py
@@ -366,10 +366,25 @@ class Utilities(web.Utilities):
and len(re.findall("\d+", x.name)) == 2
statusBars = self.findAllDescendants(root, isMatch)
if len(statusBars) == 1:
+ statusBars[0].clearCache()
return statusBars[0].name
return ""
+ def isFindDialog(self, obj):
+ if not obj or self.inDocumentContent(obj):
+ return False
+
+ if obj.getRole() != pyatspi.ROLE_DIALOG:
+ return False
+
+ result = self.getFindResultsCount(obj)
+ if result:
+ msg = "CHROMIUM: %s believed to be find-in-page dialog (%s)" % (obj, result)
+ debug.println(debug.LEVEL_INFO, msg, True)
+
+ return bool(result)
+
def inFindToolbar(self, obj=None):
if not obj:
obj = orca_state.locusOfFocus
@@ -381,15 +396,12 @@ class Utilities(web.Utilities):
return False
isDialog = lambda x: x and x.getRole() == pyatspi.ROLE_DIALOG
- if not pyatspi.findAncestor(obj, isDialog):
- return False
-
- result = self.getFindResultsCount(obj.parent)
+ result = self.isFindDialog(pyatspi.findAncestor(obj, isDialog))
if result:
- msg = "CHROMIUM: %s believed to be find-in-page widget (%s)" % (obj, result)
+ msg = "CHROMIUM: %s believed to be find-in-page widget" % obj
debug.println(debug.LEVEL_INFO, msg, True)
- return bool(result)
+ return result
def isHidden(self, obj):
if not super().isHidden(obj):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]