| 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 f1b559b4ae504f1d1662c142f0076695e8698a5d..bf299d46124a822ba2b799b62d17938b008ec930 100644
|
| --- a/content/renderer/accessibility/renderer_accessibility_browsertest.cc
|
| +++ b/content/renderer/accessibility/renderer_accessibility_browsertest.cc
|
| @@ -516,4 +516,38 @@ TEST_F(RendererAccessibilityTest, DetachAccessibilityObject) {
|
| // so we don't have a test expectation for it.
|
| }
|
|
|
| +TEST_F(RendererAccessibilityTest, EventOnObjectNotInTree) {
|
| + // Test RendererAccessibilityComplete and make sure it doesn't send anything
|
| + // if we get a notification from Blink for an object that isn't in the
|
| + // tree, like the scroll area that's the parent of the main document,
|
| + // which we don't expose.
|
| + std::string html = "<body><input></body>";
|
| + LoadHTML(html.c_str());
|
| +
|
| + scoped_ptr<TestRendererAccessibilityComplete> accessibility(
|
| + new TestRendererAccessibilityComplete(view()));
|
| + accessibility->SendPendingAccessibilityEvents();
|
| + EXPECT_EQ(3, CountAccessibilityNodesSentToBrowser());
|
| +
|
| + WebDocument document = view()->GetWebView()->mainFrame()->document();
|
| + WebAXObject root_obj = document.accessibilityObject();
|
| + WebAXObject scroll_area = root_obj.parentObject();
|
| + EXPECT_EQ(blink::WebAXRoleScrollArea, scroll_area.role());
|
| +
|
| + // Try to fire a message on the scroll area, and assert that we just
|
| + // ignore it.
|
| + sink_->ClearMessages();
|
| + accessibility->HandleAXEvent(scroll_area,
|
| + ui::AX_EVENT_VALUE_CHANGED);
|
| +
|
| + accessibility->SendPendingAccessibilityEvents();
|
| +
|
| + const IPC::Message* message =
|
| + sink_->GetUniqueMessageMatching(AccessibilityHostMsg_Events::ID);
|
| + ASSERT_TRUE(message);
|
| + Tuple1<std::vector<AccessibilityHostMsg_EventParams> > param;
|
| + AccessibilityHostMsg_Events::Read(message, ¶m);
|
| + ASSERT_EQ(0U, param.a.size());
|
| +}
|
| +
|
| } // namespace content
|
|
|