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

Side by Side Diff: content/test/accessibility_browser_test_utils.cc

Issue 1836113002: Fix accessible touch exploration inside of iframes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make test server url relative Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/test/accessibility_browser_test_utils.h" 5 #include "content/test/accessibility_browser_test_utils.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
11 #include "content/browser/frame_host/render_frame_host_impl.h" 11 #include "content/browser/frame_host/render_frame_host_impl.h"
12 #include "content/browser/renderer_host/render_widget_host_view_base.h" 12 #include "content/browser/renderer_host/render_widget_host_view_base.h"
13 #include "content/browser/web_contents/web_contents_impl.h" 13 #include "content/browser/web_contents/web_contents_impl.h"
14 #include "content/common/view_message_enums.h" 14 #include "content/common/view_message_enums.h"
15 #include "content/public/browser/web_contents.h" 15 #include "content/public/browser/web_contents.h"
16 #include "content/public/common/url_constants.h" 16 #include "content/public/common/url_constants.h"
17 #include "content/public/test/test_utils.h" 17 #include "content/public/test/test_utils.h"
18 #include "content/shell/browser/shell.h" 18 #include "content/shell/browser/shell.h"
19 #include "ui/accessibility/ax_node.h" 19 #include "ui/accessibility/ax_node.h"
20 20
21 namespace content { 21 namespace content {
22 22
23 AccessibilityNotificationWaiter::AccessibilityNotificationWaiter(Shell* shell) 23 AccessibilityNotificationWaiter::AccessibilityNotificationWaiter(Shell* shell)
24 : event_to_wait_for_(ui::AX_EVENT_NONE), 24 : event_to_wait_for_(ui::AX_EVENT_NONE),
25 loop_runner_(new MessageLoopRunner()), 25 loop_runner_(new MessageLoopRunner()),
26 event_target_id_(0), 26 event_target_id_(0),
27 event_render_frame_host_(nullptr),
27 weak_factory_(this) { 28 weak_factory_(this) {
28 WebContents* web_contents = shell->web_contents(); 29 WebContents* web_contents = shell->web_contents();
29 frame_host_ = static_cast<RenderFrameHostImpl*>( 30 frame_host_ = static_cast<RenderFrameHostImpl*>(
30 web_contents->GetMainFrame()); 31 web_contents->GetMainFrame());
31 frame_host_->SetAccessibilityCallbackForTesting( 32 frame_host_->SetAccessibilityCallbackForTesting(
32 base::Bind(&AccessibilityNotificationWaiter::OnAccessibilityEvent, 33 base::Bind(&AccessibilityNotificationWaiter::OnAccessibilityEvent,
33 weak_factory_.GetWeakPtr())); 34 weak_factory_.GetWeakPtr()));
34 } 35 }
35 36
36 AccessibilityNotificationWaiter::AccessibilityNotificationWaiter( 37 AccessibilityNotificationWaiter::AccessibilityNotificationWaiter(
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 85
85 const ui::AXTree& AccessibilityNotificationWaiter::GetAXTree() const { 86 const ui::AXTree& AccessibilityNotificationWaiter::GetAXTree() const {
86 CR_DEFINE_STATIC_LOCAL(ui::AXTree, empty_tree, ()); 87 CR_DEFINE_STATIC_LOCAL(ui::AXTree, empty_tree, ());
87 const ui::AXTree* tree = frame_host_->GetAXTreeForTesting(); 88 const ui::AXTree* tree = frame_host_->GetAXTreeForTesting();
88 if (tree) 89 if (tree)
89 return *tree; 90 return *tree;
90 return empty_tree; 91 return empty_tree;
91 } 92 }
92 93
93 void AccessibilityNotificationWaiter::OnAccessibilityEvent( 94 void AccessibilityNotificationWaiter::OnAccessibilityEvent(
94 ui::AXEvent event_type, int event_target_id) { 95 RenderFrameHostImpl* rfhi, ui::AXEvent event_type, int event_target_id) {
nasko 2016/03/30 21:01:41 style: Each parameter should be on a new line. git
dmazzoni 2016/03/31 16:15:55 Ran git cl format.
95 if (!IsAboutBlank() && (event_to_wait_for_ == ui::AX_EVENT_NONE || 96 if (!IsAboutBlank() && (event_to_wait_for_ == ui::AX_EVENT_NONE ||
96 event_to_wait_for_ == event_type)) { 97 event_to_wait_for_ == event_type)) {
97 event_target_id_ = event_target_id; 98 event_target_id_ = event_target_id;
99 event_render_frame_host_ = rfhi;
98 loop_runner_->Quit(); 100 loop_runner_->Quit();
99 } 101 }
100 } 102 }
101 103
102 bool AccessibilityNotificationWaiter::IsAboutBlank() { 104 bool AccessibilityNotificationWaiter::IsAboutBlank() {
103 // Skip any accessibility notifications related to "about:blank", 105 // Skip any accessibility notifications related to "about:blank",
104 // to avoid a possible race condition between the test beginning 106 // to avoid a possible race condition between the test beginning
105 // listening for accessibility events and "about:blank" loading. 107 // listening for accessibility events and "about:blank" loading.
106 return GetAXTree().data().url == url::kAboutBlankURL; 108 return GetAXTree().data().url == url::kAboutBlankURL;
107 } 109 }
108 110
109 } // namespace content 111 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698