Title: [211022] trunk
Revision
211022
Author
[email protected]
Date
2017-01-21 18:29:15 -0800 (Sat, 21 Jan 2017)

Log Message

AccessibilityRenderObject::textChanged() bypasses AXLiveRegionChanged notification coalescing
https://bugs.webkit.org/show_bug.cgi?id=167286
<rdar://problem/30133211>

Reviewed by Ryosuke Niwa.

Source/WebCore:

AccessibilityRenderObject::textChanged() bypasses AXLiveRegionChanged notification
coalescing. This patch fixes the issue.

No new tests, updated existing test.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textChanged):

LayoutTests:

Update test to use a longer timer delay. When using this longer delay, we were getting 4
AXLiveRegionChanged notifications instead of the expected 2 because
AccessibilityRenderObject::textChanged() was bypassing AXLiveRegionChanged notification
coalescing.

* accessibility/mac/aria-multiple-liveregions-notification-expected.txt:
* accessibility/mac/aria-multiple-liveregions-notification.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (211021 => 211022)


--- trunk/LayoutTests/ChangeLog	2017-01-22 02:16:33 UTC (rev 211021)
+++ trunk/LayoutTests/ChangeLog	2017-01-22 02:29:15 UTC (rev 211022)
@@ -1,3 +1,19 @@
+2017-01-21  Chris Dumez  <[email protected]>
+
+        AccessibilityRenderObject::textChanged() bypasses AXLiveRegionChanged notification coalescing
+        https://bugs.webkit.org/show_bug.cgi?id=167286
+        <rdar://problem/30133211>
+
+        Reviewed by Ryosuke Niwa.
+
+        Update test to use a longer timer delay. When using this longer delay, we were getting 4
+        AXLiveRegionChanged notifications instead of the expected 2 because
+        AccessibilityRenderObject::textChanged() was bypassing AXLiveRegionChanged notification
+        coalescing.
+
+        * accessibility/mac/aria-multiple-liveregions-notification-expected.txt:
+        * accessibility/mac/aria-multiple-liveregions-notification.html:
+
 2017-01-21  Antoine Quint  <[email protected]>
 
         REGRESSION (r210959): LayoutTest inspector/css/pseudo-element-matches.html timing out

Modified: trunk/LayoutTests/accessibility/mac/aria-multiple-liveregions-notification-expected.txt (211021 => 211022)


--- trunk/LayoutTests/accessibility/mac/aria-multiple-liveregions-notification-expected.txt	2017-01-22 02:16:33 UTC (rev 211021)
+++ trunk/LayoutTests/accessibility/mac/aria-multiple-liveregions-notification-expected.txt	2017-01-22 02:29:15 UTC (rev 211022)
@@ -8,7 +8,7 @@
 
 PASS addedNotification1 is true
 PASS addedNotification2 is true
-PASS liveRegionChangeCount == 2 is true
+PASS liveRegionChangeCount is 2
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/accessibility/mac/aria-multiple-liveregions-notification.html (211021 => 211022)


--- trunk/LayoutTests/accessibility/mac/aria-multiple-liveregions-notification.html	2017-01-22 02:16:33 UTC (rev 211021)
+++ trunk/LayoutTests/accessibility/mac/aria-multiple-liveregions-notification.html	2017-01-22 02:29:15 UTC (rev 211022)
@@ -34,11 +34,11 @@
 
         liveRegion1 = accessibilityController.accessibleElementById("liveregion1");
         var addedNotification1 = liveRegion1.addNotificationListener(ariaCallback);
-        shouldBe("addedNotification1", "true");
+        shouldBeTrue("addedNotification1");
 
         liveRegion2 = accessibilityController.accessibleElementById("liveregion2");
         var addedNotification2 = liveRegion2.addNotificationListener(ariaCallback);
-        shouldBe("addedNotification2", "true");
+        shouldBeTrue("addedNotification2");
 
         // perform operations on both live regions.
         textChangeOperation();
@@ -46,8 +46,8 @@
         alternativeChangeOperation();
         removeElementOperation();
 
-        // add a short delay to check after all the operations if we have exactly two notificaitons
-        setTimeout("finishTest()", 10);
+        // add a short delay to check after all the operations if we have exactly two notifications
+        setTimeout("finishTest()", 50);
     }
 
     function textChangeOperation() {
@@ -74,7 +74,7 @@
         // We should get a total of two live region changes.
         liveRegion1.removeNotificationListener();
         liveRegion2.removeNotificationListener();
-        shouldBeTrue("liveRegionChangeCount == 2");
+        shouldBe("liveRegionChangeCount", "2");
         finishJSTest();
     }
 </script>

Modified: trunk/Source/WebCore/ChangeLog (211021 => 211022)


--- trunk/Source/WebCore/ChangeLog	2017-01-22 02:16:33 UTC (rev 211021)
+++ trunk/Source/WebCore/ChangeLog	2017-01-22 02:29:15 UTC (rev 211022)
@@ -1,3 +1,19 @@
+2017-01-21  Chris Dumez  <[email protected]>
+
+        AccessibilityRenderObject::textChanged() bypasses AXLiveRegionChanged notification coalescing
+        https://bugs.webkit.org/show_bug.cgi?id=167286
+        <rdar://problem/30133211>
+
+        Reviewed by Ryosuke Niwa.
+
+        AccessibilityRenderObject::textChanged() bypasses AXLiveRegionChanged notification
+        coalescing. This patch fixes the issue.
+
+        No new tests, updated existing test.
+
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::AccessibilityRenderObject::textChanged):
+
 2017-01-21  Carlos Garcia Campos  <[email protected]>
 
         Unreviewed, rolling out r211012.

Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (211021 => 211022)


--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2017-01-22 02:16:33 UTC (rev 211021)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp	2017-01-22 02:29:15 UTC (rev 211022)
@@ -2943,7 +2943,7 @@
             continue;
         
         if (parent->supportsARIALiveRegion())
-            cache->postNotification(renderParent, AXObjectCache::AXLiveRegionChanged);
+            cache->postLiveRegionChangeNotification(parent);
 
         if (parent->isNonNativeTextControl())
             cache->postNotification(renderParent, AXObjectCache::AXValueChanged);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to