| Index: content/browser/renderer_host/render_view_host_impl.cc
|
| diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
|
| index b9c2a29355bf436508f266ca991efd854a75c25b..b9d5bc05c142c4a1a5b4c829f80574714dd28674 100644
|
| --- a/content/browser/renderer_host/render_view_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_view_host_impl.cc
|
| @@ -1786,6 +1786,36 @@ void RenderViewHostImpl::UpdateFrameTree(
|
| frame_tree_));
|
| }
|
|
|
| +void RenderViewHostImpl::AddAccessibilityLayoutCompleteCallbackForTesting(
|
| + const base::Closure& callback) {
|
| + accessibility_layout_callbacks_.push_back(callback);
|
| +}
|
| +
|
| +void RenderViewHostImpl::RemoveAccessibilityLayoutCompleteCallbackForTesting(
|
| + const base::Closure& callback) {
|
| + for (size_t i = 0; i < accessibility_layout_callbacks_.size(); i++) {
|
| + if (accessibility_layout_callbacks_[i].Equals(callback)) {
|
| + accessibility_layout_callbacks_.erase(
|
| + accessibility_layout_callbacks_.begin() + i);
|
| + }
|
| + }
|
| +}
|
| +
|
| +void RenderViewHostImpl::AddAccessibilityLoadCompleteCallbackForTesting(
|
| + const base::Closure& callback) {
|
| + accessibility_load_callbacks_.push_back(callback);
|
| +}
|
| +
|
| +void RenderViewHostImpl::RemoveAccessibilityLoadCompleteCallbackForTesting(
|
| + const base::Closure& callback) {
|
| + for (size_t i = 0; i < accessibility_load_callbacks_.size(); i++) {
|
| + if (accessibility_load_callbacks_[i].Equals(callback)) {
|
| + accessibility_load_callbacks_.erase(
|
| + accessibility_load_callbacks_.begin() + i);
|
| + }
|
| + }
|
| +}
|
| +
|
| void RenderViewHostImpl::UpdateWebkitPreferences(
|
| const webkit_glue::WebPreferences& prefs) {
|
| Send(new ViewMsg_UpdateWebPreferences(GetRoutingID(), prefs));
|
| @@ -1892,17 +1922,13 @@ void RenderViewHostImpl::OnAccessibilityNotifications(
|
| accessibility_tree_ = param.acc_tree;
|
| }
|
|
|
| - NotificationType dst_type;
|
| - if (src_type == AccessibilityNotificationLoadComplete)
|
| - dst_type = NOTIFICATION_ACCESSIBILITY_LOAD_COMPLETE;
|
| - else if (src_type == AccessibilityNotificationLayoutComplete)
|
| - dst_type = NOTIFICATION_ACCESSIBILITY_LAYOUT_COMPLETE;
|
| - else
|
| - dst_type = NOTIFICATION_ACCESSIBILITY_OTHER;
|
| - NotificationService::current()->Notify(
|
| - dst_type,
|
| - Source<RenderViewHost>(this),
|
| - NotificationService::NoDetails());
|
| + if (src_type == AccessibilityNotificationLayoutComplete) {
|
| + for (size_t i = 0; i < accessibility_layout_callbacks_.size(); ++i)
|
| + accessibility_layout_callbacks_[i].Run();
|
| + } else if (src_type == AccessibilityNotificationLoadComplete) {
|
| + for (size_t i = 0; i < accessibility_load_callbacks_.size(); ++i)
|
| + accessibility_load_callbacks_[i].Run();
|
| + }
|
| }
|
|
|
| Send(new AccessibilityMsg_Notifications_ACK(GetRoutingID()));
|
|
|