OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/accessibility/browser_accessibility_manager.h" | 5 #include "content/browser/accessibility/browser_accessibility_manager.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
451 find_in_page_info_.start_offset = start_offset; | 451 find_in_page_info_.start_offset = start_offset; |
452 find_in_page_info_.end_id = end_id; | 452 find_in_page_info_.end_id = end_id; |
453 find_in_page_info_.end_offset = end_offset; | 453 find_in_page_info_.end_offset = end_offset; |
454 | 454 |
455 if (find_in_page_info_.active_request_id == request_id) | 455 if (find_in_page_info_.active_request_id == request_id) |
456 ActivateFindInPageResult(request_id); | 456 ActivateFindInPageResult(request_id); |
457 } | 457 } |
458 | 458 |
459 void BrowserAccessibilityManager::OnChildFrameHitTestResult( | 459 void BrowserAccessibilityManager::OnChildFrameHitTestResult( |
460 const gfx::Point& point, | 460 const gfx::Point& point, |
461 int hit_obj_id) { | 461 int hit_obj_id, |
| 462 ui::AXEvent event_to_fire) { |
462 BrowserAccessibility* obj = GetFromID(hit_obj_id); | 463 BrowserAccessibility* obj = GetFromID(hit_obj_id); |
463 if (!obj || !obj->HasIntAttribute(ui::AX_ATTR_CHILD_TREE_ID)) | 464 if (!obj || !obj->HasIntAttribute(ui::AX_ATTR_CHILD_TREE_ID)) |
464 return; | 465 return; |
465 | 466 |
466 BrowserAccessibilityManager* child_manager = | 467 BrowserAccessibilityManager* child_manager = |
467 BrowserAccessibilityManager::FromID( | 468 BrowserAccessibilityManager::FromID( |
468 obj->GetIntAttribute(ui::AX_ATTR_CHILD_TREE_ID)); | 469 obj->GetIntAttribute(ui::AX_ATTR_CHILD_TREE_ID)); |
469 if (!child_manager || !child_manager->delegate()) | 470 if (!child_manager || !child_manager->delegate()) |
470 return; | 471 return; |
471 | 472 |
472 ui::AXActionData action_data; | 473 ui::AXActionData action_data; |
473 action_data.target_point = point; | 474 action_data.target_point = point; |
474 action_data.action = ui::AX_ACTION_HIT_TEST; | 475 action_data.action = ui::AX_ACTION_HIT_TEST; |
| 476 action_data.hit_test_event_to_fire = event_to_fire; |
475 return child_manager->delegate()->AccessibilityPerformAction(action_data); | 477 return child_manager->delegate()->AccessibilityPerformAction(action_data); |
476 } | 478 } |
477 | 479 |
478 void BrowserAccessibilityManager::ActivateFindInPageResult( | 480 void BrowserAccessibilityManager::ActivateFindInPageResult( |
479 int request_id) { | 481 int request_id) { |
480 find_in_page_info_.active_request_id = request_id; | 482 find_in_page_info_.active_request_id = request_id; |
481 if (find_in_page_info_.request_id != request_id) | 483 if (find_in_page_info_.request_id != request_id) |
482 return; | 484 return; |
483 | 485 |
484 BrowserAccessibility* node = GetFromID(find_in_page_info_.start_id); | 486 BrowserAccessibility* node = GetFromID(find_in_page_info_.start_id); |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
722 delegate_->AccessibilityPerformAction(action_data); | 724 delegate_->AccessibilityPerformAction(action_data); |
723 } | 725 } |
724 | 726 |
725 void BrowserAccessibilityManager::HitTest(const gfx::Point& point) { | 727 void BrowserAccessibilityManager::HitTest(const gfx::Point& point) { |
726 if (!delegate_) | 728 if (!delegate_) |
727 return; | 729 return; |
728 | 730 |
729 ui::AXActionData action_data; | 731 ui::AXActionData action_data; |
730 action_data.action = ui::AX_ACTION_HIT_TEST; | 732 action_data.action = ui::AX_ACTION_HIT_TEST; |
731 action_data.target_point = point; | 733 action_data.target_point = point; |
| 734 action_data.hit_test_event_to_fire = ui::AX_EVENT_HOVER; |
732 delegate_->AccessibilityPerformAction(action_data); | 735 delegate_->AccessibilityPerformAction(action_data); |
733 } | 736 } |
734 | 737 |
735 gfx::Rect BrowserAccessibilityManager::GetViewBounds() { | 738 gfx::Rect BrowserAccessibilityManager::GetViewBounds() { |
736 BrowserAccessibilityDelegate* delegate = GetDelegateFromRootManager(); | 739 BrowserAccessibilityDelegate* delegate = GetDelegateFromRootManager(); |
737 if (delegate) | 740 if (delegate) |
738 return delegate->AccessibilityGetViewBounds(); | 741 return delegate->AccessibilityGetViewBounds(); |
739 return gfx::Rect(); | 742 return gfx::Rect(); |
740 } | 743 } |
741 | 744 |
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1258 hit_test_result = parent; | 1261 hit_test_result = parent; |
1259 parent = parent->GetParent(); | 1262 parent = parent->GetParent(); |
1260 } | 1263 } |
1261 | 1264 |
1262 last_hover_ax_tree_id_ = hit_test_result->manager()->ax_tree_id(); | 1265 last_hover_ax_tree_id_ = hit_test_result->manager()->ax_tree_id(); |
1263 last_hover_node_id_ = hit_test_result->GetId(); | 1266 last_hover_node_id_ = hit_test_result->GetId(); |
1264 last_hover_bounds_ = hit_test_result->GetScreenBoundsRect(); | 1267 last_hover_bounds_ = hit_test_result->GetScreenBoundsRect(); |
1265 } | 1268 } |
1266 | 1269 |
1267 } // namespace content | 1270 } // namespace content |
OLD | NEW |