Version in base suite: 3.30.1-1 Base version: orca_3.30.1-1 Target version: orca_3.30.1-2 Base file: /srv/ftp-master.debian.org/ftp/pool/main/o/orca/orca_3.30.1-1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/o/orca/orca_3.30.1-2.dsc changelog | 9 ++++++++ patches/git-webkitgtk1 | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ patches/git-webkitgtk2 | 43 +++++++++++++++++++++++++++++++++++++++ patches/series | 2 + 4 files changed, 107 insertions(+) diff -Nru orca-3.30.1/debian/changelog orca-3.30.1/debian/changelog --- orca-3.30.1/debian/changelog 2018-10-20 10:36:06.000000000 +0000 +++ orca-3.30.1/debian/changelog 2022-05-19 13:50:44.000000000 +0000 @@ -1,3 +1,12 @@ +orca (3.30.1-2) buster; urgency=high + + * debian/patches/git-webkitgtk1: Fix screen reading of webkitgtk 2.36 which + changed its toolkit name + * debian/patches/git-webkitgtk2: Fix screen reading of webkitgtk 2.36 which + doesn't implement Collection any more. + + -- Samuel Thibault Thu, 19 May 2022 15:50:44 +0200 + orca (3.30.1-1) unstable; urgency=medium * New upstream release. diff -Nru orca-3.30.1/debian/patches/git-webkitgtk1 orca-3.30.1/debian/patches/git-webkitgtk1 --- orca-3.30.1/debian/patches/git-webkitgtk1 1970-01-01 00:00:00.000000000 +0000 +++ orca-3.30.1/debian/patches/git-webkitgtk1 2022-05-19 13:50:44.000000000 +0000 @@ -0,0 +1,53 @@ +commit 957e11b3c232632ec0e781b5d765c3000bcd1fb4 +Author: Joanmarie Diggs +Date: Tue May 17 12:21:11 2022 +0200 + + Handle WebKitGtk's change in toolkit name casing + + WebKitGtk objects now expose the toolkit name as WebKitGTK. Our + script mapping for toolkits should probably not be case sensitive. + For the purpose of making newer releases of WebKitGtk still work + with older, stable versions of Orca, this commit just handles + the alternative casing for WebKitGtk. + + Note that in some cases (e.g. Yelp), native caret navigation via + F7 does not seem to be reliably toggled. That is a feature of either + the app or the toolkit; not of Orca. This commit does not impact that. + + See issue #244 + +--- + src/orca/script_manager.py | 3 +++ + src/orca/scripts/toolkits/WebKitGtk/script_utilities.py | 2 +- + 2 files changed, 4 insertions(+), 1 deletion(-) + +--- a/src/orca/script_manager.py ++++ b/src/orca/script_manager.py +@@ -56,6 +56,8 @@ class ScriptManager: + 'mate-notification-daemon': 'notification-daemon', + 'pluma': 'gedit', + } ++ self._toolkitNames = \ ++ {'WebKitGTK': 'WebKitGtk'} + + self.setActiveScript(None, "__init__") + self._desktop = pyatspi.Registry.getDesktop(0) +@@ -130,6 +132,7 @@ class ScriptManager: + else: + attrs = dict([attr.split(':', 1) for attr in attributes]) + name = attrs.get('toolkit', '') ++ name = self._toolkitNames.get(name, name) + + return name + +--- a/src/orca/scripts/toolkits/WebKitGtk/script_utilities.py ++++ b/src/orca/scripts/toolkits/WebKitGtk/script_utilities.py +@@ -61,7 +61,7 @@ class Utilities(script_utilities.Utiliti + attrs = dict([attr.split(':', 1) for attr in obj.getAttributes()]) + except: + return False +- return attrs.get('toolkit', '') == 'WebKitGtk' ++ return attrs.get('toolkit', '') in ['WebKitGtk', 'WebKitGTK'] + + def getCaretContext(self): + # TODO - JD: This is private, but it's only here temporarily until we diff -Nru orca-3.30.1/debian/patches/git-webkitgtk2 orca-3.30.1/debian/patches/git-webkitgtk2 --- orca-3.30.1/debian/patches/git-webkitgtk2 1970-01-01 00:00:00.000000000 +0000 +++ orca-3.30.1/debian/patches/git-webkitgtk2 2022-05-19 13:50:44.000000000 +0000 @@ -0,0 +1,43 @@ +commit e9d8a3e5faa71531a615002dc37bcfda12d15abb +Author: Joanmarie Diggs +Date: Tue May 17 14:14:09 2022 +0200 + + Structural Navigation: Handle unimplemented collection interface error + + The collection interface is something applications and toolkits get + "for free" from AT-SPI2. However, applications/toolkits that provide + their own implementation of AT-SPI2 (e.g. WebKitGtk) presumably need + to also implement AtspiCollection themselves, or do something so that + the default AT-SPI2 implementation is used. Currently, in WebKitGtk + version 2.36, a non-implemented error occurs when querying the + collection interface on the document. We were not handling this error, + causing Orca to be silent when structural navigation commands were + used. This commit handles the error. It cannot solve the missing + implementation, however. Thus in WebKitGtk apps, Orca will now announce + things like "no more headings" when there are in fact headings present. + + See issue #244 + +diff --git a/src/orca/structural_navigation.py b/src/orca/structural_navigation.py +index 676efc808..920e03e71 100644 +--- a/src/orca/structural_navigation.py ++++ b/src/orca/structural_navigation.py +@@ -868,7 +868,17 @@ class StructuralNavigation: + if matches: + return matches.copy(), criteria + +- col = document.queryCollection() ++ try: ++ col = document.queryCollection() ++ except NotImplementedError: ++ msg = "STRUCTURAL NAVIGATION: %s does not implement collection" % document ++ debug.println(debug.LEVEL_INFO, msg, True) ++ return [], None ++ except: ++ msg = "STRUCTURAL NAVIGATION: Exception querying collection on %s" % document ++ debug.println(debug.LEVEL_INFO, msg, True) ++ return [], None ++ + criteria = structuralNavigationObject.criteria(col, arg) + rule = col.createMatchRule(criteria.states.raw(), + criteria.matchStates, diff -Nru orca-3.30.1/debian/patches/series orca-3.30.1/debian/patches/series --- orca-3.30.1/debian/patches/series 2018-10-16 20:29:32.000000000 +0000 +++ orca-3.30.1/debian/patches/series 2022-05-19 13:50:44.000000000 +0000 @@ -1 +1,3 @@ # +git-webkitgtk1 +git-webkitgtk2