Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / content / test / accessibility_browser_test_utils.cc
index ae514ae..a2f3815 100644 (file)
 namespace content {
 
 AccessibilityNotificationWaiter::AccessibilityNotificationWaiter(Shell* shell)
-    : shell_(shell),
-      event_to_wait_for_(ui::AX_EVENT_NONE),
+    : event_to_wait_for_(ui::AX_EVENT_NONE),
       loop_runner_(new MessageLoopRunner()),
-      weak_factory_(this),
-      event_target_id_(0) {
-  WebContents* web_contents = shell_->web_contents();
+      event_target_id_(0),
+      weak_factory_(this) {
+  WebContents* web_contents = shell->web_contents();
   frame_host_ = static_cast<RenderFrameHostImpl*>(
       web_contents->GetMainFrame());
   frame_host_->SetAccessibilityCallbackForTesting(
@@ -38,13 +37,12 @@ AccessibilityNotificationWaiter::AccessibilityNotificationWaiter(
     Shell* shell,
     AccessibilityMode accessibility_mode,
     ui::AXEvent event_type)
-    : shell_(shell),
-      event_to_wait_for_(event_type),
+    : event_to_wait_for_(event_type),
       loop_runner_(new MessageLoopRunner()),
-      weak_factory_(this),
-      event_target_id_(0) {
+      event_target_id_(0),
+      weak_factory_(this) {
   WebContentsImpl* web_contents = static_cast<WebContentsImpl*>(
-      shell_->web_contents());
+      shell->web_contents());
   frame_host_ = static_cast<RenderFrameHostImpl*>(
       web_contents->GetMainFrame());
   frame_host_->SetAccessibilityCallbackForTesting(
@@ -53,6 +51,19 @@ AccessibilityNotificationWaiter::AccessibilityNotificationWaiter(
   web_contents->AddAccessibilityMode(accessibility_mode);
 }
 
+AccessibilityNotificationWaiter::AccessibilityNotificationWaiter(
+    RenderFrameHostImpl* frame_host,
+    ui::AXEvent event_type)
+    : frame_host_(frame_host),
+      event_to_wait_for_(event_type),
+      loop_runner_(new MessageLoopRunner()),
+      event_target_id_(0),
+      weak_factory_(this) {
+  frame_host_->SetAccessibilityCallbackForTesting(
+      base::Bind(&AccessibilityNotificationWaiter::OnAccessibilityEvent,
+                 weak_factory_.GetWeakPtr()));
+}
+
 AccessibilityNotificationWaiter::~AccessibilityNotificationWaiter() {
 }