Title: [138781] trunk/Tools
- Revision
- 138781
- Author
- [email protected]
- Date
- 2013-01-04 00:29:35 -0800 (Fri, 04 Jan 2013)
Log Message
REGRESSION: [Mac] Intermittent crash in WTR::AccessibilityUIElement::isEqual
https://bugs.webkit.org/show_bug.cgi?id=106073
Reviewed by Ryosuke Niwa.
Check that the element being compared to is not nil.
This crash is happening because one of the accessibility tests does an isEqual comparison within a callback function.
It looks like occasionally, one of the elements passed in to the isEqual is nil because the notification handler is on the accessibility
controller, and the notification is being delivered after the document objects are cleared. This shouldn't happen but I've seen it
sometimes before on parallel WebKitTestRunner runs.
* DumpRenderTree/AccessibilityUIElement.cpp:
(AccessibilityUIElement::isEqual):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::isEqual):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (138780 => 138781)
--- trunk/Tools/ChangeLog 2013-01-04 08:04:29 UTC (rev 138780)
+++ trunk/Tools/ChangeLog 2013-01-04 08:29:35 UTC (rev 138781)
@@ -1,3 +1,21 @@
+2013-01-03 Chris Fleizach <[email protected]>
+
+ REGRESSION: [Mac] Intermittent crash in WTR::AccessibilityUIElement::isEqual
+ https://bugs.webkit.org/show_bug.cgi?id=106073
+
+ Reviewed by Ryosuke Niwa.
+
+ Check that the element being compared to is not nil.
+ This crash is happening because one of the accessibility tests does an isEqual comparison within a callback function.
+ It looks like occasionally, one of the elements passed in to the isEqual is nil because the notification handler is on the accessibility
+ controller, and the notification is being delivered after the document objects are cleared. This shouldn't happen but I've seen it
+ sometimes before on parallel WebKitTestRunner runs.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (AccessibilityUIElement::isEqual):
+ * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
+ (WTR::AccessibilityUIElement::isEqual):
+
2013-01-03 Tim 'mithro' Ansell <[email protected]>
Downloads can be flaky, so try downloading multiple times.
Modified: trunk/Tools/DumpRenderTree/AccessibilityUIElement.cpp (138780 => 138781)
--- trunk/Tools/DumpRenderTree/AccessibilityUIElement.cpp 2013-01-04 08:04:29 UTC (rev 138780)
+++ trunk/Tools/DumpRenderTree/AccessibilityUIElement.cpp 2013-01-04 08:29:35 UTC (rev 138781)
@@ -961,6 +961,8 @@
#if !PLATFORM(WIN)
bool AccessibilityUIElement::isEqual(AccessibilityUIElement* otherElement)
{
+ if (!otherElement)
+ return false;
return platformUIElement() == otherElement->platformUIElement();
}
#endif
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm (138780 => 138781)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm 2013-01-04 08:04:29 UTC (rev 138780)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm 2013-01-04 08:29:35 UTC (rev 138781)
@@ -87,6 +87,8 @@
bool AccessibilityUIElement::isEqual(AccessibilityUIElement* otherElement)
{
+ if (!otherElement)
+ return false;
return platformUIElement() == otherElement->platformUIElement();
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes