diff options
author | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-24 04:16:56 +0000 |
---|---|---|
committer | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-24 04:16:56 +0000 |
commit | e8989219fa51bf06da3f9fa65ed2b972af15d9d7 (patch) | |
tree | 3d5c0256e8009b3c8406425a089c8a86c0c7860a /content/renderer | |
parent | 6c05546c4557bc33e4650dbfe000813e528f97f3 (diff) | |
download | chromium_src-e8989219fa51bf06da3f9fa65ed2b972af15d9d7.zip chromium_src-e8989219fa51bf06da3f9fa65ed2b972af15d9d7.tar.gz chromium_src-e8989219fa51bf06da3f9fa65ed2b972af15d9d7.tar.bz2 |
Fix <select multiple> accessibility regression.
Also deletes a helper function that isn't being used
anymore.
BUG=222768
TBR=dtseng
Review URL: https://chromiumcodereview.appspot.com/12992002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190185 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer')
-rw-r--r-- | content/renderer/accessibility/renderer_accessibility_complete.cc | 23 | ||||
-rw-r--r-- | content/renderer/accessibility/renderer_accessibility_complete.h | 5 |
2 files changed, 11 insertions, 17 deletions
diff --git a/content/renderer/accessibility/renderer_accessibility_complete.cc b/content/renderer/accessibility/renderer_accessibility_complete.cc index 6ece9dc..6ce31d7 100644 --- a/content/renderer/accessibility/renderer_accessibility_complete.cc +++ b/content/renderer/accessibility/renderer_accessibility_complete.cc @@ -270,6 +270,17 @@ void RendererAccessibilityComplete::SendPendingAccessibilityNotifications() { if (!obj.updateBackingStoreAndCheckValidity()) continue; + // When we get a "selected children changed" notification, WebKit + // doesn't also send us notifications for each child that changed + // selection state, so make sure we re-send that whole subtree. + if (notification.notification_type == + AccessibilityNotificationSelectedChildrenChanged) { + base::hash_map<int32, BrowserTreeNode*>::iterator iter = + browser_id_map_.find(obj.axID()); + if (iter != browser_id_map_.end()) + ClearBrowserTreeNode(iter->second); + } + // The browser may not have this object yet, for example if we get a // notification on an object that was recently added, or if we get a // notification on a node before the page has loaded. Work our way @@ -617,16 +628,4 @@ void RendererAccessibilityComplete::OnFatalError() { CHECK(false); } -bool RendererAccessibilityComplete::ShouldIncludeChildren( - const AccessibilityHostMsg_NotificationParams& notification) { - AccessibilityNotification type = notification.notification_type; - if (type == AccessibilityNotificationChildrenChanged || - type == AccessibilityNotificationLoadComplete || - type == AccessibilityNotificationLiveRegionChanged || - type == AccessibilityNotificationSelectedChildrenChanged) { - return true; - } - return false; -} - } // namespace content diff --git a/content/renderer/accessibility/renderer_accessibility_complete.h b/content/renderer/accessibility/renderer_accessibility_complete.h index b338a90..41d0880 100644 --- a/content/renderer/accessibility/renderer_accessibility_complete.h +++ b/content/renderer/accessibility/renderer_accessibility_complete.h @@ -89,11 +89,6 @@ class CONTENT_EXPORT RendererAccessibilityComplete void OnSetTextSelection(int acc_obj_id, int start_offset, int end_offset); void OnFatalError(); - // Whether or not this notification typically needs to send - // updates to its children, too. - bool ShouldIncludeChildren( - const AccessibilityHostMsg_NotificationParams& notification); - // Checks if a WebKit accessibility object is an editable text node. bool IsEditableText(const WebKit::WebAccessibilityObject& node); |