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 6c0cc6552eb11618a01a86e2b045dbbc858b6228..bf705ee55fd79c85f950c08fadab221ff2f5f5a3 100644 |
--- a/content/browser/accessibility/browser_accessibility_com_win.cc |
+++ b/content/browser/accessibility/browser_accessibility_com_win.cc |
@@ -137,7 +137,7 @@ |
if (!unique_id) |
return E_INVALIDARG; |
- *unique_id = -AXPlatformNodeWin::unique_id(); |
+ *unique_id = -owner()->unique_id(); |
return S_OK; |
} |
@@ -1249,8 +1249,8 @@ |
} |
int32_t id = hyperlinks()[index]; |
- auto* link = static_cast<BrowserAccessibilityComWin*>( |
- AXPlatformNodeWin::GetFromUniqueId(id)); |
+ BrowserAccessibilityComWin* link = |
+ ToBrowserAccessibilityComWin(owner()->GetFromUniqueID(id)); |
if (!link) |
return E_FAIL; |
@@ -1708,7 +1708,7 @@ |
*name_space_id = 0; |
*node_value = SysAllocString(value().c_str()); |
*num_children = owner()->PlatformChildCount(); |
- *unique_id = -AXPlatformNodeWin::unique_id(); |
+ *unique_id = -owner()->unique_id(); |
if (owner()->IsDocument()) { |
*node_type = NODETYPE_DOCUMENT; |
@@ -2483,7 +2483,7 @@ |
win_attributes_->hypertext += child->name(); |
} else { |
int32_t char_offset = static_cast<int32_t>(owner()->GetText().size()); |
- int32_t child_unique_id = child->unique_id(); |
+ int32_t child_unique_id = child->owner()->unique_id(); |
int32_t index = hyperlinks().size(); |
win_attributes_->hyperlink_offset_to_index[char_offset] = index; |
win_attributes_->hyperlinks.push_back(child_unique_id); |
@@ -2596,6 +2596,12 @@ |
void BrowserAccessibilityComWin::Init(ui::AXPlatformNodeDelegate* delegate) { |
owner_ = static_cast<BrowserAccessibilityWin*>(delegate); |
AXPlatformNodeBase::Init(delegate); |
+} |
+ |
+ui::AXPlatformNode* BrowserAccessibilityComWin::GetFromUniqueId( |
+ int32_t unique_id) { |
+ return ToBrowserAccessibilityComWin( |
+ BrowserAccessibility::GetFromUniqueID(unique_id)); |
} |
std::vector<base::string16> BrowserAccessibilityComWin::ComputeTextAttributes() |
@@ -2846,8 +2852,8 @@ |
return ToBrowserAccessibilityComWin( |
owner()->PlatformGetChild(child_id - 1)); |
- auto* child = static_cast<BrowserAccessibilityComWin*>( |
- AXPlatformNodeWin::GetFromUniqueId(-child_id)); |
+ BrowserAccessibilityComWin* child = ToBrowserAccessibilityComWin( |
+ BrowserAccessibility::GetFromUniqueID(-child_id)); |
if (child && child->owner()->IsDescendantOf(owner())) |
return child; |
@@ -2921,8 +2927,8 @@ |
DCHECK_GE(index, 0); |
DCHECK_LT(index, static_cast<int32_t>(hyperlinks().size())); |
int32_t id = hyperlinks()[index]; |
- auto* hyperlink = static_cast<BrowserAccessibilityComWin*>( |
- AXPlatformNodeWin::GetFromUniqueId(id)); |
+ BrowserAccessibilityComWin* hyperlink = |
+ ToBrowserAccessibilityComWin(owner()->GetFromUniqueID(id)); |
if (!hyperlink) |
return nullptr; |
return hyperlink; |
@@ -2933,8 +2939,8 @@ |
if (hyperlinks().empty()) |
return -1; |
- auto iterator = |
- std::find(hyperlinks().begin(), hyperlinks().end(), child.unique_id()); |
+ auto iterator = std::find(hyperlinks().begin(), hyperlinks().end(), |
+ child.owner()->unique_id()); |
if (iterator == hyperlinks().end()) |
return -1; |