Modified: trunk/Tools/ChangeLog (286535 => 286536)
--- trunk/Tools/ChangeLog 2021-12-05 03:51:54 UTC (rev 286535)
+++ trunk/Tools/ChangeLog 2021-12-05 04:14:50 UTC (rev 286536)
@@ -1,3 +1,32 @@
+2021-12-04 Andres Gonzalez <[email protected]>
+
+ Change WTR::AccessibilityUIElement::descriptionOfValue(id) to return a RetainPtr.
+ https://bugs.webkit.org/show_bug.cgi?id=233815
+ <rdar://problem/86019373>
+
+ Reviewed by Chris Fleizach.
+
+ This fixes several tests in isolated tree mode, in particular:
+ accessibility/mac/focus-crash.html
+ accessibility/mac/search-predicate.html
+
+ * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
+ * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
+ (WTR::AccessibilityUIElement::descriptionOfValue const):
+ (WTR::AccessibilityUIElement::allAttributes):
+ (WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue):
+ (WTR::AccessibilityUIElement::role):
+ (WTR::AccessibilityUIElement::subrole):
+ (WTR::AccessibilityUIElement::roleDescription):
+ (WTR::AccessibilityUIElement::computedRoleString):
+ (WTR::AccessibilityUIElement::title):
+ (WTR::AccessibilityUIElement::description):
+ (WTR::AccessibilityUIElement::orientation const):
+ (WTR::AccessibilityUIElement::stringValue):
+ (WTR::AccessibilityUIElement::language):
+ (WTR::AccessibilityUIElement::helpText const):
+ (WTR::AccessibilityUIElement::embeddedImageDescription const):
+
2021-12-03 Wenson Hsieh <[email protected]>
[iOS] Web content process sometimes crashes under WebPage::positionInformation()
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h (286535 => 286536)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h 2021-12-05 03:51:54 UTC (rev 286535)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h 2021-12-05 04:14:50 UTC (rev 286536)
@@ -405,7 +405,7 @@
#if PLATFORM(MAC)
RetainPtr<id> attributeValueForParameter(NSString *, id) const;
- NSString *descriptionOfValue(id valueObject) const;
+ RetainPtr<NSString> descriptionOfValue(id valueObject) const;
#endif
#if !PLATFORM(COCOA) && !USE(ATSPI)
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm (286535 => 286536)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm 2021-12-05 03:51:54 UTC (rev 286535)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm 2021-12-05 04:14:50 UTC (rev 286536)
@@ -169,7 +169,7 @@
END_AX_OBJC_EXCEPTIONS
}
-NSString *AccessibilityUIElement::descriptionOfValue(id valueObject) const
+RetainPtr<NSString> AccessibilityUIElement::descriptionOfValue(id valueObject) const
{
if (!valueObject)
return nil;
@@ -588,7 +588,7 @@
|| [attribute isEqualToString:@"AXRelativeFrame"])
continue;
- RetainPtr<NSString> value = descriptionOfValue(attributeValue(attribute).get());
+ auto value = descriptionOfValue(attributeValue(attribute).get());
[values appendFormat:@"%@: %@\n", attribute, value.get()];
}
@@ -598,7 +598,7 @@
JSRetainPtr<JSStringRef> AccessibilityUIElement::stringDescriptionOfAttributeValue(JSStringRef attribute)
{
auto value = attributeValue([NSString stringWithJSStringRef:attribute]);
- NSString *valueDescription = descriptionOfValue(value.get());
+ auto valueDescription = descriptionOfValue(value.get());
return [valueDescription createJSStringRef];
}
@@ -730,8 +730,8 @@
JSRetainPtr<JSStringRef> AccessibilityUIElement::role()
{
BEGIN_AX_OBJC_EXCEPTIONS
- NSString *role = descriptionOfValue(attributeValue(NSAccessibilityRoleAttribute).get());
- return concatenateAttributeAndValue(@"AXRole", role);
+ auto role = descriptionOfValue(attributeValue(NSAccessibilityRoleAttribute).get());
+ return concatenateAttributeAndValue(@"AXRole", role.get());
END_AX_OBJC_EXCEPTIONS
return nullptr;
@@ -740,8 +740,8 @@
JSRetainPtr<JSStringRef> AccessibilityUIElement::subrole()
{
BEGIN_AX_OBJC_EXCEPTIONS
- NSString *subrole = descriptionOfValue(attributeValue(NSAccessibilitySubroleAttribute).get());
- return concatenateAttributeAndValue(@"AXSubrole", subrole);
+ auto subrole = descriptionOfValue(attributeValue(NSAccessibilitySubroleAttribute).get());
+ return concatenateAttributeAndValue(@"AXSubrole", subrole.get());
END_AX_OBJC_EXCEPTIONS
return nullptr;
@@ -750,8 +750,8 @@
JSRetainPtr<JSStringRef> AccessibilityUIElement::roleDescription()
{
BEGIN_AX_OBJC_EXCEPTIONS
- NSString *role = descriptionOfValue(attributeValue(NSAccessibilityRoleDescriptionAttribute).get());
- return concatenateAttributeAndValue(@"AXRoleDescription", role);
+ auto role = descriptionOfValue(attributeValue(NSAccessibilityRoleDescriptionAttribute).get());
+ return concatenateAttributeAndValue(@"AXRoleDescription", role.get());
END_AX_OBJC_EXCEPTIONS
return nullptr;
@@ -760,7 +760,7 @@
JSRetainPtr<JSStringRef> AccessibilityUIElement::computedRoleString()
{
BEGIN_AX_OBJC_EXCEPTIONS
- NSString *computedRoleString = descriptionOfValue(attributeValue(@"AXARIARole").get());
+ auto computedRoleString = descriptionOfValue(attributeValue(@"AXARIARole").get());
return [computedRoleString createJSStringRef];
END_AX_OBJC_EXCEPTIONS
@@ -770,8 +770,8 @@
JSRetainPtr<JSStringRef> AccessibilityUIElement::title()
{
BEGIN_AX_OBJC_EXCEPTIONS
- NSString *title = descriptionOfValue(attributeValue(NSAccessibilityTitleAttribute).get());
- return concatenateAttributeAndValue(@"AXTitle", title);
+ auto title = descriptionOfValue(attributeValue(NSAccessibilityTitleAttribute).get());
+ return concatenateAttributeAndValue(@"AXTitle", title.get());
END_AX_OBJC_EXCEPTIONS
return nullptr;
@@ -780,8 +780,8 @@
JSRetainPtr<JSStringRef> AccessibilityUIElement::description()
{
BEGIN_AX_OBJC_EXCEPTIONS
- NSString *description = descriptionOfValue(attributeValue(NSAccessibilityDescriptionAttribute).get());
- return concatenateAttributeAndValue(@"AXDescription", description);
+ auto description = descriptionOfValue(attributeValue(NSAccessibilityDescriptionAttribute).get());
+ return concatenateAttributeAndValue(@"AXDescription", description.get());
END_AX_OBJC_EXCEPTIONS
return nullptr;
@@ -790,8 +790,8 @@
JSRetainPtr<JSStringRef> AccessibilityUIElement::orientation() const
{
BEGIN_AX_OBJC_EXCEPTIONS
- NSString *description = descriptionOfValue(attributeValue(NSAccessibilityOrientationAttribute).get());
- return concatenateAttributeAndValue(@"AXOrientation", description);
+ auto description = descriptionOfValue(attributeValue(NSAccessibilityOrientationAttribute).get());
+ return concatenateAttributeAndValue(@"AXOrientation", description.get());
END_AX_OBJC_EXCEPTIONS
return nullptr;
@@ -801,9 +801,9 @@
{
BEGIN_AX_OBJC_EXCEPTIONS
auto value = attributeValue(NSAccessibilityValueAttribute);
- NSString *description = descriptionOfValue(value.get());
+ auto description = descriptionOfValue(value.get());
if (description)
- return concatenateAttributeAndValue(@"AXValue", description);
+ return concatenateAttributeAndValue(@"AXValue", description.get());
END_AX_OBJC_EXCEPTIONS
return nullptr;
@@ -812,8 +812,8 @@
JSRetainPtr<JSStringRef> AccessibilityUIElement::language()
{
BEGIN_AX_OBJC_EXCEPTIONS
- NSString *description = descriptionOfValue(attributeValue(@"AXLanguage").get());
- return concatenateAttributeAndValue(@"AXLanguage", description);
+ auto description = descriptionOfValue(attributeValue(@"AXLanguage").get());
+ return concatenateAttributeAndValue(@"AXLanguage", description.get());
END_AX_OBJC_EXCEPTIONS
return nullptr;
@@ -822,8 +822,8 @@
JSRetainPtr<JSStringRef> AccessibilityUIElement::helpText() const
{
BEGIN_AX_OBJC_EXCEPTIONS
- NSString *description = descriptionOfValue(attributeValue(NSAccessibilityHelpAttribute).get());
- return concatenateAttributeAndValue(@"AXHelp", description);
+ auto description = descriptionOfValue(attributeValue(NSAccessibilityHelpAttribute).get());
+ return concatenateAttributeAndValue(@"AXHelp", description.get());
END_AX_OBJC_EXCEPTIONS
return nullptr;
@@ -1688,8 +1688,8 @@
JSRetainPtr<JSStringRef> AccessibilityUIElement::embeddedImageDescription() const
{
BEGIN_AX_OBJC_EXCEPTIONS
- NSString *value = descriptionOfValue(attributeValue(@"AXEmbeddedImageDescription").get());
- return concatenateAttributeAndValue(@"AXEmbeddedImageDescription", value);
+ auto value = descriptionOfValue(attributeValue(@"AXEmbeddedImageDescription").get());
+ return concatenateAttributeAndValue(@"AXEmbeddedImageDescription", value.get());
END_AX_OBJC_EXCEPTIONS
return nullptr;
}