| 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 <vector> | 10 #include <vector> |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 | 131 |
| 132 ~BrowserAccessibilityManager() override; | 132 ~BrowserAccessibilityManager() override; |
| 133 | 133 |
| 134 void Initialize(const ui::AXTreeUpdate& initial_tree); | 134 void Initialize(const ui::AXTreeUpdate& initial_tree); |
| 135 | 135 |
| 136 static ui::AXTreeUpdate GetEmptyDocument(); | 136 static ui::AXTreeUpdate GetEmptyDocument(); |
| 137 | 137 |
| 138 virtual void NotifyAccessibilityEvent( | 138 virtual void NotifyAccessibilityEvent( |
| 139 ui::AXEvent event_type, BrowserAccessibility* node) { } | 139 ui::AXEvent event_type, BrowserAccessibility* node) { } |
| 140 | 140 |
| 141 // Checks whether focus has changed since the last time it was checked, |
| 142 // taking into account whether the window has focus and which frame within |
| 143 // the frame tree has focus. If focus has changed, calls FireFocusEvent. |
| 144 void FireFocusEventsIfNeeded(); |
| 145 |
| 146 // Return whether or not we are currently able to fire events. |
| 147 virtual bool CanFireEvents(); |
| 148 |
| 149 // Fire a focus event. Virtual so that some platforms can customize it, |
| 150 // like firing a focus event on the root first, on Windows. |
| 151 virtual void FireFocusEvent(BrowserAccessibility* node); |
| 152 |
| 141 // Return a pointer to the root of the tree, does not make a new reference. | 153 // Return a pointer to the root of the tree, does not make a new reference. |
| 142 BrowserAccessibility* GetRoot(); | 154 BrowserAccessibility* GetRoot(); |
| 143 | 155 |
| 144 // Returns a pointer to the BrowserAccessibility object for a given AXNode. | 156 // Returns a pointer to the BrowserAccessibility object for a given AXNode. |
| 145 BrowserAccessibility* GetFromAXNode(const ui::AXNode* node) const; | 157 BrowserAccessibility* GetFromAXNode(const ui::AXNode* node) const; |
| 146 | 158 |
| 147 // Return a pointer to the object corresponding to the given id, | 159 // Return a pointer to the object corresponding to the given id, |
| 148 // does not make a new reference. | 160 // does not make a new reference. |
| 149 BrowserAccessibility* GetFromID(int32_t id) const; | 161 BrowserAccessibility* GetFromID(int32_t id) const; |
| 150 | 162 |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 base::hash_map<int32_t, BrowserAccessibility*> id_wrapper_map_; | 384 base::hash_map<int32_t, BrowserAccessibility*> id_wrapper_map_; |
| 373 | 385 |
| 374 // True if the user has initiated a navigation to another page. | 386 // True if the user has initiated a navigation to another page. |
| 375 bool user_is_navigating_away_; | 387 bool user_is_navigating_away_; |
| 376 | 388 |
| 377 // The on-screen keyboard state. | 389 // The on-screen keyboard state. |
| 378 OnScreenKeyboardState osk_state_; | 390 OnScreenKeyboardState osk_state_; |
| 379 | 391 |
| 380 BrowserAccessibilityFindInPageInfo find_in_page_info_; | 392 BrowserAccessibilityFindInPageInfo find_in_page_info_; |
| 381 | 393 |
| 394 // These are only used by the root BrowserAccessibilityManager of a |
| 395 // frame tree. Stores the last focused node and last focused manager so |
| 396 // that when focus might have changed we can figure out whether we need |
| 397 // to fire a focus event. |
| 398 // |
| 399 // NOTE: these pointers are not cleared, so they should never be |
| 400 // dereferenced, only used for comparison. |
| 401 BrowserAccessibility* last_focused_node_; |
| 402 BrowserAccessibilityManager* last_focused_manager_; |
| 403 |
| 382 // The global ID of this accessibility tree. | 404 // The global ID of this accessibility tree. |
| 383 AXTreeIDRegistry::AXTreeID ax_tree_id_; | 405 AXTreeIDRegistry::AXTreeID ax_tree_id_; |
| 384 | 406 |
| 385 // If this tree has a parent tree, this is the cached ID of the parent | 407 // If this tree has a parent tree, this is the cached ID of the parent |
| 386 // node within that parent tree. It's computed as needed and cached for | 408 // node within that parent tree. It's computed as needed and cached for |
| 387 // speed so that it can be accessed quickly if it hasn't changed. | 409 // speed so that it can be accessed quickly if it hasn't changed. |
| 388 int parent_node_id_from_parent_tree_; | 410 int parent_node_id_from_parent_tree_; |
| 389 | 411 |
| 390 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityManager); | 412 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityManager); |
| 391 }; | 413 }; |
| 392 | 414 |
| 393 } // namespace content | 415 } // namespace content |
| 394 | 416 |
| 395 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_H_ | 417 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_H_ |
| OLD | NEW |