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

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

Issue 407493004: Revert of Revert of Migrate accessibility from RenderView to RenderFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 }
35
36 RenderWidgetHostViewBase* host_view() {
37 return static_cast<RenderWidgetHostViewBase*>(
38 shell()->web_contents()->GetRenderWidgetHostView());
39 } 29 }
40 30
41 void ExpectBrowserAccessibilityManager(bool expect_bam, 31 void ExpectBrowserAccessibilityManager(bool expect_bam,
42 std::string message = "") { 32 std::string message = "") {
43 if (expect_bam) { 33 if (expect_bam) {
44 EXPECT_NE((BrowserAccessibilityManager*)NULL, 34 EXPECT_NE(
45 host_view()->GetBrowserAccessibilityManager()) << message; 35 (BrowserAccessibilityManager*)NULL,
36 web_contents()->GetRootBrowserAccessibilityManager()) << message;
46 } else { 37 } else {
47 EXPECT_EQ((BrowserAccessibilityManager*)NULL, 38 EXPECT_EQ(
48 host_view()->GetBrowserAccessibilityManager()) << message; 39 (BrowserAccessibilityManager*)NULL,
40 web_contents()->GetRootBrowserAccessibilityManager()) << message;
49 } 41 }
50 } 42 }
51 }; 43 };
52 44
53 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeOff) { 45 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeOff) {
54 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); 46 NavigateToURL(shell(), GURL(kMinimalPageDataURL));
55 47
56 EXPECT_EQ(AccessibilityModeOff, rwhi()->accessibility_mode()); 48 EXPECT_EQ(AccessibilityModeOff, web_contents()->GetAccessibilityMode());
57 ExpectBrowserAccessibilityManager(false); 49 ExpectBrowserAccessibilityManager(false);
58 } 50 }
59 51
60 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeComplete) { 52 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeComplete) {
61 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); 53 NavigateToURL(shell(), GURL(kMinimalPageDataURL));
62 ASSERT_EQ(AccessibilityModeOff, rwhi()->accessibility_mode()); 54 ASSERT_EQ(AccessibilityModeOff, web_contents()->GetAccessibilityMode());
63 55
64 AccessibilityNotificationWaiter waiter(shell()); 56 AccessibilityNotificationWaiter waiter(shell());
65 rwhi()->AddAccessibilityMode(AccessibilityModeComplete); 57 web_contents()->AddAccessibilityMode(AccessibilityModeComplete);
66 EXPECT_EQ(AccessibilityModeComplete, rwhi()->accessibility_mode()); 58 EXPECT_EQ(AccessibilityModeComplete, web_contents()->GetAccessibilityMode());
67 waiter.WaitForNotification(); 59 waiter.WaitForNotification();
68 ExpectBrowserAccessibilityManager(true); 60 ExpectBrowserAccessibilityManager(true);
69 } 61 }
70 62
71 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeTreeOnly) { 63 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeTreeOnly) {
72 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); 64 NavigateToURL(shell(), GURL(kMinimalPageDataURL));
73 ASSERT_EQ(AccessibilityModeOff, rwhi()->accessibility_mode()); 65 ASSERT_EQ(AccessibilityModeOff, web_contents()->GetAccessibilityMode());
74 66
75 AccessibilityNotificationWaiter waiter(shell()); 67 AccessibilityNotificationWaiter waiter(shell());
76 rwhi()->AddAccessibilityMode(AccessibilityModeTreeOnly); 68 web_contents()->AddAccessibilityMode(AccessibilityModeTreeOnly);
77 EXPECT_EQ(AccessibilityModeTreeOnly, rwhi()->accessibility_mode()); 69 EXPECT_EQ(AccessibilityModeTreeOnly, web_contents()->GetAccessibilityMode());
78 waiter.WaitForNotification(); 70 waiter.WaitForNotification();
79 // No BrowserAccessibilityManager expected for AccessibilityModeTreeOnly 71 // No BrowserAccessibilityManager expected for AccessibilityModeTreeOnly
80 ExpectBrowserAccessibilityManager(false); 72 ExpectBrowserAccessibilityManager(false);
81 } 73 }
82 74
83 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AddingModes) { 75 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AddingModes) {
84 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); 76 NavigateToURL(shell(), GURL(kMinimalPageDataURL));
85 77
86 AccessibilityNotificationWaiter waiter(shell()); 78 AccessibilityNotificationWaiter waiter(shell());
87 rwhi()->AddAccessibilityMode(AccessibilityModeTreeOnly); 79 web_contents()->AddAccessibilityMode(AccessibilityModeTreeOnly);
88 EXPECT_EQ(AccessibilityModeTreeOnly, rwhi()->accessibility_mode()); 80 EXPECT_EQ(AccessibilityModeTreeOnly, web_contents()->GetAccessibilityMode());
89 waiter.WaitForNotification(); 81 waiter.WaitForNotification();
90 ExpectBrowserAccessibilityManager(false, 82 ExpectBrowserAccessibilityManager(false,
91 "Should be no BrowserAccessibilityManager " 83 "Should be no BrowserAccessibilityManager "
92 "for AccessibilityModeTreeOnly"); 84 "for AccessibilityModeTreeOnly");
93 85
94 AccessibilityNotificationWaiter waiter2(shell()); 86 AccessibilityNotificationWaiter waiter2(shell());
95 rwhi()->AddAccessibilityMode(AccessibilityModeComplete); 87 web_contents()->AddAccessibilityMode(AccessibilityModeComplete);
96 EXPECT_EQ(AccessibilityModeComplete, rwhi()->accessibility_mode()); 88 EXPECT_EQ(AccessibilityModeComplete, web_contents()->GetAccessibilityMode());
97 waiter2.WaitForNotification(); 89 waiter2.WaitForNotification();
98 ExpectBrowserAccessibilityManager(true, 90 ExpectBrowserAccessibilityManager(true,
99 "Should be a BrowserAccessibilityManager " 91 "Should be a BrowserAccessibilityManager "
100 "for AccessibilityModeComplete"); 92 "for AccessibilityModeComplete");
101 } 93 }
102 94
103 } // namespace content 95 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698