summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authordmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-24 04:16:56 +0000
committerdmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-24 04:16:56 +0000
commite8989219fa51bf06da3f9fa65ed2b972af15d9d7 (patch)
tree3d5c0256e8009b3c8406425a089c8a86c0c7860a /content/renderer
parent6c05546c4557bc33e4650dbfe000813e528f97f3 (diff)
downloadchromium_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.cc23
-rw-r--r--content/renderer/accessibility/renderer_accessibility_complete.h5
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);