OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <string> | 5 #include <string> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
9 #include "chrome/browser/ui/browser.h" | 9 #include "chrome/browser/ui/browser.h" |
10 #include "chrome/browser/ui/browser_window.h" | 10 #include "chrome/browser/ui/browser_window.h" |
11 #include "chrome/common/render_messages.h" | 11 #include "chrome/common/render_messages.h" |
12 #include "chrome/test/in_process_browser_test.h" | 12 #include "chrome/test/in_process_browser_test.h" |
13 #include "chrome/test/ui_test_utils.h" | 13 #include "chrome/test/ui_test_utils.h" |
14 #include "content/browser/renderer_host/render_view_host.h" | 14 #include "content/browser/renderer_host/render_view_host.h" |
15 #include "content/browser/renderer_host/render_widget_host.h" | 15 #include "content/browser/renderer_host/render_widget_host.h" |
16 #include "content/browser/renderer_host/render_widget_host_view.h" | 16 #include "content/browser/renderer_host/render_widget_host_view.h" |
17 #include "content/browser/tab_contents/tab_contents.h" | 17 #include "content/browser/tab_contents/tab_contents.h" |
18 #include "content/common/notification_type.h" | 18 #include "content/common/content_notification_types.h" |
19 | 19 |
20 #if defined(OS_WIN) | 20 #if defined(OS_WIN) |
21 #include <atlbase.h> | 21 #include <atlbase.h> |
22 #include <atlcom.h> | 22 #include <atlcom.h> |
23 #endif | 23 #endif |
24 | 24 |
25 using webkit_glue::WebAccessibility; | 25 using webkit_glue::WebAccessibility; |
26 | 26 |
27 namespace { | 27 namespace { |
28 | 28 |
29 class RendererAccessibilityBrowserTest : public InProcessBrowserTest { | 29 class RendererAccessibilityBrowserTest : public InProcessBrowserTest { |
30 public: | 30 public: |
31 RendererAccessibilityBrowserTest() {} | 31 RendererAccessibilityBrowserTest() {} |
32 | 32 |
33 // Tell the renderer to send an accessibility tree, then wait for the | 33 // Tell the renderer to send an accessibility tree, then wait for the |
34 // notification that it's been received. | 34 // notification that it's been received. |
35 const WebAccessibility& GetWebAccessibilityTree() { | 35 const WebAccessibility& GetWebAccessibilityTree() { |
36 RenderWidgetHostView* host_view = | 36 RenderWidgetHostView* host_view = |
37 browser()->GetSelectedTabContents()->GetRenderWidgetHostView(); | 37 browser()->GetSelectedTabContents()->GetRenderWidgetHostView(); |
38 RenderWidgetHost* host = host_view->GetRenderWidgetHost(); | 38 RenderWidgetHost* host = host_view->GetRenderWidgetHost(); |
39 RenderViewHost* view_host = static_cast<RenderViewHost*>(host); | 39 RenderViewHost* view_host = static_cast<RenderViewHost*>(host); |
40 view_host->set_save_accessibility_tree_for_testing(true); | 40 view_host->set_save_accessibility_tree_for_testing(true); |
41 view_host->EnableRendererAccessibility(); | 41 view_host->EnableRendererAccessibility(); |
42 ui_test_utils::WaitForNotification( | 42 ui_test_utils::WaitForNotification( |
43 NotificationType::RENDER_VIEW_HOST_ACCESSIBILITY_TREE_UPDATED); | 43 content::NOTIFICATION_RENDER_VIEW_HOST_ACCESSIBILITY_TREE_UPDATED); |
44 return view_host->accessibility_tree(); | 44 return view_host->accessibility_tree(); |
45 } | 45 } |
46 | 46 |
47 // Make sure each node in the tree has an unique id. | 47 // Make sure each node in the tree has an unique id. |
48 void RecursiveAssertUniqueIds( | 48 void RecursiveAssertUniqueIds( |
49 const WebAccessibility& node, base::hash_set<int>* ids) { | 49 const WebAccessibility& node, base::hash_set<int>* ids) { |
50 ASSERT_TRUE(ids->find(node.id) == ids->end()); | 50 ASSERT_TRUE(ids->find(node.id) == ids->end()); |
51 ids->insert(node.id); | 51 ids->insert(node.id); |
52 for (size_t i = 0; i < node.children.size(); i++) | 52 for (size_t i = 0; i < node.children.size(); i++) |
53 RecursiveAssertUniqueIds(node.children[i], ids); | 53 RecursiveAssertUniqueIds(node.children[i], ids); |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 "<em><code ><h4 ></em>"; | 328 "<em><code ><h4 ></em>"; |
329 GURL url(url_str); | 329 GURL url(url_str); |
330 browser()->OpenURL(url, GURL(), CURRENT_TAB, PageTransition::TYPED); | 330 browser()->OpenURL(url, GURL(), CURRENT_TAB, PageTransition::TYPED); |
331 | 331 |
332 const WebAccessibility& tree = GetWebAccessibilityTree(); | 332 const WebAccessibility& tree = GetWebAccessibilityTree(); |
333 base::hash_set<int> ids; | 333 base::hash_set<int> ids; |
334 RecursiveAssertUniqueIds(tree, &ids); | 334 RecursiveAssertUniqueIds(tree, &ids); |
335 } | 335 } |
336 | 336 |
337 } // namespace | 337 } // namespace |
OLD | NEW |