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 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_H_ | 5 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_H_ |
6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_H_ | 6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 int end_offset); | 336 int end_offset); |
337 | 337 |
338 // Accessors. | 338 // Accessors. |
339 ui::AXTreeIDRegistry::AXTreeID ax_tree_id() const { return ax_tree_id_; } | 339 ui::AXTreeIDRegistry::AXTreeID ax_tree_id() const { return ax_tree_id_; } |
340 float device_scale_factor() const { return device_scale_factor_; } | 340 float device_scale_factor() const { return device_scale_factor_; } |
341 | 341 |
342 // AXTreeDelegate implementation. | 342 // AXTreeDelegate implementation. |
343 void OnNodeDataWillChange(ui::AXTree* tree, | 343 void OnNodeDataWillChange(ui::AXTree* tree, |
344 const ui::AXNodeData& old_node_data, | 344 const ui::AXNodeData& old_node_data, |
345 const ui::AXNodeData& new_node_data) override; | 345 const ui::AXNodeData& new_node_data) override; |
346 void OnTreeDataChanged(ui::AXTree* tree) override; | 346 void OnTreeDataChanged(ui::AXTree* tree, |
| 347 const ui::AXTreeData& old_tree_data, |
| 348 const ui::AXTreeData& new_tree_data) override; |
347 void OnNodeWillBeDeleted(ui::AXTree* tree, ui::AXNode* node) override; | 349 void OnNodeWillBeDeleted(ui::AXTree* tree, ui::AXNode* node) override; |
348 void OnSubtreeWillBeDeleted(ui::AXTree* tree, ui::AXNode* node) override; | 350 void OnSubtreeWillBeDeleted(ui::AXTree* tree, ui::AXNode* node) override; |
349 void OnNodeWillBeReparented(ui::AXTree* tree, ui::AXNode* node) override; | 351 void OnNodeWillBeReparented(ui::AXTree* tree, ui::AXNode* node) override; |
350 void OnSubtreeWillBeReparented(ui::AXTree* tree, ui::AXNode* node) override; | 352 void OnSubtreeWillBeReparented(ui::AXTree* tree, ui::AXNode* node) override; |
351 void OnNodeCreated(ui::AXTree* tree, ui::AXNode* node) override; | 353 void OnNodeCreated(ui::AXTree* tree, ui::AXNode* node) override; |
352 void OnNodeReparented(ui::AXTree* tree, ui::AXNode* node) override; | 354 void OnNodeReparented(ui::AXTree* tree, ui::AXNode* node) override; |
353 void OnNodeChanged(ui::AXTree* tree, ui::AXNode* node) override; | 355 void OnNodeChanged(ui::AXTree* tree, ui::AXNode* node) override; |
354 void OnAtomicUpdateFinished( | 356 void OnAtomicUpdateFinished( |
355 ui::AXTree* tree, | 357 ui::AXTree* tree, |
356 bool root_changed, | 358 bool root_changed, |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
436 | 438 |
437 // Factory to create BrowserAccessibility objects (for dependency injection). | 439 // Factory to create BrowserAccessibility objects (for dependency injection). |
438 std::unique_ptr<BrowserAccessibilityFactory> factory_; | 440 std::unique_ptr<BrowserAccessibilityFactory> factory_; |
439 | 441 |
440 // The underlying tree of accessibility objects. | 442 // The underlying tree of accessibility objects. |
441 std::unique_ptr<ui::AXSerializableTree> tree_; | 443 std::unique_ptr<ui::AXSerializableTree> tree_; |
442 | 444 |
443 // A mapping from a node id to its wrapper of type BrowserAccessibility. | 445 // A mapping from a node id to its wrapper of type BrowserAccessibility. |
444 base::hash_map<int32_t, BrowserAccessibility*> id_wrapper_map_; | 446 base::hash_map<int32_t, BrowserAccessibility*> id_wrapper_map_; |
445 | 447 |
446 // A queue of accessibility events to fire based on changes to the | 448 // A set of accessibility events to fire based on changes to the |
447 // accessibility tree. Each one is an event and a node id. | 449 // accessibility tree. It's represented as a map from node id |
448 std::vector<std::pair<ui::AXEvent, int32_t>> tree_events_; | 450 // to a set of events, which makes it easy to remove duplicates. |
| 451 std::map<int32_t, std::set<ui::AXEvent>> tree_events_; |
449 | 452 |
450 // True if the user has initiated a navigation to another page. | 453 // True if the user has initiated a navigation to another page. |
451 bool user_is_navigating_away_; | 454 bool user_is_navigating_away_; |
452 | 455 |
453 // The on-screen keyboard state. | 456 // The on-screen keyboard state. |
454 OnScreenKeyboardState osk_state_; | 457 OnScreenKeyboardState osk_state_; |
455 | 458 |
456 BrowserAccessibilityFindInPageInfo find_in_page_info_; | 459 BrowserAccessibilityFindInPageInfo find_in_page_info_; |
457 | 460 |
458 // These are only used by the root BrowserAccessibilityManager of a | 461 // These are only used by the root BrowserAccessibilityManager of a |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 // flakiness. See NeverSuppressOrDelayEventsForTesting() for details. | 501 // flakiness. See NeverSuppressOrDelayEventsForTesting() for details. |
499 static bool never_suppress_or_delay_events_for_testing_; | 502 static bool never_suppress_or_delay_events_for_testing_; |
500 | 503 |
501 private: | 504 private: |
502 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityManager); | 505 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityManager); |
503 }; | 506 }; |
504 | 507 |
505 } // namespace content | 508 } // namespace content |
506 | 509 |
507 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_H_ | 510 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_H_ |
OLD | NEW |