Chromium Code Reviews| Index: content/renderer/accessibility/renderer_accessibility_browsertest.cc |
| diff --git a/content/renderer/accessibility/renderer_accessibility_browsertest.cc b/content/renderer/accessibility/renderer_accessibility_browsertest.cc |
| index 4c1ab5849dba198ed3e6dc93c8b86a411ee1ac9e..647ee6f241b4ba7bdaecce5d86615b7fb3d4a2df 100644 |
| --- a/content/renderer/accessibility/renderer_accessibility_browsertest.cc |
| +++ b/content/renderer/accessibility/renderer_accessibility_browsertest.cc |
| @@ -22,36 +22,12 @@ namespace content { |
| class TestRendererAccessibilityComplete : public RendererAccessibilityComplete { |
| public: |
| explicit TestRendererAccessibilityComplete(RenderViewImpl* render_view) |
| - : RendererAccessibilityComplete(render_view), |
| - browser_tree_node_count_(0) { |
| - } |
| - |
| - int browser_tree_node_count() { return browser_tree_node_count_; } |
| - |
| - struct TestBrowserTreeNode : public BrowserTreeNode { |
| - TestBrowserTreeNode(TestRendererAccessibilityComplete* owner) |
| - : owner_(owner) { |
| - owner_->browser_tree_node_count_++; |
| - } |
| - |
| - virtual ~TestBrowserTreeNode() { |
| - owner_->browser_tree_node_count_--; |
| - } |
| - |
| - private: |
| - TestRendererAccessibilityComplete* owner_; |
| - }; |
| - |
| - virtual BrowserTreeNode* CreateBrowserTreeNode() OVERRIDE { |
| - return new TestBrowserTreeNode(this); |
| + : RendererAccessibilityComplete(render_view) { |
| } |
| void SendPendingAccessibilityEvents() { |
| RendererAccessibilityComplete::SendPendingAccessibilityEvents(); |
| } |
| - |
| -private: |
| - int browser_tree_node_count_; |
| }; |
| class RendererAccessibilityTest : public RenderViewTest { |
| @@ -89,7 +65,7 @@ class RendererAccessibilityTest : public RenderViewTest { |
| int CountAccessibilityNodesSentToBrowser() { |
| AccessibilityHostMsg_EventParams event; |
| GetLastAccEvent(&event); |
| - return event.nodes.size(); |
| + return event.update.nodes.size(); |
| } |
| protected: |
| @@ -132,15 +108,15 @@ TEST_F(RendererAccessibilityTest, EditableTextModeFocusEvents) { |
| EXPECT_EQ(event.event_type, |
| ui::AX_EVENT_LAYOUT_COMPLETE); |
| EXPECT_EQ(event.id, 1); |
| - EXPECT_EQ(event.nodes.size(), 2U); |
| - EXPECT_EQ(event.nodes[0].id, 1); |
| - EXPECT_EQ(event.nodes[0].role, |
| + EXPECT_EQ(event.update.nodes.size(), 2U); |
| + EXPECT_EQ(event.update.nodes[0].id, 1); |
| + EXPECT_EQ(event.update.nodes[0].role, |
| ui::AX_ROLE_ROOT_WEB_AREA); |
| - EXPECT_EQ(event.nodes[0].state, |
| + EXPECT_EQ(event.update.nodes[0].state, |
| (1U << ui::AX_STATE_READ_ONLY) | |
| (1U << ui::AX_STATE_FOCUSABLE) | |
| (1U << ui::AX_STATE_FOCUSED)); |
| - EXPECT_EQ(event.nodes[0].child_ids.size(), 1U); |
| + EXPECT_EQ(event.update.nodes[0].child_ids.size(), 1U); |
| } |
| // Now focus the input element, and check everything again. |
| @@ -153,17 +129,17 @@ TEST_F(RendererAccessibilityTest, EditableTextModeFocusEvents) { |
| EXPECT_EQ(event.event_type, |
| ui::AX_EVENT_FOCUS); |
| EXPECT_EQ(event.id, 3); |
| - EXPECT_EQ(event.nodes[0].id, 1); |
| - EXPECT_EQ(event.nodes[0].role, |
| + EXPECT_EQ(event.update.nodes[0].id, 1); |
| + EXPECT_EQ(event.update.nodes[0].role, |
| ui::AX_ROLE_ROOT_WEB_AREA); |
| - EXPECT_EQ(event.nodes[0].state, |
| + EXPECT_EQ(event.update.nodes[0].state, |
| (1U << ui::AX_STATE_READ_ONLY) | |
| (1U << ui::AX_STATE_FOCUSABLE)); |
| - EXPECT_EQ(event.nodes[0].child_ids.size(), 1U); |
| - EXPECT_EQ(event.nodes[1].id, 3); |
| - EXPECT_EQ(event.nodes[1].role, |
| + EXPECT_EQ(event.update.nodes[0].child_ids.size(), 1U); |
| + EXPECT_EQ(event.update.nodes[1].id, 3); |
| + EXPECT_EQ(event.update.nodes[1].role, |
| ui::AX_ROLE_GROUP); |
| - EXPECT_EQ(event.nodes[1].state, |
| + EXPECT_EQ(event.update.nodes[1].state, |
| (1U << ui::AX_STATE_FOCUSABLE) | |
| (1U << ui::AX_STATE_FOCUSED)); |
| } |
| @@ -176,7 +152,7 @@ TEST_F(RendererAccessibilityTest, EditableTextModeFocusEvents) { |
| AccessibilityHostMsg_EventParams event; |
| GetLastAccEvent(&event); |
| EXPECT_EQ(event.id, 4); |
| - EXPECT_EQ(event.nodes[1].state, |
| + EXPECT_EQ(event.update.nodes[1].state, |
| (1U << ui::AX_STATE_FOCUSABLE) | |
| (1U << ui::AX_STATE_FOCUSED)); |
| } |
| @@ -188,7 +164,7 @@ TEST_F(RendererAccessibilityTest, EditableTextModeFocusEvents) { |
| AccessibilityHostMsg_EventParams event; |
| GetLastAccEvent(&event); |
| EXPECT_EQ(event.id, 5); |
| - EXPECT_EQ(event.nodes[1].state, |
| + EXPECT_EQ(event.update.nodes[1].state, |
| (1U << ui::AX_STATE_FOCUSABLE) | |
| (1U << ui::AX_STATE_FOCUSED)); |
| } |
| @@ -200,7 +176,7 @@ TEST_F(RendererAccessibilityTest, EditableTextModeFocusEvents) { |
| AccessibilityHostMsg_EventParams event; |
| GetLastAccEvent(&event); |
| EXPECT_EQ(event.id, 6); |
| - EXPECT_EQ(event.nodes[1].state, |
| + EXPECT_EQ(event.update.nodes[1].state, |
| (1U << ui::AX_STATE_FOCUSABLE) | |
| (1U << ui::AX_STATE_FOCUSED)); |
| } |
| @@ -213,7 +189,7 @@ TEST_F(RendererAccessibilityTest, EditableTextModeFocusEvents) { |
| AccessibilityHostMsg_EventParams event; |
| GetLastAccEvent(&event); |
| EXPECT_EQ(event.id, 7); |
| - EXPECT_EQ(event.nodes[1].state, |
| + EXPECT_EQ(event.update.nodes[1].state, |
| (1U << ui::AX_STATE_FOCUSABLE) | |
| (1U << ui::AX_STATE_FOCUSED) | |
| (1U << ui::AX_STATE_READ_ONLY)); |
| @@ -226,7 +202,7 @@ TEST_F(RendererAccessibilityTest, EditableTextModeFocusEvents) { |
| AccessibilityHostMsg_EventParams event; |
| GetLastAccEvent(&event); |
| EXPECT_EQ(event.id, 8); |
| - EXPECT_EQ(event.nodes[1].state, |
| + EXPECT_EQ(event.update.nodes[1].state, |
| (1U << ui::AX_STATE_FOCUSABLE) | |
| (1U << ui::AX_STATE_FOCUSED) | |
| (1U << ui::AX_STATE_READ_ONLY)); |
| @@ -244,7 +220,7 @@ TEST_F(RendererAccessibilityTest, EditableTextModeFocusEvents) { |
| } |
| TEST_F(RendererAccessibilityTest, SendFullAccessibilityTreeOnReload) { |
| - // The job of RendererAccessibilityComplete is to serialize the |
| + // The job of TestRendererAccessibilityComplete is to serialize the |
|
aboxhall
2014/02/25 17:45:35
What happened here?
dmazzoni
2014/02/27 20:51:44
Oops, I got too aggressive with search-and-replace
|
| // accessibility tree built by WebKit and send it to the browser. |
| // When the accessibility tree changes, it tries to send only |
| // the nodes that actually changed or were reparented. This test |
| @@ -259,12 +235,11 @@ TEST_F(RendererAccessibilityTest, SendFullAccessibilityTreeOnReload) { |
| "</body>"; |
| LoadHTML(html.c_str()); |
| - // Creating a RendererAccessibilityComplete should sent the tree |
| + // Creating a TestRendererAccessibilityComplete should sent the tree |
| // to the browser. |
| scoped_ptr<TestRendererAccessibilityComplete> accessibility( |
| new TestRendererAccessibilityComplete(view())); |
| accessibility->SendPendingAccessibilityEvents(); |
| - EXPECT_EQ(4, accessibility->browser_tree_node_count()); |
| EXPECT_EQ(4, CountAccessibilityNodesSentToBrowser()); |
| // If we post another event but the tree doesn't change, |
| @@ -276,13 +251,12 @@ TEST_F(RendererAccessibilityTest, SendFullAccessibilityTreeOnReload) { |
| root_obj, |
| ui::AX_EVENT_LAYOUT_COMPLETE); |
| accessibility->SendPendingAccessibilityEvents(); |
| - EXPECT_EQ(4, accessibility->browser_tree_node_count()); |
| EXPECT_EQ(1, CountAccessibilityNodesSentToBrowser()); |
| { |
| // Make sure it's the root object that was updated. |
| AccessibilityHostMsg_EventParams event; |
| GetLastAccEvent(&event); |
| - EXPECT_EQ(root_obj.axID(), event.nodes[0].id); |
| + EXPECT_EQ(root_obj.axID(), event.update.nodes[0].id); |
| } |
| // If we reload the page and send a event, we should send |
| @@ -296,7 +270,6 @@ TEST_F(RendererAccessibilityTest, SendFullAccessibilityTreeOnReload) { |
| root_obj, |
| ui::AX_EVENT_LAYOUT_COMPLETE); |
| accessibility->SendPendingAccessibilityEvents(); |
| - EXPECT_EQ(4, accessibility->browser_tree_node_count()); |
| EXPECT_EQ(4, CountAccessibilityNodesSentToBrowser()); |
| // Even if the first event is sent on an element other than |
| @@ -311,7 +284,6 @@ TEST_F(RendererAccessibilityTest, SendFullAccessibilityTreeOnReload) { |
| first_child, |
| ui::AX_EVENT_LIVE_REGION_CHANGED); |
| accessibility->SendPendingAccessibilityEvents(); |
| - EXPECT_EQ(4, accessibility->browser_tree_node_count()); |
| EXPECT_EQ(4, CountAccessibilityNodesSentToBrowser()); |
| } |
| @@ -332,12 +304,11 @@ TEST_F(RendererAccessibilityTest, |
| "</body>"; |
| LoadHTML(html.c_str()); |
| - // Creating a RendererAccessibilityComplete should send the tree |
| + // Creating a TestRendererAccessibilityComplete should send the tree |
| // to the browser. |
| scoped_ptr<TestRendererAccessibilityComplete> accessibility( |
| new TestRendererAccessibilityComplete(view())); |
| accessibility->SendPendingAccessibilityEvents(); |
| - EXPECT_EQ(5, accessibility->browser_tree_node_count()); |
| EXPECT_EQ(5, CountAccessibilityNodesSentToBrowser()); |
| // Post a "value changed" event, but then swap out |
| @@ -391,7 +362,6 @@ TEST_F(RendererAccessibilityTest, HideAccessibilityObject) { |
| scoped_ptr<TestRendererAccessibilityComplete> accessibility( |
| new TestRendererAccessibilityComplete(view())); |
| accessibility->SendPendingAccessibilityEvents(); |
| - EXPECT_EQ(4, accessibility->browser_tree_node_count()); |
| EXPECT_EQ(4, CountAccessibilityNodesSentToBrowser()); |
| WebDocument document = view()->GetWebView()->mainFrame()->document(); |
| @@ -413,17 +383,16 @@ TEST_F(RendererAccessibilityTest, HideAccessibilityObject) { |
| ui::AX_EVENT_CHILDREN_CHANGED); |
| accessibility->SendPendingAccessibilityEvents(); |
| - EXPECT_EQ(3, accessibility->browser_tree_node_count()); |
| AccessibilityHostMsg_EventParams event; |
| GetLastAccEvent(&event); |
| - ASSERT_EQ(3U, event.nodes.size()); |
| + ASSERT_EQ(3U, event.update.nodes.size()); |
| - // RendererAccessibilityComplete notices that 'C' is being reparented, |
| + // TestRendererAccessibilityComplete notices that 'C' is being reparented, |
| // so it updates 'B' first to remove 'C' as a child, then 'A' to add it, |
| // and finally it updates 'C'. |
| - EXPECT_EQ(node_b.axID(), event.nodes[0].id); |
| - EXPECT_EQ(node_a.axID(), event.nodes[1].id); |
| - EXPECT_EQ(node_c.axID(), event.nodes[2].id); |
| + EXPECT_EQ(node_b.axID(), event.update.nodes[0].id); |
| + EXPECT_EQ(node_a.axID(), event.update.nodes[1].id); |
| + EXPECT_EQ(node_c.axID(), event.update.nodes[2].id); |
| EXPECT_EQ(3, CountAccessibilityNodesSentToBrowser()); |
| } |
| @@ -446,7 +415,6 @@ TEST_F(RendererAccessibilityTest, ShowAccessibilityObject) { |
| scoped_ptr<TestRendererAccessibilityComplete> accessibility( |
| new TestRendererAccessibilityComplete(view())); |
| accessibility->SendPendingAccessibilityEvents(); |
| - EXPECT_EQ(3, accessibility->browser_tree_node_count()); |
| EXPECT_EQ(3, CountAccessibilityNodesSentToBrowser()); |
| // Show node 'B', then send a childrenChanged on 'A'. |
| @@ -463,10 +431,9 @@ TEST_F(RendererAccessibilityTest, ShowAccessibilityObject) { |
| ui::AX_EVENT_CHILDREN_CHANGED); |
| accessibility->SendPendingAccessibilityEvents(); |
| - EXPECT_EQ(4, accessibility->browser_tree_node_count()); |
| AccessibilityHostMsg_EventParams event; |
| GetLastAccEvent(&event); |
| - ASSERT_EQ(3U, event.nodes.size()); |
| + ASSERT_EQ(3U, event.update.nodes.size()); |
| EXPECT_EQ(3, CountAccessibilityNodesSentToBrowser()); |
| } |
| @@ -484,7 +451,6 @@ TEST_F(RendererAccessibilityTest, DetachAccessibilityObject) { |
| scoped_ptr<TestRendererAccessibilityComplete> accessibility( |
| new TestRendererAccessibilityComplete(view())); |
| accessibility->SendPendingAccessibilityEvents(); |
| - EXPECT_EQ(7, accessibility->browser_tree_node_count()); |
| EXPECT_EQ(7, CountAccessibilityNodesSentToBrowser()); |
| // Initially, the accessibility tree looks like this: |
| @@ -531,14 +497,13 @@ TEST_F(RendererAccessibilityTest, DetachAccessibilityObject) { |
| // accessibility tree and that only three nodes needed |
| // to be updated (the body, the static text 1, and |
| // the static text 2). |
| - EXPECT_EQ(6, accessibility->browser_tree_node_count()); |
| AccessibilityHostMsg_EventParams event; |
| GetLastAccEvent(&event); |
| - ASSERT_EQ(5U, event.nodes.size()); |
| + ASSERT_EQ(5U, event.update.nodes.size()); |
| - EXPECT_EQ(body.axID(), event.nodes[0].id); |
| - EXPECT_EQ(text_1.axID(), event.nodes[1].id); |
| + EXPECT_EQ(body.axID(), event.update.nodes[0].id); |
| + EXPECT_EQ(text_1.axID(), event.update.nodes[1].id); |
| // The third event is to update text_2, but its id changes |
| // so we don't have a test expectation for it. |
| } |