Title: [261625] trunk/Source/WebCore
- Revision
- 261625
- Author
- andresg...@apple.com
- Date
- 2020-05-13 10:29:34 -0700 (Wed, 13 May 2020)
Log Message
Check for accessibilityEnabled() before posting notifications asynchronously.
https://bugs.webkit.org/show_bug.cgi?id=211848
Reviewed by Chris Fleizach.
Covered by multiple tests. Fixes crashes in LayoutTests in isolated tree mode.
During LayoutTests, accessibility may be disabled between the time the
notifications are queued and the timer fires. Thus it is necessary to
check for accessibilityEnabled() before posting the notifications
asynchronously. Not doing so was causing crashes in isolated mode.
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::notificationPostTimerFired):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (261624 => 261625)
--- trunk/Source/WebCore/ChangeLog 2020-05-13 17:29:14 UTC (rev 261624)
+++ trunk/Source/WebCore/ChangeLog 2020-05-13 17:29:34 UTC (rev 261625)
@@ -1,3 +1,20 @@
+2020-05-13 Andres Gonzalez <andresg...@apple.com>
+
+ Check for accessibilityEnabled() before posting notifications asynchronously.
+ https://bugs.webkit.org/show_bug.cgi?id=211848
+
+ Reviewed by Chris Fleizach.
+
+ Covered by multiple tests. Fixes crashes in LayoutTests in isolated tree mode.
+
+ During LayoutTests, accessibility may be disabled between the time the
+ notifications are queued and the timer fires. Thus it is necessary to
+ check for accessibilityEnabled() before posting the notifications
+ asynchronously. Not doing so was causing crashes in isolated mode.
+
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::notificationPostTimerFired):
+
2020-05-13 Simon Fraser <simon.fra...@apple.com>
The perspective matrix is affected by overflow:hidden on a box with borders
Modified: trunk/Source/WebCore/accessibility/AXObjectCache.cpp (261624 => 261625)
--- trunk/Source/WebCore/accessibility/AXObjectCache.cpp 2020-05-13 17:29:14 UTC (rev 261624)
+++ trunk/Source/WebCore/accessibility/AXObjectCache.cpp 2020-05-13 17:29:34 UTC (rev 261625)
@@ -1006,14 +1006,20 @@
m_deferredChildrenChangedList.add(obj);
}
-
+
void AXObjectCache::notificationPostTimerFired()
{
+ // During LayoutTests, accessibility may be disabled between the time the notifications are queued and the timer fires.
+ // Thus check here and return if accessibility is disabled.
+ if (!accessibilityEnabled())
+ return;
+
Ref<Document> protectorForCacheOwner(m_document);
m_notificationPostTimer.stop();
+
if (!m_document.hasLivingRenderTree())
return;
-
+
// In tests, posting notifications has a tendency to immediately queue up other notifications, which can lead to unexpected behavior
// when the notification list is cleared at the end. Instead copy this list at the start.
auto notifications = WTFMove(m_notificationsToPost);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes