[orca] Add initial stubs for onChildrenRemoved() for web content



commit ff43304dccb910813999dfd73cd1f28afb2767eb
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Thu Apr 30 17:38:36 2020 -0400

    Add initial stubs for onChildrenRemoved() for web content

 src/orca/scripts/toolkits/Chromium/script.py | 10 +++++++++
 src/orca/scripts/toolkits/Gecko/script.py    | 10 +++++++++
 src/orca/scripts/web/script.py               | 32 ++++++++++++++++++++++++++++
 3 files changed, 52 insertions(+)
---
diff --git a/src/orca/scripts/toolkits/Chromium/script.py b/src/orca/scripts/toolkits/Chromium/script.py
index 54547684e..a895b1683 100644
--- a/src/orca/scripts/toolkits/Chromium/script.py
+++ b/src/orca/scripts/toolkits/Chromium/script.py
@@ -180,6 +180,16 @@ class Script(web.Script):
         debug.println(debug.LEVEL_INFO, msg, True)
         default.Script.onChildrenAdded(self, event)
 
+    def onChildrenRemoved(self, event):
+        """Callback for object:children-changed:removed accessibility events."""
+
+        if super().onChildrenRemoved(event):
+            return
+
+        msg = "Chromium: Passing along event to default script"
+        debug.println(debug.LEVEL_INFO, msg, True)
+        default.Script.onChildrenRemoved(self, event)
+
     def onDocumentLoadComplete(self, event):
         """Callback for document:load-complete accessibility events."""
 
diff --git a/src/orca/scripts/toolkits/Gecko/script.py b/src/orca/scripts/toolkits/Gecko/script.py
index 0de4ed118..d75b96ecc 100644
--- a/src/orca/scripts/toolkits/Gecko/script.py
+++ b/src/orca/scripts/toolkits/Gecko/script.py
@@ -141,6 +141,16 @@ class Script(web.Script):
         debug.println(debug.LEVEL_INFO, msg, True)
         default.Script.onChildrenAdded(self, event)
 
+    def onChildrenRemoved(self, event):
+        """Callback for object:children-changed:removed accessibility events."""
+
+        if super().onChildrenRemoved(event):
+            return
+
+        msg = "GECKO: Passing along event to default script"
+        debug.println(debug.LEVEL_INFO, msg, True)
+        default.Script.onChildrenRemoved(self, event)
+
     def onDocumentLoadComplete(self, event):
         """Callback for document:load-complete accessibility events."""
 
diff --git a/src/orca/scripts/web/script.py b/src/orca/scripts/web/script.py
index 109b25ffa..5f1021714 100644
--- a/src/orca/scripts/web/script.py
+++ b/src/orca/scripts/web/script.py
@@ -1731,6 +1731,38 @@ class Script(default.Script):
 
         return False
 
+    def onChildrenRemoved(self, event):
+        """Callback for object:children-changed:removed accessibility events."""
+
+        if not self.utilities.inDocumentContent(event.source):
+            msg = "WEB: Event source is not in document content."
+            debug.println(debug.LEVEL_INFO, msg, True)
+            return False
+
+        # TODO - JD: Handle this case.
+        if event.any_data == orca_state.locusOfFocus:
+            msg = "WEB: Removed child is locusOfFocus."
+            debug.println(debug.LEVEL_INFO, msg, True)
+            return False
+
+        # TODO - JD: Handle this case.
+        if event.source == orca_state.locusOfFocus:
+            msg = "WEB: Parent is locusOfFocus."
+            debug.println(debug.LEVEL_INFO, msg, True)
+            return False
+
+        if self.utilities.isLiveRegion(event.source):
+            msg = "WEB: Ignoring removal from live region."
+            debug.println(debug.LEVEL_INFO, msg, True)
+            return True
+
+        if self._loadingDocumentContent:
+            msg = "WEB: Ignoring because document content is being loaded."
+            debug.println(debug.LEVEL_INFO, msg, True)
+            return True
+
+        return False
+
     def onDocumentLoadComplete(self, event):
         """Callback for document:load-complete accessibility events."""
 


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