| Index: content/browser/accessibility/browser_accessibility_manager.cc
|
| diff --git a/content/browser/accessibility/browser_accessibility_manager.cc b/content/browser/accessibility/browser_accessibility_manager.cc
|
| index 144d5c13dac47d18ad6a6b8c312bb0adfcc8e21b..b5a9a5879884d4b37a606e46efab8b81e3c514a8 100644
|
| --- a/content/browser/accessibility/browser_accessibility_manager.cc
|
| +++ b/content/browser/accessibility/browser_accessibility_manager.cc
|
| @@ -136,7 +136,9 @@ BrowserAccessibilityManager::BrowserAccessibilityManager(
|
| last_focused_manager_(nullptr),
|
| connected_to_parent_tree_node_(false),
|
| ax_tree_id_(ui::AXTreeIDRegistry::kNoAXTreeID),
|
| - parent_node_id_from_parent_tree_(0) {
|
| + parent_node_id_from_parent_tree_(0),
|
| + device_scale_factor_(1.0f),
|
| + use_custom_device_scale_factor_for_testing_(false) {
|
| tree_->SetDelegate(this);
|
| }
|
|
|
| @@ -152,7 +154,9 @@ BrowserAccessibilityManager::BrowserAccessibilityManager(
|
| last_focused_node_(nullptr),
|
| last_focused_manager_(nullptr),
|
| ax_tree_id_(ui::AXTreeIDRegistry::kNoAXTreeID),
|
| - parent_node_id_from_parent_tree_(0) {
|
| + parent_node_id_from_parent_tree_(0),
|
| + device_scale_factor_(1.0f),
|
| + use_custom_device_scale_factor_for_testing_(false) {
|
| tree_->SetDelegate(this);
|
| Initialize(initial_tree);
|
| }
|
| @@ -336,6 +340,10 @@ bool BrowserAccessibilityManager::UseRootScrollOffsetsWhenComputingBounds() {
|
|
|
| void BrowserAccessibilityManager::OnAccessibilityEvents(
|
| const std::vector<AXEventNotificationDetails>& details) {
|
| + // Update the cached device scale factor.
|
| + if (delegate_ && !use_custom_device_scale_factor_for_testing_)
|
| + device_scale_factor_ = delegate_->AccessibilityGetDeviceScaleFactor();
|
| +
|
| // Process all changes to the accessibility tree first.
|
| for (uint32_t index = 0; index < details.size(); ++index) {
|
| const AXEventNotificationDetails& detail = details[index];
|
| @@ -1199,6 +1207,12 @@ BrowserAccessibilityManager::SnapshotAXTreeForTesting() {
|
| return update;
|
| }
|
|
|
| +void BrowserAccessibilityManager::UseCustomDeviceScaleFactorForTesting(
|
| + float device_scale_factor) {
|
| + use_custom_device_scale_factor_for_testing_ = true;
|
| + device_scale_factor_ = device_scale_factor;
|
| +}
|
| +
|
| BrowserAccessibility* BrowserAccessibilityManager::CachingAsyncHitTest(
|
| const gfx::Point& screen_point) {
|
| BrowserAccessibilityManager* root_manager = GetRootManager();
|
|
|