| Index: content/browser/accessibility/browser_accessibility_com_win.cc
|
| diff --git a/content/browser/accessibility/browser_accessibility_com_win.cc b/content/browser/accessibility/browser_accessibility_com_win.cc
|
| index 8ec9e981b9f157a48844fd71d957dab25cbeaf93..dc01d8ee19de320ec23bb271c0cb789c1da4a56d 100644
|
| --- a/content/browser/accessibility/browser_accessibility_com_win.cc
|
| +++ b/content/browser/accessibility/browser_accessibility_com_win.cc
|
| @@ -220,7 +220,8 @@ const WCHAR* const IA2_RELATION_ERROR_MESSAGE = L"errorMessage";
|
|
|
| namespace content {
|
|
|
| -using AXPlatformPositionInstance = AXPlatformPosition::AXPositionInstance;
|
| +using AXPlatformPositionInstance = AXPlatformPosition::ConcreteInstance;
|
| +using AXAbstractPositionInstance = AXPlatformPosition::AXPositionInstance;
|
| using AXPlatformRange = ui::AXRange<AXPlatformPositionInstance::element_type>;
|
|
|
| // These nonstandard GUIDs are taken directly from the Mozilla sources
|
| @@ -3588,7 +3589,7 @@ void BrowserAccessibilityComWin::ComputeStylesIfNeeded() {
|
| // |offset| could either be a text character or a child index in case of
|
| // non-text objects.
|
| // TODO(nektar): Remove this function once selection bugs are fixed in Blink.
|
| -AXPlatformPosition::AXPositionInstance
|
| +AXPlatformPosition::ConcreteInstance
|
| BrowserAccessibilityComWin::CreatePositionForSelectionAt(int offset) const {
|
| if (!owner()->IsNativeTextControl() && !owner()->IsTextOnlyObject()) {
|
| auto* manager = Manager();
|
| @@ -3609,14 +3610,14 @@ BrowserAccessibilityComWin::CreatePositionForSelectionAt(int offset) const {
|
| break;
|
| offset = new_offset;
|
| }
|
| - AXPlatformPositionInstance position =
|
| - AXPlatformPosition::CreateTextPosition(manager->ax_tree_id(),
|
| - child->owner()->GetId(), offset,
|
| - ui::AX_TEXT_AFFINITY_DOWNSTREAM)
|
| - ->AsLeafTextPosition();
|
| + AXPlatformPositionInstance position = AXPlatformPosition::FromBase(
|
| + AXPlatformPosition::CreateConcreteTextPosition(
|
| + manager->ax_tree_id(), child->owner()->GetId(), offset,
|
| + ui::AX_TEXT_AFFINITY_DOWNSTREAM)
|
| + ->AsLeafTextPosition());
|
| if (position->GetAnchor() &&
|
| position->GetAnchor()->GetRole() == ui::AX_ROLE_INLINE_TEXT_BOX) {
|
| - return position->CreateParentPosition();
|
| + return AXPlatformPosition::FromBase(position->CreateParentPosition());
|
| }
|
| return position;
|
| }
|
| @@ -4268,8 +4269,8 @@ void BrowserAccessibilityComWin::SetIA2HypertextSelection(LONG start_offset,
|
| CreatePositionForSelectionAt(static_cast<int>(start_offset));
|
| AXPlatformPositionInstance end_position =
|
| CreatePositionForSelectionAt(static_cast<int>(end_offset));
|
| - Manager()->SetSelection(AXPlatformRange(start_position->AsTextPosition(),
|
| - end_position->AsTextPosition()));
|
| + Manager()->SetSelection(ui::AXAbstractRange(start_position->AsTextPosition(),
|
| + end_position->AsTextPosition()));
|
| }
|
|
|
| void BrowserAccessibilityComWin::StringAttributeToIA2(
|
| @@ -4679,18 +4680,18 @@ LONG BrowserAccessibilityComWin::FindBoundary(
|
| if (ia2_boundary == IA2_TEXT_BOUNDARY_WORD) {
|
| switch (direction) {
|
| case ui::FORWARDS_DIRECTION: {
|
| - AXPlatformPositionInstance position =
|
| + AXAbstractPositionInstance position =
|
| owner()->CreatePositionAt(static_cast<int>(start_offset), affinity);
|
| - AXPlatformPositionInstance next_word =
|
| + AXAbstractPositionInstance next_word =
|
| position->CreateNextWordStartPosition();
|
| if (next_word->anchor_id() != owner()->GetId())
|
| next_word = position->CreatePositionAtEndOfAnchor();
|
| return next_word->text_offset();
|
| }
|
| case ui::BACKWARDS_DIRECTION: {
|
| - AXPlatformPositionInstance position =
|
| + AXAbstractPositionInstance position =
|
| owner()->CreatePositionAt(static_cast<int>(start_offset), affinity);
|
| - AXPlatformPositionInstance previous_word;
|
| + AXAbstractPositionInstance previous_word;
|
| if (!position->AtStartOfWord()) {
|
| previous_word = position->CreatePreviousWordStartPosition();
|
| if (previous_word->anchor_id() != owner()->GetId())
|
| @@ -4706,18 +4707,18 @@ LONG BrowserAccessibilityComWin::FindBoundary(
|
| if (ia2_boundary == IA2_TEXT_BOUNDARY_LINE) {
|
| switch (direction) {
|
| case ui::FORWARDS_DIRECTION: {
|
| - AXPlatformPositionInstance position =
|
| + AXAbstractPositionInstance position =
|
| owner()->CreatePositionAt(static_cast<int>(start_offset), affinity);
|
| - AXPlatformPositionInstance next_line =
|
| + AXAbstractPositionInstance next_line =
|
| position->CreateNextLineStartPosition();
|
| if (next_line->anchor_id() != owner()->GetId())
|
| next_line = position->CreatePositionAtEndOfAnchor();
|
| return next_line->text_offset();
|
| }
|
| case ui::BACKWARDS_DIRECTION: {
|
| - AXPlatformPositionInstance position =
|
| + AXAbstractPositionInstance position =
|
| owner()->CreatePositionAt(static_cast<int>(start_offset), affinity);
|
| - AXPlatformPositionInstance previous_line;
|
| + AXAbstractPositionInstance previous_line;
|
| if (!position->AtStartOfLine()) {
|
| previous_line = position->CreatePreviousLineStartPosition();
|
| if (previous_line->anchor_id() != owner()->GetId())
|
|
|