RESOLVED FIXED 146300
AX: AccessibilityObject focus events that don't cause a selection change can leave m_isSynchronizingSelection set to true
https://bugs.webkit.org/show_bug.cgi?id=146300
Summary AX: AccessibilityObject focus events that don't cause a selection change can ...
Doug Russell
Reported 2015-06-24 17:06:15 PDT
If an accessibilityObject is focused, it calls cache->setIsSynchronizingSelection(true) assuming that the focus will cause a selection change, but doesn't validate that the change occurred or reset this state. After any event that's assuming a selection change will happen, m_isSynchronizingSelection should be reset to false.
Attachments
patch (10.69 KB, patch)
2015-06-24 17:11 PDT, Doug Russell
no flags
patch (11.62 KB, patch)
2015-06-25 17:00 PDT, Doug Russell
no flags
Radar WebKit Bug Importer
Comment 1 2015-06-24 17:10:07 PDT
Doug Russell
Comment 2 2015-06-24 17:11:45 PDT
chris fleizach
Comment 3 2015-06-24 22:51:20 PDT
Comment on attachment 255531 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=255531&action=review > LayoutTests/ChangeLog:3 > + Bug 146300 AX: AccessibilityObject focus event that doesn't cause a selection "focus events that don't cause a" > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1513 > + AXObjectCache* cache = renderObject.axObjectCache(); It looks like this method might be better off taking a point to the axobject cache > Source/WebCore/accessibility/mac/AXObjectCacheMac.mm:337 > + [rootWebArea()->wrapper() accessibilityPostedNotification:NSAccessibilityFocusedUIElementChangedNotification userInfo:nil]; since this looks like it's only for testing, i would change the name to something like "AXFocusedChanged" so that when checking this in the test it will be clear what the value should be, and will also let other platforms follow suit
Doug Russell
Comment 4 2015-06-25 17:00:32 PDT
Doug Russell
Comment 5 2015-06-25 17:01:32 PDT
I changed to AXFocusedChanged, but it's worth noting that other logic can still post NSAccessibilityFocusedUIElementChangedNotification so we may end up writing tests some times that need to listen for both. Probably not an issue, but thought I'd note it.
WebKit Commit Bot
Comment 6 2015-06-25 18:01:12 PDT
Comment on attachment 255597 [details] patch Clearing flags on attachment: 255597 Committed r185974: <http://trac.webkit.org/changeset/185974>
WebKit Commit Bot
Comment 7 2015-06-25 18:01:17 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.