Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2060)

Unified Diff: content/browser/renderer_host/render_view_host_impl.cc

Issue 12210082: content: convert accessibility notifications to observer usage (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixes Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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()));

Powered by Google App Engine
This is Rietveld 408576698