Title: [150431] trunk/Tools
Revision
150431
Author
[email protected]
Date
2013-05-21 01:43:57 -0700 (Tue, 21 May 2013)

Log Message

[ATK] [WebKit2] AccessibilityUIElement often leaks its AtkObject
https://bugs.webkit.org/show_bug.cgi?id=112913

Patch by Krzysztof Czech <[email protected]> on 2013-05-21
Reviewed by Martin Robinson.

AccessibilityUIElement is often created by passing new reference to AtkObject (transfer full).
AccessibilityUIElement::~AccessibilityUIElement does not decrement the reference of the element,
so the leak appears.

* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
(WTR::AccessibilityController::rootElement):
(WTR):
(WTR::AccessibilityController::focusedElement):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::checkElementState):
(WTR::indexRangeInTable):
(WTR::alterCurrentValue):
(WTR::AccessibilityUIElement::getChildren):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::childrenCount):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::allAttributes):
(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::title):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::orientation):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::x):
(WTR::AccessibilityUIElement::y):
(WTR::AccessibilityUIElement::width):
(WTR::AccessibilityUIElement::height):
(WTR::AccessibilityUIElement::intValue):
(WTR::AccessibilityUIElement::minValue):
(WTR::AccessibilityUIElement::maxValue):
(WTR::AccessibilityUIElement::isEnabled):
(WTR::AccessibilityUIElement::isFocused):
(WTR::AccessibilityUIElement::isSelected):
(WTR::AccessibilityUIElement::isExpanded):
(WTR::AccessibilityUIElement::isChecked):
(WTR::AccessibilityUIElement::rowCount):
(WTR::AccessibilityUIElement::columnCount):
(WTR::AccessibilityUIElement::rowIndexRange):
(WTR::AccessibilityUIElement::columnIndexRange):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::increment):
(WTR::AccessibilityUIElement::decrement):
(WTR::AccessibilityUIElement::press):
(WTR::AccessibilityUIElement::documentEncoding):
(WTR::AccessibilityUIElement::documentURI):
(WTR::AccessibilityUIElement::isFocusable):
(WTR::AccessibilityUIElement::isSelectable):
(WTR::AccessibilityUIElement::isMultiSelectable):
(WTR::AccessibilityUIElement::isVisible):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (150430 => 150431)


--- trunk/Tools/ChangeLog	2013-05-21 08:40:41 UTC (rev 150430)
+++ trunk/Tools/ChangeLog	2013-05-21 08:43:57 UTC (rev 150431)
@@ -1,3 +1,65 @@
+2013-05-21  Krzysztof Czech  <[email protected]>
+
+        [ATK] [WebKit2] AccessibilityUIElement often leaks its AtkObject
+        https://bugs.webkit.org/show_bug.cgi?id=112913
+
+        Reviewed by Martin Robinson.
+
+        AccessibilityUIElement is often created by passing new reference to AtkObject (transfer full).
+        AccessibilityUIElement::~AccessibilityUIElement does not decrement the reference of the element,
+        so the leak appears.
+
+        * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
+        (WTR):
+        * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
+        * WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
+        (WTR::AccessibilityController::rootElement):
+        (WTR):
+        (WTR::AccessibilityController::focusedElement):
+        * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
+        (WTR::checkElementState):
+        (WTR::indexRangeInTable):
+        (WTR::alterCurrentValue):
+        (WTR::AccessibilityUIElement::getChildren):
+        (WTR::AccessibilityUIElement::getChildrenWithRange):
+        (WTR::AccessibilityUIElement::childrenCount):
+        (WTR::AccessibilityUIElement::indexOfChild):
+        (WTR::AccessibilityUIElement::titleUIElement):
+        (WTR::AccessibilityUIElement::parentElement):
+        (WTR::AccessibilityUIElement::allAttributes):
+        (WTR::AccessibilityUIElement::role):
+        (WTR::AccessibilityUIElement::title):
+        (WTR::AccessibilityUIElement::description):
+        (WTR::AccessibilityUIElement::orientation):
+        (WTR::AccessibilityUIElement::stringValue):
+        (WTR::AccessibilityUIElement::language):
+        (WTR::AccessibilityUIElement::x):
+        (WTR::AccessibilityUIElement::y):
+        (WTR::AccessibilityUIElement::width):
+        (WTR::AccessibilityUIElement::height):
+        (WTR::AccessibilityUIElement::intValue):
+        (WTR::AccessibilityUIElement::minValue):
+        (WTR::AccessibilityUIElement::maxValue):
+        (WTR::AccessibilityUIElement::isEnabled):
+        (WTR::AccessibilityUIElement::isFocused):
+        (WTR::AccessibilityUIElement::isSelected):
+        (WTR::AccessibilityUIElement::isExpanded):
+        (WTR::AccessibilityUIElement::isChecked):
+        (WTR::AccessibilityUIElement::rowCount):
+        (WTR::AccessibilityUIElement::columnCount):
+        (WTR::AccessibilityUIElement::rowIndexRange):
+        (WTR::AccessibilityUIElement::columnIndexRange):
+        (WTR::AccessibilityUIElement::cellForColumnAndRow):
+        (WTR::AccessibilityUIElement::increment):
+        (WTR::AccessibilityUIElement::decrement):
+        (WTR::AccessibilityUIElement::press):
+        (WTR::AccessibilityUIElement::documentEncoding):
+        (WTR::AccessibilityUIElement::documentURI):
+        (WTR::AccessibilityUIElement::isFocusable):
+        (WTR::AccessibilityUIElement::isSelectable):
+        (WTR::AccessibilityUIElement::isMultiSelectable):
+        (WTR::AccessibilityUIElement::isVisible):
+
 2013-05-20  Lucas Forschler  <[email protected]>
 
     Rollout 150398.

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.cpp (150430 => 150431)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.cpp	2013-05-21 08:40:41 UTC (rev 150430)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.cpp	2013-05-21 08:43:57 UTC (rev 150431)
@@ -69,6 +69,7 @@
     return JSAccessibilityController::accessibilityControllerClass();
 }
 
+#if !PLATFORM(GTK) && !PLATFORM(EFL)
 PassRefPtr<AccessibilityUIElement> AccessibilityController::rootElement()
 {
     // FIXME: Make this work on Windows.
@@ -94,6 +95,7 @@
     return AccessibilityUIElement::create(static_cast<PlatformUIElement>(root));    
 #endif
 }
+#endif
 
 PassRefPtr<AccessibilityUIElement> AccessibilityController::elementAtPoint(int x, int y)
 {

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h (150430 => 150431)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h	2013-05-21 08:40:41 UTC (rev 150430)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h	2013-05-21 08:43:57 UTC (rev 150431)
@@ -51,7 +51,8 @@
 typedef COMPtr<IAccessible> PlatformUIElement;
 #elif PLATFORM(GTK) || (PLATFORM(EFL) && HAVE(ACCESSIBILITY))
 #include <atk/atk.h>
-typedef AtkObject* PlatformUIElement;
+#include <wtf/gobject/GRefPtr.h>
+typedef GRefPtr<AtkObject> PlatformUIElement;
 #else
 typedef void* PlatformUIElement;
 #endif

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp (150430 => 150431)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp	2013-05-21 08:40:41 UTC (rev 150430)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp	2013-05-21 08:43:57 UTC (rev 150431)
@@ -192,4 +192,20 @@
     return 0;
 }
 
+PassRefPtr<AccessibilityUIElement> AccessibilityController::rootElement()
+{
+    WKBundlePageRef page = InjectedBundle::shared().page()->page();
+    void* root = WKAccessibilityRootObject(page);
+
+    return AccessibilityUIElement::create(static_cast<AtkObject*>(root));
+}
+
+PassRefPtr<AccessibilityUIElement> AccessibilityController::focusedElement()
+{
+    WKBundlePageRef page = InjectedBundle::shared().page()->page();
+    void* root = WKAccessibilityFocusedObject(page);
+
+    return AccessibilityUIElement::create(static_cast<AtkObject*>(root));
+}
+
 } // namespace WTR

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp (150430 => 150431)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp	2013-05-21 08:40:41 UTC (rev 150430)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp	2013-05-21 08:43:57 UTC (rev 150431)
@@ -72,10 +72,10 @@
 
 static bool checkElementState(PlatformUIElement element, AtkStateType stateType)
 {
-    if (!ATK_IS_OBJECT(element))
+    if (!ATK_IS_OBJECT(element.get()))
         return false;
 
-    GRefPtr<AtkStateSet> stateSet = adoptGRef(atk_object_ref_state_set(ATK_OBJECT(element)));
+    GRefPtr<AtkStateSet> stateSet = adoptGRef(atk_object_ref_state_set(ATK_OBJECT(element.get())));
     return atk_state_set_contains_state(stateSet.get(), stateType);
 }
 
@@ -83,15 +83,15 @@
 {
     GOwnPtr<gchar> rangeString(g_strdup("{0, 0}"));
 
-    if (!element || !ATK_IS_OBJECT(element))
+    if (!element || !ATK_IS_OBJECT(element.get()))
         return JSStringCreateWithUTF8CString(rangeString.get());
 
-    AtkObject* axTable = atk_object_get_parent(ATK_OBJECT(element));
+    AtkObject* axTable = atk_object_get_parent(ATK_OBJECT(element.get()));
     if (!axTable || !ATK_IS_TABLE(axTable))
         return JSStringCreateWithUTF8CString(rangeString.get());
 
     // Look for the cell in the table.
-    gint indexInParent = atk_object_get_index_in_parent(ATK_OBJECT(element));
+    gint indexInParent = atk_object_get_index_in_parent(ATK_OBJECT(element.get()));
     if (indexInParent == -1)
         return JSStringCreateWithUTF8CString(rangeString.get());
 
@@ -119,20 +119,20 @@
 
 static void alterCurrentValue(PlatformUIElement element, int factor)
 {
-    if (!element || !ATK_IS_VALUE(element))
+    if (!element || !ATK_IS_VALUE(element.get()))
         return;
 
     GValue currentValue = G_VALUE_INIT;
-    atk_value_get_current_value(ATK_VALUE(element), &currentValue);
+    atk_value_get_current_value(ATK_VALUE(element.get()), &currentValue);
 
     GValue increment = G_VALUE_INIT;
-    atk_value_get_minimum_increment(ATK_VALUE(element), &increment);
+    atk_value_get_minimum_increment(ATK_VALUE(element.get()), &increment);
 
     GValue newValue = G_VALUE_INIT;
     g_value_init(&newValue, G_TYPE_DOUBLE);
 
     g_value_set_float(&newValue, g_value_get_float(&currentValue) + factor * g_value_get_float(&increment));
-    atk_value_set_current_value(ATK_VALUE(element), &newValue);
+    atk_value_set_current_value(ATK_VALUE(element.get()), &newValue);
 
     g_value_unset(&newValue);
     g_value_unset(&increment);
@@ -285,24 +285,24 @@
 
 void AccessibilityUIElement::getChildren(Vector<RefPtr<AccessibilityUIElement> >& children)
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return;
 
     int count = childrenCount();
     for (int i = 0; i < count; i++) {
-        AtkObject* child = atk_object_ref_accessible_child(ATK_OBJECT(m_element), i);
-        children.append(AccessibilityUIElement::create(child));
+        GRefPtr<AtkObject> child = adoptGRef(atk_object_ref_accessible_child(ATK_OBJECT(m_element.get()), i));
+        children.append(AccessibilityUIElement::create(child.get()));
     }
 }
 
 void AccessibilityUIElement::getChildrenWithRange(Vector<RefPtr<AccessibilityUIElement> >& children, unsigned location, unsigned length)
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return;
     unsigned end = location + length;
     for (unsigned i = location; i < end; i++) {
-        AtkObject* child = atk_object_ref_accessible_child(ATK_OBJECT(m_element), i);
-        children.append(AccessibilityUIElement::create(child));
+        GRefPtr<AtkObject> child = adoptGRef(atk_object_ref_accessible_child(ATK_OBJECT(m_element.get()), i));
+        children.append(AccessibilityUIElement::create(child.get()));
     }
 }
 
@@ -311,7 +311,7 @@
     if (!m_element)
         return 0;
 
-    return atk_object_get_n_accessible_children(ATK_OBJECT(m_element));
+    return atk_object_get_n_accessible_children(ATK_OBJECT(m_element.get()));
 }
 
 PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::elementAtPoint(int x, int y)
@@ -322,7 +322,7 @@
 
 unsigned AccessibilityUIElement::indexOfChild(AccessibilityUIElement* element)
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return 0;
 
     Vector<RefPtr<AccessibilityUIElement> > children;
@@ -400,7 +400,7 @@
     if (!m_element)
         return 0;
 
-    AtkRelationSet* set = atk_object_ref_relation_set(ATK_OBJECT(m_element));
+    AtkRelationSet* set = atk_object_ref_relation_set(ATK_OBJECT(m_element.get()));
     if (!set)
         return 0;
 
@@ -421,10 +421,10 @@
 
 PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::parentElement()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return 0;
 
-    AtkObject* parent = atk_object_get_parent(ATK_OBJECT(m_element));
+    AtkObject* parent = atk_object_get_parent(ATK_OBJECT(m_element.get()));
     return parent ? AccessibilityUIElement::create(parent) : 0;
 }
 
@@ -454,10 +454,10 @@
 
 JSRetainPtr<JSStringRef> AccessibilityUIElement::allAttributes()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return JSStringCreateWithCharacters(0, 0);
 
-    GOwnPtr<gchar> attributeData(attributeSetToString(atk_object_get_attributes(ATK_OBJECT(m_element))));
+    GOwnPtr<gchar> attributeData(attributeSetToString(atk_object_get_attributes(ATK_OBJECT(m_element.get()))));
     return JSStringCreateWithUTF8CString(attributeData.get());
 }
 
@@ -505,10 +505,10 @@
 
 JSRetainPtr<JSStringRef> AccessibilityUIElement::role()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return JSStringCreateWithCharacters(0, 0);
 
-    AtkRole role = atk_object_get_role(ATK_OBJECT(m_element));
+    AtkRole role = atk_object_get_role(ATK_OBJECT(m_element.get()));
     if (!role)
         return JSStringCreateWithCharacters(0, 0);
 
@@ -530,10 +530,10 @@
 
 JSRetainPtr<JSStringRef> AccessibilityUIElement::title()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return JSStringCreateWithCharacters(0, 0);
 
-    const gchar* name = atk_object_get_name(ATK_OBJECT(m_element));
+    const gchar* name = atk_object_get_name(ATK_OBJECT(m_element.get()));
     GOwnPtr<gchar> axTitle(g_strdup_printf("AXTitle: %s", name ? name : ""));
 
     return JSStringCreateWithUTF8CString(axTitle.get());
@@ -541,10 +541,10 @@
 
 JSRetainPtr<JSStringRef> AccessibilityUIElement::description()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return JSStringCreateWithCharacters(0, 0);
 
-    const gchar* description = atk_object_get_description(ATK_OBJECT(m_element));
+    const gchar* description = atk_object_get_description(ATK_OBJECT(m_element.get()));
     if (!description)
         return JSStringCreateWithCharacters(0, 0);
 
@@ -555,13 +555,13 @@
 
 JSRetainPtr<JSStringRef> AccessibilityUIElement::orientation() const
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return JSStringCreateWithCharacters(0, 0);
 
     const gchar* axOrientation = 0;
-    if (checkElementState(m_element, ATK_STATE_HORIZONTAL))
+    if (checkElementState(m_element.get(), ATK_STATE_HORIZONTAL))
         axOrientation = "AXOrientation: AXHorizontalOrientation";
-    else if (checkElementState(m_element, ATK_STATE_VERTICAL))
+    else if (checkElementState(m_element.get(), ATK_STATE_VERTICAL))
         axOrientation = "AXOrientation: AXVerticalOrientation";
 
     if (!axOrientation)
@@ -572,10 +572,10 @@
 
 JSRetainPtr<JSStringRef> AccessibilityUIElement::stringValue()
 {
-    if (!m_element || !ATK_IS_TEXT(m_element))
+    if (!m_element || !ATK_IS_TEXT(m_element.get()))
         return JSStringCreateWithCharacters(0, 0);
 
-    GOwnPtr<gchar> text(atk_text_get_text(ATK_TEXT(m_element), 0, -1));
+    GOwnPtr<gchar> text(atk_text_get_text(ATK_TEXT(m_element.get()), 0, -1));
     GOwnPtr<gchar> textWithReplacedCharacters(replaceCharactersForResults(text.get()));
     GOwnPtr<gchar> axValue(g_strdup_printf("AXValue: %s", textWithReplacedCharacters.get()));
 
@@ -584,21 +584,21 @@
 
 JSRetainPtr<JSStringRef> AccessibilityUIElement::language()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return JSStringCreateWithCharacters(0, 0);
 
     GOwnPtr<gchar> language;
     // In ATK, the document language is exposed as the document's locale.
-    if (atk_object_get_role(ATK_OBJECT(m_element)) == ATK_ROLE_DOCUMENT_FRAME) {
-        language.set(g_strdup_printf("AXLanguage: %s", atk_document_get_locale(ATK_DOCUMENT(m_element))));
+    if (atk_object_get_role(ATK_OBJECT(m_element.get())) == ATK_ROLE_DOCUMENT_FRAME) {
+        language.set(g_strdup_printf("AXLanguage: %s", atk_document_get_locale(ATK_DOCUMENT(m_element.get()))));
         return JSStringCreateWithUTF8CString(language.get());
     }
 
     // For all other objects, the language is exposed as an AtkText attribute.
-    if (!ATK_IS_TEXT(m_element))
+    if (!ATK_IS_TEXT(m_element.get()))
         return JSStringCreateWithCharacters(0, 0);
 
-    GOwnPtr<GSList> textAttributes(atk_text_get_default_attributes(ATK_TEXT(m_element)));
+    GOwnPtr<GSList> textAttributes(atk_text_get_default_attributes(ATK_TEXT(m_element.get())));
     for (GSList* attributes = textAttributes.get(); attributes; attributes = attributes->next) {
         AtkAttribute* atkAttribute = static_cast<AtkAttribute*>(attributes->data);
         if (!strcmp(atkAttribute->name, atk_text_attribute_get_name(ATK_TEXT_ATTR_LANGUAGE))) {
@@ -622,41 +622,41 @@
 
 double AccessibilityUIElement::x()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return 0.0f;
 
     int x, y;
-    atk_component_get_position(ATK_COMPONENT(m_element), &x, &y, ATK_XY_SCREEN);
+    atk_component_get_position(ATK_COMPONENT(m_element.get()), &x, &y, ATK_XY_SCREEN);
     return x;
 }
 
 double AccessibilityUIElement::y()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return 0.0f;
 
     int x, y;
-    atk_component_get_position(ATK_COMPONENT(m_element), &x, &y, ATK_XY_SCREEN);
+    atk_component_get_position(ATK_COMPONENT(m_element.get()), &x, &y, ATK_XY_SCREEN);
     return y;
 }
 
 double AccessibilityUIElement::width()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return 0.0f;
 
     int width, height;
-    atk_component_get_size(ATK_COMPONENT(m_element), &width, &height);
+    atk_component_get_size(ATK_COMPONENT(m_element.get()), &width, &height);
     return width;
 }
 
 double AccessibilityUIElement::height()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return 0.0f;
 
     int width, height;
-    atk_component_get_size(ATK_COMPONENT(m_element), &width, &height);
+    atk_component_get_size(ATK_COMPONENT(m_element.get()), &width, &height);
     return height;
 }
 
@@ -674,11 +674,11 @@
 
 double AccessibilityUIElement::intValue() const
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return 0.0f;
 
     GValue value = G_VALUE_INIT;
-    atk_value_get_current_value(ATK_VALUE(m_element), &value);
+    atk_value_get_current_value(ATK_VALUE(m_element.get()), &value);
     if (!G_VALUE_HOLDS_FLOAT(&value))
         return 0.0f;
 
@@ -687,11 +687,11 @@
 
 double AccessibilityUIElement::minValue()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return 0.0f;
 
     GValue value = G_VALUE_INIT;
-    atk_value_get_minimum_value(ATK_VALUE(m_element), &value);
+    atk_value_get_minimum_value(ATK_VALUE(m_element.get()), &value);
     if (!G_VALUE_HOLDS_FLOAT(&value))
         return 0.0f;
 
@@ -700,11 +700,11 @@
 
 double AccessibilityUIElement::maxValue()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return 0.0f;
 
     GValue value = G_VALUE_INIT;
-    atk_value_get_maximum_value(ATK_VALUE(m_element), &value);
+    atk_value_get_maximum_value(ATK_VALUE(m_element.get()), &value);
     if (!G_VALUE_HOLDS_FLOAT(&value))
         return 0.0f;
 
@@ -743,7 +743,7 @@
 
 bool AccessibilityUIElement::isEnabled()
 {
-    return checkElementState(m_element, ATK_STATE_ENABLED);
+    return checkElementState(m_element.get(), ATK_STATE_ENABLED);
 }
 
 bool AccessibilityUIElement::isRequired() const
@@ -754,22 +754,22 @@
 
 bool AccessibilityUIElement::isFocused() const
 {
-    return checkElementState(m_element, ATK_STATE_FOCUSED);
+    return checkElementState(m_element.get(), ATK_STATE_FOCUSED);
 }
 
 bool AccessibilityUIElement::isSelected() const
 {
-    return checkElementState(m_element, ATK_STATE_SELECTED);
+    return checkElementState(m_element.get(), ATK_STATE_SELECTED);
 }
 
 bool AccessibilityUIElement::isExpanded() const
 {
-    return checkElementState(m_element, ATK_STATE_EXPANDED);
+    return checkElementState(m_element.get(), ATK_STATE_EXPANDED);
 }
 
 bool AccessibilityUIElement::isChecked() const
 {
-    return checkElementState(m_element, ATK_STATE_CHECKED);
+    return checkElementState(m_element.get(), ATK_STATE_CHECKED);
 }
 
 int AccessibilityUIElement::hierarchicalLevel() const
@@ -883,18 +883,18 @@
 
 int AccessibilityUIElement::rowCount()
 {
-    if (!m_element || !ATK_IS_TABLE(m_element))
+    if (!m_element || !ATK_IS_TABLE(m_element.get()))
         return 0;
 
-    return atk_table_get_n_rows(ATK_TABLE(m_element));
+    return atk_table_get_n_rows(ATK_TABLE(m_element.get()));
 }
 
 int AccessibilityUIElement::columnCount()
 {
-    if (!m_element || !ATK_IS_TABLE(m_element))
+    if (!m_element || !ATK_IS_TABLE(m_element.get()))
         return 0;
 
-    return atk_table_get_n_columns(ATK_TABLE(m_element));
+    return atk_table_get_n_columns(ATK_TABLE(m_element.get()));
 }
 
 int AccessibilityUIElement::indexInTable()
@@ -906,23 +906,23 @@
 JSRetainPtr<JSStringRef> AccessibilityUIElement::rowIndexRange()
 {
     // Range in table for rows.
-    return indexRangeInTable(m_element, true);
+    return indexRangeInTable(m_element.get(), true);
 }
 
 JSRetainPtr<JSStringRef> AccessibilityUIElement::columnIndexRange()
 {
     // Range in table for columns.
-    return indexRangeInTable(m_element, false);
+    return indexRangeInTable(m_element.get(), false);
 }
 
 PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::cellForColumnAndRow(unsigned col, unsigned row)
 {
-    if (!m_element || !ATK_IS_TABLE(m_element))
+    if (!m_element || !ATK_IS_TABLE(m_element.get()))
         return 0;
 
     // Adopt the AtkObject representing the cell because
     // at_table_ref_at() transfers full ownership.
-    GRefPtr<AtkObject> foundCell = adoptGRef(atk_table_ref_at(ATK_TABLE(m_element), row, col));
+    GRefPtr<AtkObject> foundCell = adoptGRef(atk_table_ref_at(ATK_TABLE(m_element.get()), row, col));
     return foundCell ? AccessibilityUIElement::create(foundCell.get()) : 0;
 }
 
@@ -951,12 +951,12 @@
 
 void AccessibilityUIElement::increment()
 {
-    alterCurrentValue(m_element, 1);
+    alterCurrentValue(m_element.get(), 1);
 }
 
 void AccessibilityUIElement::decrement()
 {
-    alterCurrentValue(m_element, -1);
+    alterCurrentValue(m_element.get(), -1);
 }
 
 void AccessibilityUIElement::showMenu()
@@ -966,14 +966,14 @@
 
 void AccessibilityUIElement::press()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return;
 
-    if (!ATK_IS_ACTION(m_element))
+    if (!ATK_IS_ACTION(m_element.get()))
         return;
 
     // Only one action per object is supported so far.
-    atk_action_do_action(ATK_ACTION(m_element), 0);
+    atk_action_do_action(ATK_ACTION(m_element.get()), 0);
 }
 
 void AccessibilityUIElement::setSelectedChild(AccessibilityUIElement* element) const
@@ -989,26 +989,26 @@
 
 JSRetainPtr<JSStringRef> AccessibilityUIElement::documentEncoding()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return JSStringCreateWithCharacters(0, 0);
 
-    AtkRole role = atk_object_get_role(ATK_OBJECT(m_element));
+    AtkRole role = atk_object_get_role(ATK_OBJECT(m_element.get()));
     if (role != ATK_ROLE_DOCUMENT_FRAME)
         return JSStringCreateWithCharacters(0, 0);
 
-    return JSStringCreateWithUTF8CString(atk_document_get_attribute_value(ATK_DOCUMENT(m_element), "Encoding"));
+    return JSStringCreateWithUTF8CString(atk_document_get_attribute_value(ATK_DOCUMENT(m_element.get()), "Encoding"));
 }
 
 JSRetainPtr<JSStringRef> AccessibilityUIElement::documentURI()
 {
-    if (!m_element || !ATK_IS_OBJECT(m_element))
+    if (!m_element || !ATK_IS_OBJECT(m_element.get()))
         return JSStringCreateWithCharacters(0, 0);
 
-    AtkRole role = atk_object_get_role(ATK_OBJECT(m_element));
+    AtkRole role = atk_object_get_role(ATK_OBJECT(m_element.get()));
     if (role != ATK_ROLE_DOCUMENT_FRAME)
         return JSStringCreateWithCharacters(0, 0);
 
-    return JSStringCreateWithUTF8CString(atk_document_get_attribute_value(ATK_DOCUMENT(m_element), "URI"));
+    return JSStringCreateWithUTF8CString(atk_document_get_attribute_value(ATK_DOCUMENT(m_element.get()), "URI"));
 }
 
 JSRetainPtr<JSStringRef> AccessibilityUIElement::url()
@@ -1031,22 +1031,22 @@
 
 bool AccessibilityUIElement::isFocusable() const
 {
-    return checkElementState(m_element, ATK_STATE_FOCUSABLE);
+    return checkElementState(m_element.get(), ATK_STATE_FOCUSABLE);
 }
 
 bool AccessibilityUIElement::isSelectable() const
 {
-    return checkElementState(m_element, ATK_STATE_SELECTABLE);
+    return checkElementState(m_element.get(), ATK_STATE_SELECTABLE);
 }
 
 bool AccessibilityUIElement::isMultiSelectable() const
 {
-    return checkElementState(m_element, ATK_STATE_MULTISELECTABLE);
+    return checkElementState(m_element.get(), ATK_STATE_MULTISELECTABLE);
 }
 
 bool AccessibilityUIElement::isVisible() const
 {
-    return checkElementState(m_element, ATK_STATE_VISIBLE);
+    return checkElementState(m_element.get(), ATK_STATE_VISIBLE);
 }
 
 bool AccessibilityUIElement::isOffScreen() const
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to