Title: [128447] trunk/Tools
Revision
128447
Author
[email protected]
Date
2012-09-13 05:11:35 -0700 (Thu, 13 Sep 2012)

Log Message

[GTK] "Infinite" loop in AccessibilityUIElementGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=96632

Patch by Mario Sanchez Prada <[email protected]> on 2012-09-13
Reviewed by Carlos Garcia Campos.

Fix this by using atk_object_get_n_accessible_children instead of
calling getChildren() from childCount.

* WebKitTestRunner/InjectedBundle/gtk/AccessibilityUIElementGtk.cpp:
(WTR::AccessibilityUIElement::childrenCount): Avoid the infinite
loop by using atk_object_get_n_accessible_children().

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (128446 => 128447)


--- trunk/Tools/ChangeLog	2012-09-13 12:08:45 UTC (rev 128446)
+++ trunk/Tools/ChangeLog	2012-09-13 12:11:35 UTC (rev 128447)
@@ -1,3 +1,17 @@
+2012-09-13  Mario Sanchez Prada  <[email protected]>
+
+        [GTK] "Infinite" loop in AccessibilityUIElementGtk.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=96632
+
+        Reviewed by Carlos Garcia Campos.
+
+        Fix this by using atk_object_get_n_accessible_children instead of
+        calling getChildren() from childCount.
+
+        * WebKitTestRunner/InjectedBundle/gtk/AccessibilityUIElementGtk.cpp:
+        (WTR::AccessibilityUIElement::childrenCount): Avoid the infinite
+        loop by using atk_object_get_n_accessible_children().
+
 2012-09-13  Simon Hausmann  <[email protected]>
 
         [Qt][Win] Enable USE(3D_GRAPHICS)

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/gtk/AccessibilityUIElementGtk.cpp (128446 => 128447)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/gtk/AccessibilityUIElementGtk.cpp	2012-09-13 12:08:45 UTC (rev 128446)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/gtk/AccessibilityUIElementGtk.cpp	2012-09-13 12:11:35 UTC (rev 128447)
@@ -166,9 +166,10 @@
 
 int AccessibilityUIElement::childrenCount()
 {
-    Vector<RefPtr<AccessibilityUIElement> > children;
-    getChildren(children);
-    return children.size();
+    if (!m_element)
+        return 0;
+
+    return atk_object_get_n_accessible_children(ATK_OBJECT(m_element));
 }
 
 PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::elementAtPoint(int x, int y)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to