[orca] Update location when zombie replicant is announced to us via focus change
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca] Update location when zombie replicant is announced to us via focus change
- Date: Mon, 13 Feb 2017 10:18:52 +0000 (UTC)
commit 32818df482728048d24e989348ffb523d039aea7
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Mon Feb 13 05:11:05 2017 -0500
Update location when zombie replicant is announced to us via focus change
src/orca/scripts/web/script.py | 20 +++++++++++++-------
src/orca/scripts/web/script_utilities.py | 6 +++---
2 files changed, 16 insertions(+), 10 deletions(-)
---
diff --git a/src/orca/scripts/web/script.py b/src/orca/scripts/web/script.py
index 930b9c6..0858260 100644
--- a/src/orca/scripts/web/script.py
+++ b/src/orca/scripts/web/script.py
@@ -1599,6 +1599,19 @@ class Script(default.Script):
orca.setLocusOfFocus(event, event.source)
return True
+ obj, offset = self.utilities.getCaretContext()
+ if obj and self.utilities.isZombie(obj):
+ msg = "WEB: Clearing context - obj is zombie"
+ debug.println(debug.LEVEL_INFO, msg, True)
+ self.utilities.clearCaretContext()
+
+ obj, offset = self.utilities.searchForCaretContext(event.source)
+ if obj:
+ msg = "WEB: Updating focus and context to %s, %i" % (obj, offset)
+ debug.println(debug.LEVEL_INFO, msg, True)
+ orca.setLocusOfFocus(event, obj, False)
+ self.utilities.setCaretContext(obj, offset)
+
if self._lastCommandWasCaretNav:
msg = "WEB: Event ignored: Last command was caret nav"
debug.println(debug.LEVEL_INFO, msg, True)
@@ -1620,13 +1633,6 @@ class Script(default.Script):
debug.println(debug.LEVEL_INFO, msg, True)
return False
- obj, offset = self.utilities.getCaretContext(event.source)
- if obj and self.utilities.isZombie(obj):
- msg = "WEB: Clearing context - obj is zombie"
- debug.println(debug.LEVEL_INFO, msg, True)
- self.utilities.clearCaretContext()
- obj, offset = self.utilities.getCaretContext(event.source)
-
if not obj:
msg = "WEB: Unable to get non-null, non-zombie context object"
debug.println(debug.LEVEL_INFO, msg, True)
diff --git a/src/orca/scripts/web/script_utilities.py b/src/orca/scripts/web/script_utilities.py
index c4ad57e..c4de59f 100644
--- a/src/orca/scripts/web/script_utilities.py
+++ b/src/orca/scripts/web/script_utilities.py
@@ -3013,7 +3013,7 @@ class Utilities(script_utilities.Utilities):
return role in doNotDescend
- def _searchForCaretContext(self, obj):
+ def searchForCaretContext(self, obj):
contextObj, contextOffset = None, -1
while obj:
try:
@@ -3056,13 +3056,13 @@ class Utilities(script_utilities.Utilities):
context = self._caretContexts.get(hash(documentFrame.parent))
if not context:
- obj, offset = self._searchForCaretContext(documentFrame)
+ obj, offset = self.searchForCaretContext(documentFrame)
elif not getZombieReplicant:
return context
elif self.isZombie(context[0]):
obj, offset = self.findContextReplicant()
if obj:
- caretObj, caretOffset = self._searchForCaretContext(obj.parent)
+ caretObj, caretOffset = self.searchForCaretContext(obj.parent)
if caretObj and not self.isZombie(caretObj):
obj, offset = caretObj, caretOffset
else:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]