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

Unified Diff: content/browser/accessibility/cross_platform_accessibility_browsertest.cc

Issue 12210082: content: convert accessibility notifications to observer usage (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: trybots 2 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/accessibility/cross_platform_accessibility_browsertest.cc
diff --git a/content/browser/accessibility/cross_platform_accessibility_browsertest.cc b/content/browser/accessibility/cross_platform_accessibility_browsertest.cc
index 7135283930cfb1e5c79fd191bd30d1d112e5dcea..d964a3ee4a44ad3839968848f32e1bf8c18fd353 100644
--- a/content/browser/accessibility/cross_platform_accessibility_browsertest.cc
+++ b/content/browser/accessibility/cross_platform_accessibility_browsertest.cc
@@ -9,6 +9,7 @@
#include "content/browser/renderer_host/render_view_host_impl.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_types.h"
+#include "content/public/browser/render_view_host_observer.h"
#include "content/public/browser/render_widget_host_view.h"
#include "content/public/browser/web_contents.h"
#include "content/public/test/test_utils.h"
@@ -25,6 +26,28 @@
namespace content {
+namespace {
+
+class TestRenderViewHostObserver : public RenderViewHostObserver {
+ public:
+ explicit TestRenderViewHostObserver(RenderViewHost* rvh,
+ const base::Closure& callback)
+ : RenderViewHostObserver(rvh),
+ callback_(callback) {
+ }
+
+ virtual void AccessibilityLayoutComplete() OVERRIDE {
+ callback_.Run();
+ }
+
+ private:
+ base::Closure callback_;
+
+ DISALLOW_COPY_AND_ASSIGN(TestRenderViewHostObserver);
+};
+
+} // namespace
+
class CrossPlatformAccessibilityBrowserTest : public ContentBrowserTest {
public:
CrossPlatformAccessibilityBrowserTest() {}
@@ -33,17 +56,16 @@ class CrossPlatformAccessibilityBrowserTest : public ContentBrowserTest {
// notification that it's been received.
const AccessibilityNodeData& GetAccessibilityNodeDataTree(
AccessibilityMode accessibility_mode = AccessibilityModeComplete) {
- WindowedNotificationObserver tree_updated_observer(
- NOTIFICATION_ACCESSIBILITY_LAYOUT_COMPLETE,
- NotificationService::AllSources());
+ scoped_refptr<MessageLoopRunner> loop_runner(new MessageLoopRunner);
RenderWidgetHostView* host_view =
shell()->web_contents()->GetRenderWidgetHostView();
RenderWidgetHostImpl* host =
RenderWidgetHostImpl::From(host_view->GetRenderWidgetHost());
RenderViewHostImpl* view_host = static_cast<RenderViewHostImpl*>(host);
+ TestRenderViewHostObserver observer(view_host, loop_runner->QuitClosure());
view_host->set_save_accessibility_tree_for_testing(true);
view_host->SetAccessibilityMode(accessibility_mode);
- tree_updated_observer.Wait();
+ loop_runner->Run();
return view_host->accessibility_tree_for_testing();
}

Powered by Google App Engine
This is Rietveld 408576698