| Index: content/browser/accessibility/browser_accessibility_manager_mac.mm
|
| diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm
|
| index 2000d025accf9c94b41f72a4dd9df91fbce75a16..ab9272392479b2da4255aec822b141de874ad4b2 100644
|
| --- a/content/browser/accessibility/browser_accessibility_manager_mac.mm
|
| +++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm
|
| @@ -26,8 +26,7 @@ BrowserAccessibilityManagerMac::BrowserAccessibilityManagerMac(
|
| BrowserAccessibilityDelegate* delegate,
|
| BrowserAccessibilityFactory* factory)
|
| : BrowserAccessibilityManager(delegate, factory),
|
| - parent_view_(parent_view),
|
| - created_live_region_(false) {
|
| + parent_view_(parent_view) {
|
| Initialize(initial_tree);
|
| }
|
|
|
| @@ -145,14 +144,20 @@ void BrowserAccessibilityManagerMac::NotifyAccessibilityEvent(
|
| NSAccessibilityPostNotification(native_node, event_id);
|
| }
|
|
|
| -void BrowserAccessibilityManagerMac::OnNodeCreationFinished(ui::AXNode* node) {
|
| - BrowserAccessibility* obj = GetFromAXNode(node);
|
| - if (obj && obj->HasStringAttribute(ui::AX_ATTR_LIVE_STATUS))
|
| - created_live_region_ = true;
|
| -}
|
| +void BrowserAccessibilityManagerMac::OnAtomicUpdateFinished(
|
| + bool root_changed, const std::vector<ui::AXTreeDelegate::Change>& changes) {
|
| + BrowserAccessibilityManager::OnAtomicUpdateFinished(root_changed, changes);
|
|
|
| -void BrowserAccessibilityManagerMac::OnTreeUpdateFinished() {
|
| - if (!created_live_region_)
|
| + bool created_live_region = false;
|
| + for (size_t i = 0; i < changes.size(); ++i) {
|
| + BrowserAccessibility* obj = GetFromAXNode(changes[i].node);
|
| + if (obj && obj->HasStringAttribute(ui::AX_ATTR_LIVE_STATUS)) {
|
| + created_live_region = true;
|
| + break;
|
| + }
|
| + }
|
| +
|
| + if (!created_live_region)
|
| return;
|
|
|
| // This code is to work around a bug in VoiceOver, where a new live
|
| @@ -164,8 +169,6 @@ void BrowserAccessibilityManagerMac::OnTreeUpdateFinished() {
|
| static_cast<BrowserAccessibilityMac*>(GetRoot());
|
| root->RecreateNativeObject();
|
| NotifyAccessibilityEvent(ui::AX_EVENT_CHILDREN_CHANGED, root);
|
| -
|
| - created_live_region_ = false;
|
| }
|
|
|
| } // namespace content
|
|
|