@@ -65,12 +65,13 @@ class AXRangePhysicalPixelRectDelegate : public AXRangeRectDelegate {
6565 AXNode::AXID node_id,
6666 int start_offset,
6767 int end_offset,
68+ ui::AXClippingBehavior clipping_behavior,
6869 AXOffscreenResult* offscreen_result) override {
6970 AXPlatformNodeDelegate* delegate = host_->GetDelegate (tree_id, node_id);
7071 BASE_DCHECK (delegate);
7172 return delegate->GetInnerTextRangeBoundsRect (
7273 start_offset, end_offset, ui::AXCoordinateSystem::kScreenPhysicalPixels ,
73- AXClippingBehavior:: kClipped , offscreen_result);
74+ clipping_behavior , offscreen_result);
7475 }
7576
7677 gfx::Rect GetBoundsRect (AXTreeID tree_id,
@@ -1517,14 +1518,14 @@ void AXPlatformNodeTextRangeProviderWin::TextRangeEndpoints::SetStart(
15171518 // IsNullPosition().
15181519 if (did_tree_change && start_->kind () != AXPositionKind::NULL_POSITION &&
15191520 start_->tree_id () != end_->tree_id ()) {
1520- RemoveObserver (start_);
1521+ RemoveObserver (start_-> tree_id () );
15211522 }
15221523
15231524 start_ = std::move (new_start);
15241525
15251526 if (did_tree_change && !start_->IsNullPosition () &&
15261527 start_->tree_id () != end_->tree_id ()) {
1527- AddObserver (start_);
1528+ AddObserver (start_-> tree_id () );
15281529 }
15291530}
15301531
@@ -1536,33 +1537,29 @@ void AXPlatformNodeTextRangeProviderWin::TextRangeEndpoints::SetEnd(
15361537 // IsNullPosition().
15371538 if (did_tree_change && end_->kind () != AXPositionKind::NULL_POSITION &&
15381539 end_->tree_id () != start_->tree_id ()) {
1539- RemoveObserver (end_);
1540+ RemoveObserver (end_-> tree_id () );
15401541 }
15411542
15421543 end_ = std::move (new_end);
15431544
15441545 if (did_tree_change && !end_->IsNullPosition () &&
15451546 start_->tree_id () != end_->tree_id ()) {
1546- AddObserver (end_);
1547+ AddObserver (end_-> tree_id () );
15471548 }
15481549}
15491550
15501551void AXPlatformNodeTextRangeProviderWin::TextRangeEndpoints::AddObserver (
1551- const AXPositionInstance& position) {
1552- auto tree = AXTreeManagerMap::GetInstance ()
1553- .GetManager (position->GetAnchor ()->tree ()->GetAXTreeID ())
1554- ->GetTree ();
1555- if (tree)
1556- tree->AddObserver (this );
1552+ const AXTreeID tree_id) {
1553+ AXTreeManager* ax_tree_manager = AXTreeManagerMap::GetInstance ().GetManager (tree_id);
1554+ BASE_DCHECK (ax_tree_manager);
1555+ ax_tree_manager->GetTree ()->AddObserver (this );
15571556}
15581557
15591558void AXPlatformNodeTextRangeProviderWin::TextRangeEndpoints::RemoveObserver (
1560- const AXPositionInstance& position) {
1561- auto tree = AXTreeManagerMap::GetInstance ()
1562- .GetManager (position->GetAnchor ()->tree ()->GetAXTreeID ())
1563- ->GetTree ();
1564- if (tree)
1565- tree->RemoveObserver (this );
1559+ const AXTreeID tree_id) {
1560+ AXTreeManager* ax_tree_manager = AXTreeManagerMap::GetInstance ().GetManager (tree_id);
1561+ if (ax_tree_manager)
1562+ ax_tree_manager->GetTree ()->RemoveObserver (this );
15661563}
15671564
15681565// Ensures that our endpoints are located on non-deleted nodes (step 1, case A
0 commit comments