| Index: content/browser/accessibility/browser_accessibility_manager_unittest.cc
|
| diff --git a/content/browser/accessibility/browser_accessibility_manager_unittest.cc b/content/browser/accessibility/browser_accessibility_manager_unittest.cc
|
| index d0ca4bbf1cd62626f8a244565f28dda472214e96..1b831615879dbac25eed8a39e144c5055472b632 100644
|
| --- a/content/browser/accessibility/browser_accessibility_manager_unittest.cc
|
| +++ b/content/browser/accessibility/browser_accessibility_manager_unittest.cc
|
| @@ -798,6 +798,54 @@ TEST(BrowserAccessibilityManagerTest, BoundsForRangeBiDi) {
|
| static_text_accessible->GetLocalBoundsForRange(2, 2).ToString());
|
| }
|
|
|
| +TEST(BrowserAccessibilityManagerTest, BoundsForRangeScrolledWindow) {
|
| + ui::AXNodeData root;
|
| + root.id = 1;
|
| + root.role = ui::AX_ROLE_ROOT_WEB_AREA;
|
| + root.AddIntAttribute(ui::AX_ATTR_SCROLL_X, 25);
|
| + root.AddIntAttribute(ui::AX_ATTR_SCROLL_Y, 50);
|
| +
|
| + ui::AXNodeData static_text;
|
| + static_text.id = 2;
|
| + static_text.SetValue("ABC");
|
| + static_text.role = ui::AX_ROLE_STATIC_TEXT;
|
| + static_text.location = gfx::Rect(100, 100, 16, 9);
|
| + root.child_ids.push_back(2);
|
| +
|
| + ui::AXNodeData inline_text;
|
| + inline_text.id = 3;
|
| + inline_text.SetValue("ABC");
|
| + inline_text.role = ui::AX_ROLE_INLINE_TEXT_BOX;
|
| + inline_text.location = gfx::Rect(100, 100, 16, 9);
|
| + inline_text.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION,
|
| + ui::AX_TEXT_DIRECTION_LR);
|
| + std::vector<int32> character_offsets1;
|
| + character_offsets1.push_back(6); // 0
|
| + character_offsets1.push_back(11); // 1
|
| + character_offsets1.push_back(16); // 2
|
| + inline_text.AddIntListAttribute(
|
| + ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets1);
|
| + static_text.child_ids.push_back(3);
|
| +
|
| + scoped_ptr<BrowserAccessibilityManager> manager(
|
| + BrowserAccessibilityManager::Create(
|
| + MakeAXTreeUpdate(root, static_text, inline_text),
|
| + NULL,
|
| + new CountedBrowserAccessibilityFactory()));
|
| +
|
| + BrowserAccessibility* root_accessible = manager->GetRoot();
|
| + BrowserAccessibility* static_text_accessible =
|
| + root_accessible->PlatformGetChild(0);
|
| +
|
| + if (manager->UseRootScrollOffsetsWhenComputingBounds()) {
|
| + EXPECT_EQ(gfx::Rect(75, 50, 16, 9).ToString(),
|
| + static_text_accessible->GetLocalBoundsForRange(0, 3).ToString());
|
| + } else {
|
| + EXPECT_EQ(gfx::Rect(100, 100, 16, 9).ToString(),
|
| + static_text_accessible->GetLocalBoundsForRange(0, 3).ToString());
|
| + }
|
| +}
|
| +
|
| #if defined(OS_WIN)
|
| #define MAYBE_BoundsForRangeOnParentElement \
|
| DISABLED_BoundsForRangeOnParentElement
|
|
|