Title: [288703] trunk/Source/WebCore
Revision
288703
Author
andresg...@apple.com
Date
2022-01-27 14:23:28 -0800 (Thu, 27 Jan 2022)

Log Message

AXIsolatedObject::children should honor the parameter updateChildrenIfNeeded.
https://bugs.webkit.org/show_bug.cgi?id=235728
<rdar://problem/88149344>

Reviewed by Chris Fleizach.

This will allow to get a more accurate smapshot of the isolated tree
during debugging. For instance it will allow to do AXLOG of the isolated
tree in applyPendingChanges which is currently not possible because
results in infinite recursion.

* accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::children):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (288702 => 288703)


--- trunk/Source/WebCore/ChangeLog	2022-01-27 22:18:26 UTC (rev 288702)
+++ trunk/Source/WebCore/ChangeLog	2022-01-27 22:23:28 UTC (rev 288703)
@@ -1,3 +1,19 @@
+2022-01-27  Andres Gonzalez  <andresg...@apple.com>
+
+        AXIsolatedObject::children should honor the parameter updateChildrenIfNeeded.
+        https://bugs.webkit.org/show_bug.cgi?id=235728
+        <rdar://problem/88149344>
+
+        Reviewed by Chris Fleizach.
+
+        This will allow to get a more accurate smapshot of the isolated tree
+        during debugging. For instance it will allow to do AXLOG of the isolated
+        tree in applyPendingChanges which is currently not possible because
+        results in infinite recursion.
+
+        * accessibility/isolatedtree/AXIsolatedObject.cpp:
+        (WebCore::AXIsolatedObject::children):
+
 2022-01-27  Kate Cheney  <katherine_che...@apple.com>
 
         "Unrecognized Content-Security-Policy directive 'worker-src'."

Modified: trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp (288702 => 288703)


--- trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp	2022-01-27 22:18:26 UTC (rev 288702)
+++ trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp	2022-01-27 22:23:28 UTC (rev 288703)
@@ -531,7 +531,7 @@
     m_parentID = { };
 }
 
-const AXCoreObject::AccessibilityChildrenVector& AXIsolatedObject::children(bool)
+const AXCoreObject::AccessibilityChildrenVector& AXIsolatedObject::children(bool updateChildrenIfNeeded)
 {
 #if USE(APPLE_INTERNAL_SDK)
     ASSERT(_AXSIsolatedTreeModeFunctionIsAvailable() && ((_AXSIsolatedTreeMode_Soft() == AXSIsolatedTreeModeSecondaryThread && !isMainThread())
@@ -539,12 +539,14 @@
 #elif USE(ATSPI)
     ASSERT(!isMainThread());
 #endif
-    updateBackingStore();
-    m_children.clear();
-    m_children.reserveInitialCapacity(m_childrenIDs.size());
-    for (const auto& childID : m_childrenIDs) {
-        if (auto child = tree()->nodeForID(childID))
-            m_children.uncheckedAppend(child);
+    if (updateChildrenIfNeeded) {
+        updateBackingStore();
+        m_children.clear();
+        m_children.reserveInitialCapacity(m_childrenIDs.size());
+        for (const auto& childID : m_childrenIDs) {
+            if (auto child = tree()->nodeForID(childID))
+                m_children.uncheckedAppend(child);
+        }
     }
     return m_children;
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to