Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(88)

Unified Diff: content/browser/accessibility/browser_accessibility_com_win.cc

Issue 2934953004: De-templatize ui::AXPosition
Patch Set: rebase Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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())

Powered by Google App Engine
This is Rietveld 408576698