Replaced 0 with nullptr in WebCore/accessibility.
[WebKit-https.git] / Source / WebCore / accessibility / atk / WebKitAccessibleUtil.h
index cd69b29d6c942de0ff8ed8671a37db9ba7a4f3f7..e2938a597a8eed90e4b7a5de2cc4e2951e24cbfd 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef WebKitAccessibleUtil_h
 #define WebKitAccessibleUtil_h
 
+#if HAVE(ACCESSIBILITY)
+
 #include <atk/atk.h>
 #include <wtf/text/WTFString.h>
 
@@ -31,11 +33,35 @@ class IntRect;
 class VisibleSelection;
 }
 
-AtkAttributeSet* addToAtkAttributeSet(AtkAttributeSet*, const char* name, const char* value);
+// An existing accessibility object is considered to be invalid whether it's already
+// detached or if it's not but just updating the layout will detach it anyway.
+#define returnIfWebKitAccessibleIsInvalid(webkitAccessible) G_STMT_START { \
+    if (!webkitAccessible || webkitAccessibleIsDetached(webkitAccessible)) { \
+        return; \
+    } else { \
+        AccessibilityObject* coreObject = webkitAccessibleGetAccessibilityObject(webkitAccessible); \
+        if (!coreObject || !coreObject->document()) \
+            return; \
+        coreObject->updateBackingStore(); \
+        if (webkitAccessibleIsDetached(webkitAccessible)) \
+            return; \
+    }; } G_STMT_END
 
-void contentsRelativeToAtkCoordinateType(WebCore::AccessibilityObject*, AtkCoordType, WebCore::IntRect, gint* x, gint* y, gint* width = 0, gint* height = 0);
+#define returnValIfWebKitAccessibleIsInvalid(webkitAccessible, val) G_STMT_START { \
+    if (!webkitAccessible || webkitAccessibleIsDetached(webkitAccessible)) { \
+        return (val); \
+    } else { \
+        AccessibilityObject* coreObject = webkitAccessibleGetAccessibilityObject(webkitAccessible); \
+        if (!coreObject || !coreObject->document()) \
+            return (val); \
+        coreObject->updateBackingStore(); \
+        if (webkitAccessibleIsDetached(webkitAccessible)) \
+            return (val); \
+    }; } G_STMT_END
+
+AtkAttributeSet* addToAtkAttributeSet(AtkAttributeSet*, const char* name, const char* value);
 
-const char* returnString(const String&);
+void contentsRelativeToAtkCoordinateType(WebCore::AccessibilityObject*, AtkCoordType, WebCore::IntRect, gint* x, gint* y, gint* width = nullptr, gint* height = nullptr);
 
 String accessibilityTitle(WebCore::AccessibilityObject*);
 
@@ -43,4 +69,5 @@ String accessibilityDescription(WebCore::AccessibilityObject*);
 
 bool selectionBelongsToObject(WebCore::AccessibilityObject*, WebCore::VisibleSelection&);
 
+#endif
 #endif // WebKitAccessibleUtil_h