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

Side by Side Diff: content/browser/accessibility/accessibility_mode_browsertest.cc

Issue 273423004: Migrate accessibility from RenderView to RenderFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/browser/renderer_host/render_view_host_impl.h" 5 #include "content/browser/renderer_host/render_view_host_impl.h"
6 #include "content/browser/renderer_host/render_widget_host_impl.h" 6 #include "content/browser/renderer_host/render_widget_host_impl.h"
7 #include "content/browser/renderer_host/render_widget_host_view_base.h" 7 #include "content/browser/renderer_host/render_widget_host_view_base.h"
8 #include "content/browser/web_contents/web_contents_impl.h"
8 #include "content/public/browser/render_view_host.h" 9 #include "content/public/browser/render_view_host.h"
9 #include "content/public/browser/render_widget_host.h" 10 #include "content/public/browser/render_widget_host.h"
10 #include "content/public/browser/render_widget_host_view.h" 11 #include "content/public/browser/render_widget_host_view.h"
11 #include "content/public/browser/web_contents.h" 12 #include "content/public/browser/web_contents.h"
12 #include "content/public/common/url_constants.h" 13 #include "content/public/common/url_constants.h"
13 #include "content/public/test/content_browser_test.h" 14 #include "content/public/test/content_browser_test.h"
14 #include "content/public/test/content_browser_test_utils.h" 15 #include "content/public/test/content_browser_test_utils.h"
15 #include "content/shell/browser/shell.h" 16 #include "content/shell/browser/shell.h"
16 #include "content/test/accessibility_browser_test_utils.h" 17 #include "content/test/accessibility_browser_test_utils.h"
17 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
18 19
19 namespace content { 20 namespace content {
20 21
21 const char kMinimalPageDataURL[] = 22 const char kMinimalPageDataURL[] =
22 "data:text/html,<html><head></head><body>Hello, world</body></html>"; 23 "data:text/html,<html><head></head><body>Hello, world</body></html>";
23 24
24 class AccessibilityModeTest : public ContentBrowserTest { 25 class AccessibilityModeTest : public ContentBrowserTest {
25 protected: 26 protected:
26 WebContents* web_contents() { 27 WebContentsImpl* web_contents() {
27 return shell()->web_contents(); 28 return static_cast<WebContentsImpl*>(shell()->web_contents());
28 }
29
30 RenderWidgetHostImpl* rwhi() {
31 RenderWidgetHost* rwh =
32 web_contents()->GetRenderWidgetHostView()->GetRenderWidgetHost();
33 return RenderWidgetHostImpl::From(rwh);
34 } 29 }
35 30
36 RenderWidgetHostViewBase* host_view() { 31 RenderWidgetHostViewBase* host_view() {
37 return static_cast<RenderWidgetHostViewBase*>( 32 return static_cast<RenderWidgetHostViewBase*>(
38 shell()->web_contents()->GetRenderWidgetHostView()); 33 shell()->web_contents()->GetRenderWidgetHostView());
39 } 34 }
40 35
41 void ExpectBrowserAccessibilityManager(bool expect_bam, 36 void ExpectBrowserAccessibilityManager(bool expect_bam,
42 std::string message = "") { 37 std::string message = "") {
43 if (expect_bam) { 38 if (expect_bam) {
44 EXPECT_NE((BrowserAccessibilityManager*)NULL, 39 EXPECT_NE((BrowserAccessibilityManager*)NULL,
45 host_view()->GetBrowserAccessibilityManager()) << message; 40 host_view()->GetBrowserAccessibilityManager()) << message;
46 } else { 41 } else {
47 EXPECT_EQ((BrowserAccessibilityManager*)NULL, 42 EXPECT_EQ((BrowserAccessibilityManager*)NULL,
48 host_view()->GetBrowserAccessibilityManager()) << message; 43 host_view()->GetBrowserAccessibilityManager()) << message;
49 } 44 }
50 } 45 }
51 }; 46 };
52 47
53 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeOff) { 48 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeOff) {
54 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); 49 NavigateToURL(shell(), GURL(kMinimalPageDataURL));
55 50
56 EXPECT_EQ(AccessibilityModeOff, rwhi()->accessibility_mode()); 51 EXPECT_EQ(AccessibilityModeOff, web_contents()->accessibility_mode());
57 ExpectBrowserAccessibilityManager(false); 52 ExpectBrowserAccessibilityManager(false);
58 } 53 }
59 54
60 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeComplete) { 55 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeComplete) {
61 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); 56 NavigateToURL(shell(), GURL(kMinimalPageDataURL));
62 ASSERT_EQ(AccessibilityModeOff, rwhi()->accessibility_mode()); 57 ASSERT_EQ(AccessibilityModeOff, web_contents()->accessibility_mode());
63 58
64 AccessibilityNotificationWaiter waiter(shell()); 59 AccessibilityNotificationWaiter waiter(shell());
65 rwhi()->AddAccessibilityMode(AccessibilityModeComplete); 60 web_contents()->AddAccessibilityMode(AccessibilityModeComplete);
66 EXPECT_EQ(AccessibilityModeComplete, rwhi()->accessibility_mode()); 61 EXPECT_EQ(AccessibilityModeComplete, web_contents()->accessibility_mode());
67 waiter.WaitForNotification(); 62 waiter.WaitForNotification();
68 ExpectBrowserAccessibilityManager(true); 63 ExpectBrowserAccessibilityManager(true);
69 } 64 }
70 65
71 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeTreeOnly) { 66 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeTreeOnly) {
72 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); 67 NavigateToURL(shell(), GURL(kMinimalPageDataURL));
73 ASSERT_EQ(AccessibilityModeOff, rwhi()->accessibility_mode()); 68 ASSERT_EQ(AccessibilityModeOff, web_contents()->accessibility_mode());
74 69
75 AccessibilityNotificationWaiter waiter(shell()); 70 AccessibilityNotificationWaiter waiter(shell());
76 rwhi()->AddAccessibilityMode(AccessibilityModeTreeOnly); 71 web_contents()->AddAccessibilityMode(AccessibilityModeTreeOnly);
77 EXPECT_EQ(AccessibilityModeTreeOnly, rwhi()->accessibility_mode()); 72 EXPECT_EQ(AccessibilityModeTreeOnly, web_contents()->accessibility_mode());
78 waiter.WaitForNotification(); 73 waiter.WaitForNotification();
79 // No BrowserAccessibilityManager expected for AccessibilityModeTreeOnly 74 // No BrowserAccessibilityManager expected for AccessibilityModeTreeOnly
80 ExpectBrowserAccessibilityManager(false); 75 ExpectBrowserAccessibilityManager(false);
81 } 76 }
82 77
83 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AddingModes) { 78 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AddingModes) {
84 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); 79 NavigateToURL(shell(), GURL(kMinimalPageDataURL));
85 80
86 AccessibilityNotificationWaiter waiter(shell()); 81 AccessibilityNotificationWaiter waiter(shell());
87 rwhi()->AddAccessibilityMode(AccessibilityModeTreeOnly); 82 web_contents()->AddAccessibilityMode(AccessibilityModeTreeOnly);
88 EXPECT_EQ(AccessibilityModeTreeOnly, rwhi()->accessibility_mode()); 83 EXPECT_EQ(AccessibilityModeTreeOnly, web_contents()->accessibility_mode());
89 waiter.WaitForNotification(); 84 waiter.WaitForNotification();
90 ExpectBrowserAccessibilityManager(false, 85 ExpectBrowserAccessibilityManager(false,
91 "Should be no BrowserAccessibilityManager " 86 "Should be no BrowserAccessibilityManager "
92 "for AccessibilityModeTreeOnly"); 87 "for AccessibilityModeTreeOnly");
93 88
94 AccessibilityNotificationWaiter waiter2(shell()); 89 AccessibilityNotificationWaiter waiter2(shell());
95 rwhi()->AddAccessibilityMode(AccessibilityModeComplete); 90 web_contents()->AddAccessibilityMode(AccessibilityModeComplete);
96 EXPECT_EQ(AccessibilityModeComplete, rwhi()->accessibility_mode()); 91 EXPECT_EQ(AccessibilityModeComplete, web_contents()->accessibility_mode());
97 waiter2.WaitForNotification(); 92 waiter2.WaitForNotification();
98 ExpectBrowserAccessibilityManager(true, 93 ExpectBrowserAccessibilityManager(true,
99 "Should be a BrowserAccessibilityManager " 94 "Should be a BrowserAccessibilityManager "
100 "for AccessibilityModeComplete"); 95 "for AccessibilityModeComplete");
101 } 96 }
102 97
103 } // namespace content 98 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698