[orca] Chromium: Improve responsiveness of text selection in large objects
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca] Chromium: Improve responsiveness of text selection in large objects
- Date: Fri, 13 Mar 2020 18:03:51 +0000 (UTC)
commit 84641c8bc8c3e832bce0d3de0952247a8e4bf35a
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Fri Mar 13 14:01:49 2020 -0400
Chromium: Improve responsiveness of text selection in large objects
Filter out static text leafs when getting the subtree so we don't
include them when sorting by path.
src/orca/script_utilities.py | 9 +++++++--
src/orca/scripts/web/script_utilities.py | 2 --
2 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/src/orca/script_utilities.py b/src/orca/script_utilities.py
index c41a2d312..2ce9a6753 100644
--- a/src/orca/script_utilities.py
+++ b/src/orca/script_utilities.py
@@ -5460,11 +5460,16 @@ class Utilities:
if not (startObj and endObj):
return []
+ _include = lambda x: x
+ _exclude = self.isStaticTextLeaf
+
subtree = []
for i in range(startObj.getIndexInParent(), startObj.parent.childCount):
child = startObj.parent[i]
+ if self.isStaticTextLeaf(child):
+ continue
subtree.append(child)
- subtree.extend(self.findAllDescendants(child, lambda x: x))
+ subtree.extend(self.findAllDescendants(child, _include, _exclude))
if endObj in subtree:
break
@@ -5473,7 +5478,7 @@ class Utilities:
if endObj not in subtree:
subtree.append(endObj)
- subtree.extend(self.findAllDescendants(endObj, lambda x: x))
+ subtree.extend(self.findAllDescendants(endObj, _include, _exclude))
try:
lastObj = endObj.parent[endObj.getIndexInParent() + 1]
diff --git a/src/orca/scripts/web/script_utilities.py b/src/orca/scripts/web/script_utilities.py
index b0186e12f..584ed952f 100644
--- a/src/orca/scripts/web/script_utilities.py
+++ b/src/orca/scripts/web/script_utilities.py
@@ -1837,8 +1837,6 @@ class Utilities(script_utilities.Utilities):
descendants = sorted(set(oldSubtree).union(newSubtree), key=functools.cmp_to_key(_cmp))
for descendant in descendants:
- if self.isStaticTextLeaf(descendant):
- continue
if descendant not in (oldStart, oldEnd, start, end) \
and pyatspi.findAncestor(descendant, lambda x: x in descendants):
super().updateCachedTextSelection(descendant)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]