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

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

Issue 2981083002: Migrate BrowserAccessibility windows unique id handling to AXPlatformNodeWin. (Closed)
Patch Set: Use after free no more Created 3 years, 5 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_manager_android.cc
diff --git a/content/browser/accessibility/browser_accessibility_manager_android.cc b/content/browser/accessibility/browser_accessibility_manager_android.cc
index 5221f93c2b5b48b0b2f386f8dba510da21da9feb..1677bb11b48c857999e7f77f890ef1359c56bcf2 100644
--- a/content/browser/accessibility/browser_accessibility_manager_android.cc
+++ b/content/browser/accessibility/browser_accessibility_manager_android.cc
@@ -113,7 +113,7 @@ void BrowserAccessibilityManagerAndroid::NotifyAccessibilityEvent(
// Always send AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED to notify
// the Android system that the accessibility hierarchy rooted at this
// node has changed.
- wcax->HandleContentChanged(node->unique_id());
+ wcax->HandleContentChanged(android_node->unique_id());
// Ignore load complete events on iframes.
if (event_type == ui::AX_EVENT_LOAD_COMPLETE &&
@@ -122,23 +122,25 @@ void BrowserAccessibilityManagerAndroid::NotifyAccessibilityEvent(
}
switch (event_type) {
- case ui::AX_EVENT_LOAD_COMPLETE:
- wcax->HandlePageLoaded(GetFocus()->unique_id());
- break;
+ case ui::AX_EVENT_LOAD_COMPLETE: {
+ auto* android_focused =
+ static_cast<BrowserAccessibilityAndroid*>(GetFocus());
+ wcax->HandlePageLoaded(android_focused->unique_id());
+ } break;
case ui::AX_EVENT_FOCUS:
- wcax->HandleFocusChanged(node->unique_id());
+ wcax->HandleFocusChanged(android_node->unique_id());
break;
case ui::AX_EVENT_CHECKED_STATE_CHANGED:
- wcax->HandleCheckStateChanged(node->unique_id());
+ wcax->HandleCheckStateChanged(android_node->unique_id());
break;
case ui::AX_EVENT_CLICKED:
- wcax->HandleClicked(node->unique_id());
+ wcax->HandleClicked(android_node->unique_id());
break;
case ui::AX_EVENT_SCROLL_POSITION_CHANGED:
- wcax->HandleScrollPositionChanged(node->unique_id());
+ wcax->HandleScrollPositionChanged(android_node->unique_id());
break;
case ui::AX_EVENT_SCROLLED_TO_ANCHOR:
- wcax->HandleScrolledToAnchor(node->unique_id());
+ wcax->HandleScrolledToAnchor(android_node->unique_id());
break;
case ui::AX_EVENT_ALERT:
// An alert is a special case of live region. Fall through to the
@@ -151,14 +153,14 @@ void BrowserAccessibilityManagerAndroid::NotifyAccessibilityEvent(
break;
}
case ui::AX_EVENT_TEXT_SELECTION_CHANGED:
- wcax->HandleTextSelectionChanged(node->unique_id());
+ wcax->HandleTextSelectionChanged(android_node->unique_id());
break;
case ui::AX_EVENT_TEXT_CHANGED:
case ui::AX_EVENT_VALUE_CHANGED:
if (android_node->IsEditableText() && GetFocus() == node) {
- wcax->HandleEditableTextChanged(node->unique_id());
+ wcax->HandleEditableTextChanged(android_node->unique_id());
} else if (android_node->IsSlider()) {
- wcax->HandleSliderChanged(node->unique_id());
+ wcax->HandleSliderChanged(android_node->unique_id());
}
break;
default:

Powered by Google App Engine
This is Rietveld 408576698