Bug 1289223: Make EventTree process all accessibility show events. r=surkov draft
authorMichael Li <michael.li11702@gmail.com>
Tue, 09 Aug 2016 15:07:04 -0400
changeset 398801 564ffd800c2e159dc4823a18e2c35755a18f76cf
parent 398122 61f2c98adad89dff2aef3c9831a82af31db1ae9d
child 527750 6b2417791989549f4924941471d09e839ee93a36
push id25633
push userbmo:mili@mozilla.com
push dateTue, 09 Aug 2016 19:07:40 +0000
reviewerssurkov
bugs1289223
milestone51.0a1
Bug 1289223: Make EventTree process all accessibility show events. r=surkov MozReview-Commit-ID: 1wRLGHR9Vfc
accessible/generic/DocAccessible.cpp
--- a/accessible/generic/DocAccessible.cpp
+++ b/accessible/generic/DocAccessible.cpp
@@ -1457,22 +1457,23 @@ DocAccessible::DoInitialUpdate()
   // this reorder event is processed by parent document then events targeted to
   // this document may be fired prior to this reorder event. If this is
   // a problem then consider to keep event processing per tab document.
   if (!IsRoot()) {
     RefPtr<AccReorderEvent> reorderEvent = new AccReorderEvent(Parent());
     ParentDocument()->FireDelayedEvent(reorderEvent);
   }
 
+  TreeMutation mt(this);
   uint32_t childCount = ChildCount();
   for (uint32_t i = 0; i < childCount; i++) {
     Accessible* child = GetChildAt(i);
-    RefPtr<AccShowEvent> event = new AccShowEvent(child);
-  FireDelayedEvent(event);
+    mt.AfterInsertion(child);
   }
+  mt.Done();
 }
 
 void
 DocAccessible::ProcessLoad()
 {
   mLoadState |= eCompletelyLoaded;
 
 #ifdef A11Y_LOG